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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【运筹学】线性规划数学模型 ( 单纯形法原理 | 单纯形法流程 | 查找初始基可行解 )

發(fā)布時(shí)間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【运筹学】线性规划数学模型 ( 单纯形法原理 | 单纯形法流程 | 查找初始基可行解 ) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、單純形法原理
  • 二、單純形法流程
  • 三、初始的基可行解查找





一、單純形法原理



單純形法的理論基礎(chǔ) :


定理 111 ( 可行域是凸集 ) : 如果線性規(guī)劃的問(wèn)題 存在可行解 , 其 可行域 必定是 凸集 ;

定理 222 ( 基可行解是凸集頂點(diǎn) ) : 線性規(guī)劃的 基可行解 XBX_BXB? 對(duì)應(yīng)了上述 可行域 ( 凸集 ) 的頂點(diǎn)位置 ;

定理 333 ( 某個(gè)基可行解是最優(yōu)解 ) : 如果線性規(guī)劃問(wèn)題 存在最優(yōu)解 , 那么 一定存在一個(gè)基可行解是最優(yōu)解 ;


參考上一篇博客 【運(yùn)籌學(xué)】線性規(guī)劃 圖解法 ( 唯一最優(yōu)解 | 無(wú)窮最優(yōu)解 | 無(wú)界解 | 無(wú)可行解 ) 進(jìn)行分析 :


給定線性規(guī)劃 :

