日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最优化——单纯形法,单纯形表的求取

發布時間:2024/10/14 编程问答 303 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最优化——单纯形法,单纯形表的求取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最優化——單純形法

一般性線性規劃標準型為對象總結其基本步驟
max?zs.t.?P1x1+P2x2+?+Pnxn=b????(1)c1x1+c2x2+?+cnxn=z???(2)xj≥0,?1≤j≤n\begin{array}{ll} \max & z \\ \text { s.t. } & P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b}---(1) \\ & c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{n} x_{n}=z ---(2)\\ & x_{j} \geq 0, \forall 1 \leq j \leq n \end{array} max?s.t.??zP1?x1?+P2?x2?+?+Pn?xn?=b???(1)c1?x1?+c2?x2?+?+cn?xn?=z???(2)xj?0,?1jn?

步驟一:求廣義基本可行解

已知一個可逆方陣 B=(Pj(1),Pj(2),?,Pj(m))B=\left(P_{j(1)}, P_{j(2)}, \cdots, P_{j(m)}\right)B=(Pj(1)?,Pj(2)?,?,Pj(m)?) 滿足
B?1b?≥0B^{-1} \vec{b} \geq 0 B?1b0
其中 1≤j(i)≤n,?1≤i≤m,1 \leq j(i) \leq n, \forall 1 \leq i \leq m,1j(i)n,?1im,BBB 是線性規劃標準型 的可行基陣

BBB可以把線性約束(1)P1x1+P2x2+?+Pnxn=b?P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b}P1?x1?+P2?x2?+?+Pn?xn?=b改寫為
?(Pj(1),?,Pj(m))(xj(1)?xj(m))+Pj(m+1)xj(m+1)+?+Pj(n)xj(n)=b??(xj(1)?xj(m))+(B?1Pj(m+1))xj(m+1)+?+(B?1Pj(n))xj(n)=B?1b?\begin{array}{l} \Leftrightarrow\left(P_{j(1)}, \cdots, P_{j(m)}\right)\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+P_{j(m+1)} x_{j(m+1)}+\cdots+P_{j(n)} x_{j(n)}=\vec{b} \\ \Leftrightarrow \quad\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+\left(B^{-1} P_{j(m+1)}\right) x_{j(m+1)}+\cdots+\left(B^{-1} P_{j(n)}\right) x_{j(n)}=B^{-1} \vec{b} \end{array} ?(Pj(1)?,?,Pj(m)?)????xj(1)??xj(m)??????+Pj(m+1)?xj(m+1)?+?+Pj(n)?xj(n)?=b?????xj(1)??xj(m)??????+(B?1Pj(m+1)?)xj(m+1)?+?+(B?1Pj(n)?)xj(n)?=B?1b?
可以得到一個基本可行解X=(x1...xn)TX=(x_1...x_n)^TX=(x1?...xn?)T的表達式:

XB=(xj(1)?xj(m)),(xj(m+1)...xj(n))=0X_{B}=\left(\begin{array}{c}x_{j(1)} \\ \vdots \\ x_{j(m)}\end{array}\right),(x_{j(m+1)}...x_{j(n)})=0XB?=????xj(1)??xj(m)??????,(xj(m+1)?...xj(n)?)=0

對應線性約束的表達式變為如下:
XB+P^j(m+1)xj(m+1)+?+P^j(n)xj(n)=P^n+1???(3)X_{B}+\hat{P}_{j(m+1)} x_{j(m+1)}+\cdots+\hat{P}_{j(n)} x_{j(n)}=\hat{P}_{n+1}---(3) XB?+P^j(m+1)?xj(m+1)?+?+P^j(n)?xj(n)?=P^n+1????3
其中P^j=B?1Pj=(p^1j?p^mj),?1≤j≤n,P^n+1=B?1b?\hat P_j=B^{-1}P_j=\left(\begin{array}{c}\hat{p}_{1 j} \\ \vdots \\ \hat{p}_{m j}\end{array}\right), \forall 1 \leq j \leq n,\hat{P}_{n+1}=B^{-1} \vec{b}P^j?=B?1Pj?=????p^?1j??p^?mj??????,?1jn,P^n+1?=B?1b

