单纯形法只有两个约束条件_10分钟掌握对偶单纯形法
只聽名字的話會(huì)感覺對(duì)偶單純形法和對(duì)偶問題關(guān)系很大,其實(shí)不然(想要了解對(duì)偶問題的話可以看我之前的文章)。對(duì)偶單純形法在我看來和大M法以及兩階段法很像,都是用來補(bǔ)充純粹的單純形法無法解決特殊問題的缺陷。而且對(duì)偶單純形法更加“強(qiáng)大”,因?yàn)樗梢栽诘仁接叶?b)為負(fù)值時(shí)直接求解,這也是選擇使用它的大多數(shù)場(chǎng)景。
接下來以下圖中題為例直接進(jìn)行講解:
設(shè):對(duì)偶法 = 對(duì)偶單純形法第一步:?與單純形法一樣,對(duì)偶法第一步仍然是要化成標(biāo)準(zhǔn)形式,但是注意這里化成標(biāo)準(zhǔn)形式時(shí)和單純形法不同。由于對(duì)偶法計(jì)算時(shí)等式右端可以為負(fù)值,所以為了簡(jiǎn)化計(jì)算,統(tǒng)一將不等式符號(hào)化為“<=”,也就是只添加松弛變量。即原式化為:
相應(yīng)的單純形表:
判斷對(duì)偶法為最優(yōu)解的方法:左下值(b值)全為正數(shù)(也就是-4,8,-2那里),以及檢驗(yàn)數(shù)全為非正。
第二步:?如果該基本解不是最優(yōu)解那么就要進(jìn)行換基迭代,但是對(duì)偶法的迭代法和單純形法的方式不太一樣。回憶下單純形法的迭代方式(這里以min類型函數(shù)為例,我一般都是這樣寫):①找檢驗(yàn)數(shù)中最大的值(假如以上圖中的單純形表為例),這里要找的值就是-1,然后用x4,x5,x6對(duì)應(yīng)的b值去除以相應(yīng)的-1下的每一行數(shù)(-4/-1,8/1),注意下我沒有寫-2/0,因?yàn)楫?dāng)要除的數(shù)為0時(shí)一般就不考慮將該x換出的可能了。然后根據(jù)計(jì)算出的數(shù)值(4,8)取其中最小的數(shù)所對(duì)應(yīng)的x,并將其做出基處理。接著說對(duì)偶法的換基迭代方式?,與單純法所考慮的重點(diǎn)不同,對(duì)偶法主要目的是要將b值全部化為正數(shù),因此要優(yōu)先考慮將b值中最小的數(shù)做出基處理,這里選的值為-4,然后用檢驗(yàn)數(shù)除以該行對(duì)應(yīng)的相應(yīng)列的數(shù)(-1/-1,-3/-1),注意這里除的時(shí)候只有兩個(gè)需要考慮,因?yàn)樽龀龜?shù)的值必須要為負(fù)值,否則不考慮入基的情況(被除數(shù)÷除數(shù)),取最小的值做入基處理,即本題選的是-1,也就是x1。然后進(jìn)行初等行變換即可,如果達(dá)不到最優(yōu)解的條件就要繼續(xù)換基迭代。
剩余步驟如下:
因?yàn)閎值全都非負(fù),得最優(yōu)單純形表,所以得原問題得最優(yōu)解為x1?= 6,x2?= 2,x3?= 0,最優(yōu)值為S = 10.
下面再舉一個(gè)例子,并附上對(duì)應(yīng)步驟:
得原問題的最優(yōu)解為 x1?= 11/5,x2?= 2/5,x3?= 3;最優(yōu)值為 w = 28/5。
原創(chuàng)不易,你的鼓勵(lì)是最大的支持。(約耗時(shí)1小時(shí)30分鐘)
總結(jié)
以上是生活随笔為你收集整理的单纯形法只有两个约束条件_10分钟掌握对偶单纯形法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea使用ant配置_Linux下Je
- 下一篇: sap 用户权限表_干货丨SAP系统的R