將一般形式的線性規劃模型變為標準形式的三個步驟:
決策變數非負化
約束條件等式化
目標函式最大化
然後我們要尋找乙個初始可行解,但是有些時候完成標準化的模型並不能照當初始解。如:
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
1x5
−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...