步驟二:求檢驗數

CB=(cj(1),?,cj(m))T,C_{B}=\left(c_{j(1)}, \cdots, c_{j(m)}\right)^{T},CB?=(cj(1)?,?,cj(m)?)T,

CBC_{B}CB?左乘(3) 得 CBTXB+CBTP^j(m+1)xj(m+1)+?+CBTP^j(n)xj(n)=CBTP^n+1???(4)C_{B}^{T} X_{B}+C_{B}^{T} \hat{P}_{j(m+1)} x_{j(m+1)}+\cdots+C_{B}^{T} \hat{P}_{j(n)} x_{j(n)}=C_{B}^{T} \hat{P}_{n+1}---(4)CBT?XB?+CBT?P^j(m+1)?xj(m+1)?+?+CBT?P^j(n)?xj(n)?=CBT?P^n+1????(4)

目標函數(2)用CBC_{B}CB?可以寫成: CBTXB+cj(m+1)xj(m+1)+?+cj(n)xj(n)=z???(5)C_{B}^{T} X_{B}+c_{j(m+1)} x_{j(m+1)}+\cdots+c_{j(n)} x_{j(n)}=z---(5)CBT?XB?+cj(m+1)?xj(m+1)?+?+cj(n)?xj(n)?=z???(5)

用(5)-(4)得:
z?CBTP^n+1=(cj(m+1)?CBTP^j(m+1))xj(m+1)+?+(cj(n)?CBTP^j(n))xj(n)???(6)z?z^=σj(m+1)xj(m+1)+?+σj(n)xj(n)???(7)\begin{array}{c} z-C_{B}^{T} \hat{P}_{n+1}=\left(c_{j(m+1)}-C_{B}^{T} \hat{P}_{j(m+1)}\right) x_{j(m+1)}+\cdots+\left(c_{j(n)}-C_{B}^{T} \hat{P}_{j(n)}\right) x_{j(n)}---(6) \\ z-\hat{z}=\sigma_{j(m+1)} x_{j(m+1)}+\cdots+\sigma_{j(n)} x_{j(n)}---(7) \end{array}z?CBT?P^n+1?=(cj(m+1)??CBT?P^j(m+1)?)xj(m+1)?+?+(cj(n)??CBT?P^j(n)?)xj(n)????(6)z?z^=σj(m+1)?xj(m+1)?+?+σj(n)?xj(n)????(7)?
CBTP^n+1C_{B}^{T} \hat{P}_{n+1}CBT?P^n+1?就是第一步中XXX所求得的一個可行基本解的目標函數值z^\hat{z}z^,這個可以把XB=(xj(1)?xj(m)),(xj(m+1)...xj(n))=0X_{B}=\left(\begin{array}{c}x_{j(1)} \\ \vdots \\ x_{j(m)}\end{array}\right),(x_{j(m+1)}...x_{j(n)})=0XB?=????xj(1)??xj(m)??????,(xj(m+1)?...xj(n)?)=0帶入(4)和(5)就可以看出來。

步驟三:得到單純形表

其中 (P^j(1),?,P^j(m))=Im,z^=CBTP^n+1=CBTB?1b?\left(\hat{P}_{j(1)}, \cdots, \hat{P}_{j(m)}\right)=I_{m}, \hat{z}=C_{B}^{T} \hat{P}_{n+1}=C_{B}^{T} B^{-1} \vec{b}(P^j(1)?,?,P^j(m)?)=Im?,z^=CBT?P^n+1?=CBT?B?1b

σj=cj?CBTP^j=cj?CBTB?1Pj,?1≤j≤n\sigma_{j}=c_{j}-C_{B}^{T} \hat{P}_{j}=c_{j}-C_{B}^{T} B^{-1} P_{j}, \quad \forall 1 \leq j \leq nσj?=cj??CBT?P^j?=cj??CBT?B?1Pj?,?1jn

σ1,?,σn\sigma_{1}, \cdots, \sigma_{n}σ1?,?,σn? 為檢驗數,可看出基變量檢驗數等于0

總結

以上是生活随笔為你收集整理的最优化——单纯形法,单纯形表的求取的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。