單純形法人工變數和鬆弛變數,剩餘變數的區別

2021-10-16 12:25:42 字數 1566 閱讀 3348

將一般形式的線性規劃模型變為標準形式的三個步驟:

決策變數非負化

約束條件等式化

目標函式最大化

然後我們要尋找乙個初始可行解,但是有些時候完成標準化的模型並不能照當初始解。如:

max ⁡z

=x1+

x2

\max z=x_+x_ \\ \left\ 2x_+ x_ \leq 6 \\ x_+2 x_ \geq 8 \\ x_ = 2 \end\right. \end

maxz=x

1​+x

2​⎩⎨

⎧​2x

1​+x

2​≤6

x1​+

2x2​

≥8x2

​=2​

​變換:

max ⁡z

=x1+

x2

\max z=x_+x_ \\ \left\ 2x_+ x_ + x_= 6 \\ x_+2 x_ -x_= 8 \\ x_ = 2 \end\right. \end

maxz=x

1​+x

2​⎩⎨

⎧​2x

1​+x

2​+x

3​=6

x1​+

2x2​

−x4​

=8x2

​=2​

​新增的x3,

x4

x_,x_

x3​,x4

​分別為鬆弛變數和剩餘變數,但是此時無法找到乙個合適的初始解,於是我們引入人工變數的概念:在已經是等式的條件下,為了湊得單位子矩陣人為加入的新變數,如果其值不為0,說明相應的條件沒有被滿足,故如果是可行解必須保證所有人工變數為0。新增的方法:

4. 如果原先是≤

\leq

≤,左邊加上非負鬆弛變數。

5. 如果原先是≥

\geq

≥,左邊減去非負剩餘變數,再加上非負人工變數。

6. 如果原先是=

==,左邊加上非負人工變數。

7. 令在目標函式中的鬆弛和剩餘變數係數為0,人工變數為−m-m

−mmax ⁡z

=x1+

x2−m

1x5−

m2x6

\max z=x_+x_-m_1x_-m_2x_ \\ \left\ 2x_+ x_ + x_= 6 \\ x_+2 x_ -x_+x_= 8 \\ x_ +x_= 2 \\ x_i \geq 0(i=1,2...6) \end\right. \end

maxz=x

1​+x

2​−m

1​x5

​−m2

​x6​

⎩⎪⎪⎨

⎪⎪⎧​

2x1​

+x2​

+x3​

=6x1

​+2x

2​−x

4​+x

5​=8

x2​+

x6​=

2xi​

≥0(i

=1,2

...6

)​​m

mm意為很大的整數。這就是所謂大m法。

單純形法簡介

考慮目標函式,ma xz 3 x1 4 x2增加x1 和x2 的值都將改進 z 的值,單純形法的設計要求每次都選擇使 z值有最大改善的那個變數。意味著在上述目標函式中,首先選擇增加x2 的值。通過對問題約束施加以下兩項要求來方便單純形法的計算 1.所有的約束都是等式,並且具有非負右端項 2.所有變數...

C語言實現單純形法與對偶單純形法

某次為了完成課程要求所做 單純形法 如下,使用方法修改二位陣列a ip jp include define ip 3 define jp 7 int i,j,m,n,flag 1 float max 1 min 1000 guiyi float c jp 1 float a ip jp float ...

單純形法中大m法 單純形法(大M法)

function x,fval,flag,iteration original m c,a,b 原始單純形法 大m法,無需給出初始基變數 programmed by liyang faruto s studio bnu math last modified 2008.4.27 求解標準型線性規劃 m...