maxZ=2x1+x2s.t={x1+1.9x2≥3.8x1?1.9x2≤3.8x1+1.9x2≤10.2x1?1.9x2≥?3.8x1,x2≥0\begin{array}{lcl} max Z = 2x_1 + x_2\\\\ s.t = \begin{cases} x_1 + 1.9x_2 \geq 3.8\\\\ x_1 - 1.9x_2 \leq 3.8\\\\ x_1 + 1.9x_2 \leq 10.2\\\\ x_1 - 1.9x_2 \geq -3.8\\\\ x_1 , x_2 \geq 0 \end{cases} \end{array}maxZ=2x1?+x2?s.t=??????????????????????????????????x1?+1.9x2?3.8x1??1.9x2?3.8x1?+1.9x2?10.2x1??1.9x2??3.8x1?,x2?0??


使用圖解法進(jìn)行分析 , 得到如下結(jié)果 ;

使用迭代的思想進(jìn)行求解 :

  • 無(wú)限個(gè)解中迭代 : 上圖中的 可行域 DDD 中的點(diǎn)是無(wú)限的 , 可以在所有的無(wú)限個(gè)可行域 DDD 解中進(jìn)行迭代 , 逐個(gè)迭代很難 ;

  • 有限個(gè)解中迭代 : 因此選取 可行域 ( 凸集 ) 的頂點(diǎn) , 也就是 基可行解 進(jìn)行迭代 , 該線性規(guī)劃問(wèn)題的基可行解是有限的 , 只有 444 個(gè) , 即該凸集有 444 個(gè)頂點(diǎn) ;

上圖的凸集中的 444 個(gè)頂點(diǎn) , 必然有一個(gè)是最優(yōu)解 , 因此迭代的時(shí)候 , 不用從 DDD 可行域中的無(wú)限個(gè)點(diǎn)中進(jìn)行迭代 , 只需要在有限個(gè)基可行解中進(jìn)行迭代 , 即可找到最優(yōu)解 ;


單純形法的原理的基礎(chǔ)就是源自上述理論 , 在線性規(guī)劃的有限個(gè)基可行解中 , 必定存在一個(gè)解釋最優(yōu)解 , 逐個(gè)迭代 , 將這個(gè)最優(yōu)解找出即可 ;


從無(wú)限個(gè)可行解中進(jìn)行迭代 , 到有限個(gè)基可行解中進(jìn)行迭代 , 簡(jiǎn)單了很多 ;

但是對(duì)于 m×nm \times nm×n 階的線性規(guī)劃系數(shù)矩陣 , 其基可行解的個(gè)數(shù)可能有 CnmC_n^mCnm? 個(gè) , 如果 nnnmmm 很大的話 , 基可行解的數(shù)目還是很大 , 這是一個(gè)指數(shù)級(jí)的數(shù) , 因此使用多項(xiàng)式算法 , 完成上述操作 , 計(jì)算量還是很大的 ;


這里使用單純形法 , 進(jìn)行迭代 , 要比使用多項(xiàng)式法計(jì)算量更少 ;





二、單純形法流程



單純形法的基本流程 :


① 初始基可行解 : 首先找到初始的基可行解 ;

② 判定是否最優(yōu)解 : 需要一個(gè)準(zhǔn)則 , 判定該初始基可行解 , 是否是最優(yōu)解 ; 這里是單純形法最核心問(wèn)題 ;

③ 是最優(yōu)解 : 如果該基可行解是最優(yōu)解 , 那么結(jié)束迭代 ;

④ 不是最優(yōu)解 : 如果該基可行解不是最優(yōu)解 , 那么迭代到下一個(gè)基可行解 , 繼續(xù)判定是否是最優(yōu)解 ; 如何迭代也需要一個(gè)準(zhǔn)則 ;



這里涉及到了兩個(gè)準(zhǔn)則 :

  • 判斷最優(yōu)解 : 判斷一個(gè) 基可行解 是否是最優(yōu)解 ;
  • 迭代原則 : 如何從一個(gè) 基可行解 迭代到下一個(gè)基可行解 ;


單純形法涉及到的問(wèn)題 :


① 初始解 : 如何找到初始基可行解 ;

② 最優(yōu)解 : 如何找到一個(gè)準(zhǔn)則 , 用于判定基可行解是否是最優(yōu)解 ;

③ 迭代解 : 如果一個(gè)基可行解不滿足準(zhǔn)則 , 如何去選擇下一個(gè)基可行解進(jìn)行迭代 ;

解決上述 333 個(gè)問(wèn)題 , 基可行解的算法 , 也就可以得出 ;





三、初始的基可行解查找



如何去找初始的基可行解 , 首先要找到一個(gè) , 并且該基是 可行基 ;



對(duì)于 m×nm \times nm×n 階的系數(shù)矩陣 :


基 :C(n,m)C(n, m)C(n,m) 個(gè)子矩陣中找到基矩陣 , 基矩陣的條件是 mmm 階方陣是可逆的 ;

參考 【運(yùn)籌學(xué)】線性規(guī)劃數(shù)學(xué)模型 ( 求解基矩陣示例 | 矩陣的可逆性 | 線性規(guī)劃表示為 基矩陣 基向量 非基矩陣 非基向量 形式 ) 一、求解基矩陣示例 博客章節(jié) , [51?110?106201]\begin{bmatrix} &5 & 1 & -1 & 1 & 0 & \\\\ & -10 & 6 & 2 & 0 & 1 & \end{bmatrix}????5?10?16??12?10?01????? 系數(shù)矩陣 , 有 C(5,2)=10C (5 , 2) = 10C(5,2)=10 個(gè)子矩陣 , 但是只有 999 個(gè)是可逆的 ;


基矩陣如下 :


B1=[51?106]B_1 = \begin{bmatrix} &5 & 1 & \\\\ & -10 & 6 & \end{bmatrix}B1?=????5?10?16????? , B2=[1?162]B_2 = \begin{bmatrix} &1 & -1 & \\\\ & 6 & 2 & \end{bmatrix}B2?=????16??12????? , B3=[50?101]B_3 = \begin{bmatrix} &5 & 0 & \\\\ & -10 & 1 & \end{bmatrix}B3?=????5?10?01????? ,

B4=[1160]B_4 = \begin{bmatrix} &1 & 1 & \\\\ & 6 & 0 & \end{bmatrix}B4?=????16?10????? , B5=[51?100]B_5 = \begin{bmatrix} &5 & 1 & \\\\ & -10 & 0 & \end{bmatrix}B5?=????5?10?10????? , B6=[?1021]B_6 = \begin{bmatrix} &-1 & 0 & \\\\ & 2 & 1 & \end{bmatrix}B6?=?????12?01????? ,

B7=[?1120]B_7 = \begin{bmatrix} &-1 & 1 & \\\\ & 2 & 0 & \end{bmatrix}B7?=?????12?10????? , B8=[11061]B_8 = \begin{bmatrix} &1 & 10 & \\\\ & 6 & 1 & \end{bmatrix}B8?=????16?101????? , B9=[1001]B_9 = \begin{bmatrix} &1 & 0 & \\\\ & 0 & 1 & \end{bmatrix}B9?=????10?01????? ;



選擇一個(gè)基矩陣 , 每個(gè)基矩陣都唯一對(duì)應(yīng)一個(gè)基解 , 如果該解大于等于 000 , 說(shuō)明該解是基可行解 , 那么該選擇的基矩陣 , 就是可行基 ;


參考 【運(yùn)籌學(xué)】線性規(guī)劃數(shù)學(xué)模型 ( 線性規(guī)劃求解 | 根據(jù)非基變量的解得到基變量解 | 基解 | 基可行解 | 可行基 ) 三、基解 博客章節(jié) , 基解的公式是

XB=B?1bX_B = B^{-1}bXB?=B?1b


使用 B1=[51?106]B_1 = \begin{bmatrix} &5 & 1 & \\\\ & -10 & 6 & \end{bmatrix}B1?=????5?10?16????? 矩陣作為基矩陣 , 求出其對(duì)應(yīng)的基可行解 , 代入上述公式 :


XB=B?1bXB=[51?106]?1×[32]\begin{array}{lcl} X_B = B^{-1}b\\\\ X_B = \begin{bmatrix} &5 & 1 & \\\\ & -10 & 6 & \end{bmatrix}^{-1} \times \begin{bmatrix} &3 & \\\\ & 2 & \end{bmatrix} \end{array}XB?=B?1bXB?=????5?10?16??????1×????32??????


如果上述 XBX_BXB? 的兩個(gè)分量 (x1x2)\begin{pmatrix} x_1\\ x_2 \\ \end{pmatrix}(x1?x2??) 都大于 0 , 說(shuō)明該解釋基可行解 , 該基矩陣 B1B_1B1? 是可行基 ;



使用算法進(jìn)行迭代 , 一個(gè)個(gè)判斷太浪費(fèi)時(shí)間 , 選擇 B1B_1B1? 作為基矩陣 , 計(jì)算很復(fù)雜 , 這里選擇 B9=[1001]B_9 = \begin{bmatrix} &1 & 0 & \\\\ & 0 & 1 & \end{bmatrix}B9?=????10?01????? 作為基矩陣 , 這是個(gè)單位陣 , 其逆矩陣還是其單位陣本身 ;

B9B_9B9? 基矩陣對(duì)應(yīng)的基變量是 XB=(x4x5)X_B = \begin{pmatrix} x_4\\ x_5 \\ \end{pmatrix}XB?=(x4?x5??) , 將基矩陣代入 XB=B?1bX_B = B^{-1}bXB?=B?1b 公式 ;

XB=B?1bXB=[1001]?1×[32]XB=[1001]×[32]XB=[32]\begin{array}{lcl} X_B = B^{-1}b\\\\ X_B = \begin{bmatrix} &1 & 0 & \\\\ & 0 & 1 & \end{bmatrix}^{-1} \times \begin{bmatrix} &3 & \\\\ & 2 & \end{bmatrix}\\\\ X_B = \begin{bmatrix} &1 & 0 & \\\\ & 0 & 1 & \end{bmatrix}\times \begin{bmatrix} &3 & \\\\ & 2 & \end{bmatrix}\\\\ X_B = \begin{bmatrix} &3 & \\\\ & 2 & \end{bmatrix} \end{array}XB?=B?1bXB?=????10?01??????1×????32?????XB?=????10?01?????×????32?????XB?=????32??????


由上述計(jì)算過(guò)程得到 XB=(x4x5)=(32)X_B = \begin{pmatrix} x_4\\ x_5 \\ \end{pmatrix} = \begin{pmatrix} 3\\ 2 \\ \end{pmatrix}XB?=(x4?x5??)=(32?) 結(jié)果 , x4x_4x4?x5x_5x5? 都大于 000 , (00032)\begin{pmatrix} 0\\ 0\\ 0\\ 3\\ 2 \\ \end{pmatrix}???????00032????????是基可行解 , 該 XBX_BXB? 是可行基 ;


使用 B1B_1B1? 作為基矩陣 , 不好計(jì)算 , 還需要求 B1B_1B1? 矩陣的逆矩陣 , B9B_9B9? 是單位陣 , 所有的 單位陣 III 都是可行基 , 初始基可行解選取時(shí) , 優(yōu)先選擇單位陣 ;

總結(jié)

以上是生活随笔為你收集整理的【运筹学】线性规划数学模型 ( 单纯形法原理 | 单纯形法流程 | 查找初始基可行解 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。