線性規劃與整數規劃小結

線性規劃

1 線性規劃問題 以及可行域與基本可行解
(1)一般形式 :
minZminZ =C1C_1X1X_1+ C2C_2X2X_2+C3C_3X3X_3+…+CnC_nXnX_n
a11a_{11}x1x_1+a12a_{12}x2x_2+a13a_{13}x3x_3+…+a1na_{1n}xnx_n=b1b1

am1a_{m1}x1x_1+am2a_{m2}x2x_2+…+amna_{mn}xnx_n>=bmbm
xjx_{j}>=0 ,jj=1,2,3…qq,xjx_{j}無限制 ,jj=qq…n

(2)標準型是約束方程爲等號,所有的變量取非負數。對於非負的約束可以通 過引入剩餘變量或者鬆弛變量變爲等式,對於無限制的變量可以轉化爲兩個正的變量相減的形式。將目標函數轉化爲minmin 的形式。

(3) 可行解:滿足所有的約束條件的向量(x1x2...xnx_{1} x_{2}...x_{n}T^T
可行域 :可行解的集合
最優解 可行域中目標函數最優的可行解
(4)基本可行解與基本定理
分塊 ,分爲滿秩矩陣B ,以及矩陣N ,由AX =b 得到BxBx_{B}+NxNx_{N}=b
xBx_{B}=B1bB^{-1}b-B1NxNB^{-1}Nx_{N}
xN=0x_{N}=0 ,得到了一組解。
基與基向量:設B是秩爲m的約束矩陣的A的一個m階滿秩子方陣,B中的列向量稱爲基向量
基變量 基向量對應的變量稱爲基變量,同理稱爲非基變量
基本可行解 當xBx_{B}>=0 時爲基本可行解
(最優解一定是可行解,但不一定是基本可行解,也不一定是基本解)
總結
如果基本可行解的個數有限,可以在基本可行解中尋找最優解

2單純形表法
主要的思路: 先尋找一個基本可行解,判斷是不是最優解,如果不是就尋找一個更好的可行解,如此迭代直到找到最優解或者是問題無界。
首先尋找一個基本可行解:
xBx_{B}+B1NxN=B1bB^{-1}Nx_{N}=B^{-1}b
cTx=cBTxB+cNTxNc^{T}x=c^{T}_{B}x_{B}+c^{T}_{N}x_{N} (1)
令B對應的檢驗數爲0,對應的目標函數可以寫爲cBTB1bγTc_{B}^{T}B^{-1}b-\gamma^{T}
其中γT=(γBT,γNT)\gamma^{T}=(\gamma^{T}_{B},\gamma_{N}^{T})
從以上的式子中看出當γNT\gamma^{T}_{N}中的係數是小於0 是最優的。
所以根據第一個知識點的回顧,首先將問題轉化爲標準型的問題,將目標函數中基變量的係數變爲0,找到一個基本可行解之後判斷是不是最優的,方法很簡單看目標函數中的非基變量的係數是不是負的,如果不是那麼進行迭代。最終得到最優解,或者是無界。
上述的證明中其實就包含了主要的思路。

3兩階段法
當轉化爲典式後,基變量不好確定時候可以使用添加人工變量的方式找到這個秩。
引入輔助問題 minmin g=i=n+1n+mxig=\sum_{i=n+1}^{n+m}x_{i}
s.t.{Ax+xa=bx0xa0(1)s.t.\begin{cases} Ax+x_{a}=b \\ x \geq 0 \quad x_{a}\geq0 \end{cases}\tag{1}
對於輔助問題也是有要求最優值的,先給出輔助問題與原問題之間的關係
給出
如果原問題是最優解的話,輔助問題是的最優值是0,反之也是成立的。
求解輔助問題lplp會得到以下的情況:
(1)問題gg的最優解是0,並且人工變量是 非基變量,那麼對應到原問題就是有最優解的。
(2)輔助問題的最優解>0 原問題是沒有基本可行解的,
(3)輔助問題Lp的最優解等於0,但是存在人工變量是基變量,這種需要進一步的判斷。
此時假設人工變量xrx_{r}是基變量(n+1<r<n+mn+1<r<n+m),只需要考察前n個元素即可。對應的這一行中的元素要麼是都是0,要麼不全是0, 如果全部是0,那麼前n 元素對應的秩不再是m,是m-1,此時可以直接去掉這一行的約束,(係數都是0,這個方程是沒有原問題的約束的),如果是不全爲0 ,只能是在n 個元素中找個變量成爲基變量,此時在對應的行找到一個元素,記爲arsa_{rs} ,這個元素是可以小於0的,是因爲對應的brb_{r}是必然的爲0,現在arsa_{rs}作爲基變量出現也會是0,綜上使用這兩種方法終於會找到基本可行解。但是對於原問題不一定是最優解,可能需要使用單純形表法進一步求解。

4對偶性以及對偶單純形法
個人還是比較喜歡對偶性法的,根據線性代數的知識對於一個n*m階的矩陣是可以找到滿秩方陣的,但是由於bb是具有限制的,引入了兩階段法,在這個部分中又引入了對偶形法。
首先引入對偶問題的形式,
mincTxminc^{T}x

s.t.{Ax=bx0(1)s.t.\begin{cases} Ax=b \\ x \geq 0 \quad \end{cases}\tag{1}

maxwTbmax\quad w^{T}b
s.t.{wTbcTw(2)s.t.\begin{cases} w^{T}b\leq c^{T} \\ w 無限制 \end{cases}\tag{2}
直接給出結論:通過一個問題的最優解可以得到另一個問題的最優解。
給定一個原問題,可以得到對偶問題。
(1)由約束看變量,約束的符號是\geq 對偶問題的符號是\leq ,約束的符號是\leq ,對偶問題 的符號是\geq,是等於的話是嚴格的無限制。
(2)由變量看約束,符號相反
(3)bbcc ,ccbb
原問題與對偶問題的互補鬆緊性:
(1)如果一個問題的非負變量是正的,那麼另外一個的約束 是==
(2) 一個問題的約束是嚴格的不等式,那麼是另一個的變量是等於0
類比單純形表的方法,得到對偶形法。
對偶單純形表法是保證檢驗數爲負,bb由負到正的過程迭代,在選擇出基的向量時候,如果brb_{r}對應的arja_{rj}都是0\geq0 ,那麼沒有可行解。

5靈敏度分析
這裏這是考慮改變c,bc,b
改變c 需要考慮是不是基變量
對於非基的情況較爲簡單,因爲不會涉及到最優解,檢驗數是變爲原來的-新的,之後繼續求解。
當是基變量時候: 將單純形表中對應的第ll個約束乘以c,c^,-cc 加到目標函數中,再令對應的元素爲0,就可以得到新的單純形表,再進一步求解。
改變右端向量bb的時候,那麼最優解要變了。需要先求解以下BB 的逆矩陣,由上面的內容可以看出是和檢驗數沒有關係的。計算B1bB^{-1}b^{'},cBTB1bc_{B}^{T}B^{-1}b^{'} ,此時可以使用對偶形法求解問題。

整數規劃

引言:
整數規劃是對線性規劃的特殊的情況,顧名思義,是要求基本可行解都爲正整數。有兩種方法是合適的。
(1)Gomory 割平面法(以下簡稱割平面法)
可以這樣說整數規劃的最優值是小於等於線性規劃最優值的,如果線性規劃是有最優值的。同理如果線性規劃是沒有可行解的,那麼整數規劃是沒有可行解的。因此完全可以先求對應的線性規劃。
假設bjb_{j}不是整數 對應的約束是XB(l)+aijxj=bjX_{B(l)}+\sum a_{ij}x_{j}=b_{j}
通過分離整數部分與小數部分得到新的約束,使用對偶單純形法求解。

(2)分枝定界法
這種方法在求解混整數規劃尤爲好用。先找最優解,根據是整數將可行域進行劃分。假設是p1,p2 求解p1,p2的最優解,重複上面的操作。

小結:
最簡單還是圖解法,如果直接的圖解法困難,嘗試對偶的,如果還不行就老老實實計算就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章