什么是線性規划:
線性規划就是特殊的有約束優化問題,目的是通過一組線性等式或者不等式下得可行集合點,來尋找一個目標函數的極值;
通常來說,極值可以是極大極小,但是一般采用極小,看到相關的案例,求極大值直接前面加負號變為極小值即可;
線性規划的基本問題形式:
線性規划問題可以采用最基本的數學符號進行描述:
minimize cTx
subject to Ax=b
x>=0;
對於上述可以這樣理解,對於某個參數向量x,所滿足的可行域條件為Ax=b,也成為約束方程,可行域內點集由該方程組確定,其中值得注意的是可行域條件不一定為等式,只需要線性即可;
cTx為目標等式,兩個都為向量,所以值為一個單值,旨在找到一個極小值,使得滿足minimize的要求;
因此,對於任何的問題,都可以轉為標准的問題形式進行求解;
其中,比較有意思的是約束條件實際定義了求解的維數,也就是如何直觀的通過對x的選擇,使得cTx最大;
如果從空間思想來考慮,就可以分為簡單二維和三位情況下的最優化;
如果是簡單的二維情況:
cTx相當於ax1+bx2,相當於二維平面上的一條直線,其中要求的是如何選定x1,x2的值,使得k=ax1+bx2存在最大最小值(因為向量c相當於已經確定了斜率);
而約束條件也為圍成的一系列可行域,在二維平面內選擇點,使得k=ax1+bx2最大,也就是和x2軸交點值最大;
如下圖所示,書上也給了一個很好的例子:
而對於多維情況,則需要涉及凸多面體問題:
cTx中的c的個數已經限定了多維空間下n的目標函數;
約束條件Ax=b,其中A為m*n維數向量,定義了m個超平面所圍成的一個凸多面體,並且假設該多面體非空有界;
書上討論了很多種情況,例如多面體超平面的維數問題;
但是這里還是說一下常規的轉換求法;
根據cTx得到一個超平面cTx=0;
找到一個支撐超平面cTx=β,使得整個胞體M在半平面,且M和超平面交集為M';
所以無論任何屬於負半區的點y,都會有cTy<β;
而任何屬於M’的點y,都有cTy=β;
所以可得到支撐超平面的點是極值點,同樣如果支撐超平面為單點情況下,仍然適用;
線性規划問題的標准型:
對於標准型,和之前談到的基本形式類似,實對所有高維線性規划下的問題做一個基本的形式定義;
minimize cTx
subject to Ax=b
x>=0
值得注意的是Ax=b的條件,所有大於等於的線性條件都應該轉為等於進行討論,個人認為是使得所構成的解集范圍是多胞體而非多個超平面圍成的范圍;
而對於非標准形式,往往有Ax>=b或者Ax<=b,所以通過變換來變成一般的標准形式;
其中注意下不同的說辭,Ax>=b,Ax<=b,無非就是加減y而已,保持y>=0即可,兩種情況稱之為剩余變量y和松弛變量y,名字記不記住感覺無傷大雅;
基本解:
當給出線性規划的基本形式之后,就可以對基本解進行構造;
總的來說,解和傳統的線性齊次、非齊次方程組不同,主要關注兩個類型:
1.基本解;
2.可行解;
兩者其實有交集,交集的形式為基本可行解;
基本解求法:
可行解求法:
可行解本質就是滿足標准形式的解,也就是滿足Ax=b,且x>=0的解,兩個條件缺一不可;
而基本可行解就是既為基本解滿足x>=0的解;
對於書上,有給出的相關例題,說明怎么求解可行解和基本解:
基本解的性質:
最優可行解:能夠使得目標函數cTx取最小值的解;
最優基本可行解:該最有可行解為基本解;
其中對於線性規划來說,有挺重要的一條性質:
1.如果存在可行解,則一定存在基本可行解;
2.如果存在最優可行解,則必定存在最優基本可行解;
基本可行解的實際意義:
如果對於一個凸集,求目標函數極值,則必定取值點必定是凸集上的極點,對應的就是可行基本解;
所以最后只需要尋找可行基本解中哪一個可以使得目標函數cTx最大(最小),就可以得到最優基本可行解;
【注意】關於為什么要找極點:
根據前面二維推廣至多維的推導,都是根據支撐超平面來進行極值尋找,所以找極值點也就相當於找使得距離原點超平面最遠的支撐超平面;
所以有定理:
如若存在一個可行解組成的凸集,集合中的所有n維向量x滿足Ax=b,x>=0,其中A維m*n維向量,則x是凸集中的極值點當且僅當x是Ax=b,x>=0的基本可行解;
證明過程如下所示: