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

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

生活随笔

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

编程问答

【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 可行解表示 | 目标函数推导 | 目标函数最大值分析 )

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

文章目錄

  • 一、基矩陣 + 非基矩陣 約束條件
  • 二、基矩陣 + 非基矩陣 線性規(guī)劃
  • 三、線性規(guī)劃 可行解
  • 四、目標(biāo)函數(shù) 推導(dǎo)
  • 五、XN=OX_N = OXN?=O 目標(biāo)函數(shù)最大 分析
  • 六、總結(jié)



在上一篇博客 【運(yùn)籌學(xué)】線性規(guī)劃數(shù)學(xué)模型 ( 單純形法原理 | 單純形法流程 | 查找初始基可行解 ) 中 , 講解到了使用單純形法求解線性規(guī)劃問(wèn)題 , 需要解決以下三個(gè)主要問(wèn)題 :

  • 查找初始基可行解
  • 判定是否是最優(yōu)解
  • 如何迭代

該博客中已經(jīng)講解了如何查找初始基可行解 , 查找初始基可行解時(shí) , 優(yōu)先選擇單位陣作為基矩陣 , 單位陣 III 對(duì)應(yīng)的基解 , 必定是基可行解 ;
( 如果沒(méi)有單位陣 III , 那么后續(xù)在討論 )


本博客開(kāi)始講解 , 如何 判定最優(yōu)解 ( 最優(yōu)解是如何確定出來(lái)的 ) , 和 如何迭代到下一個(gè)基可行解 ;





一、基矩陣 + 非基矩陣 約束條件



目標(biāo)函數(shù) , 用于判定 111 個(gè)基可行解是否是最優(yōu)解 ;


在 【運(yùn)籌學(xué)】線性規(guī)劃數(shù)學(xué)模型 ( 求解基矩陣示例 | 矩陣的可逆性 | 線性規(guī)劃表示為 基矩陣 基向量 非基矩陣 非基向量 形式 ) 博客中 , 根據(jù)推導(dǎo) , 線性規(guī)劃的約束條件 , 可以表示為 :

BXB+NXN=bBX_B + NX_N = bBXB?+NXN?=b





二、基矩陣 + 非基矩陣 線性規(guī)劃



將上述約束條件代入線性規(guī)劃標(biāo)準(zhǔn)形式中

maxZ=∑j=1ncjxj{∑j=1naijxj=bi(i=1,2?m)xj≥0(i=1,2?n)\begin{array}{lcl}max Z = \sum_{j=1}^{n}c_j x_j\\ \\ \begin{cases} \sum_{j=1}^{n} a_{ij}x_j = b_i & (i = 1 , 2 \cdots m) \\ \\x_j \geq 0 & (i = 1 , 2 \cdots n) \end{cases}\end{array}maxZ=j=1n?cj?xj???????j=1n?aij?xj?=bi?xj?0?(i=1,2?m)(i=1,2?n)??


得到如下形式 :

maxZ=CBTXB+CNTXN{BXB+NXN=bxj≥0(i=1,2?n)\begin{array}{lcl}max Z = C_B^TX_B + C_N^TX_N \\ \\ \begin{cases} BX_B + NX_N = b \\ \\x_j \geq 0 & (i = 1 , 2 \cdots n) \end{cases}\end{array}maxZ=CBT?XB?+CNT?XN???????BXB?+NXN?=bxj?0?(i=1,2?n)??


假設(shè)得到基解 {XB=B?1bXN=O\begin{cases} X_B = B^{-1}b \\ \\X_N = O \end{cases}??????XB?=B?1bXN?=O? , 其中 OOO 表示零矩陣 , 矩陣張紅每個(gè)元素的值都是 000 ;


判斷該基解 (XBXN)\begin{pmatrix} X_B \\ X_N \\ \end{pmatrix}(XB?XN??) 是否是最優(yōu)解 , 需要從目標(biāo)函數(shù) maxZ=CBTXB+CNTXNmax Z = C_B^TX_B + C_N^TX_NmaxZ=CBT?XB?+CNT?XN? 開(kāi)始分析 ;





三、線性規(guī)劃 可行解



從現(xiàn)在開(kāi)始不再討論基解了 , 回到之前 , 討論可行解 , XNX_NXN? 可以取值任意合法值 , 而不是取 OOO 矩陣值 , 查看取值其它值的時(shí)候 , 目標(biāo)函數(shù)是否有最大值 , 這里 重新進(jìn)行解的推導(dǎo) :

在 【運(yùn)籌學(xué)】線性規(guī)劃數(shù)學(xué)模型 ( 線性規(guī)劃求解 | 根據(jù)非基變量的解得到基變量解 | 基解 | 基可行解 | 可行基 ) 二、根據(jù)非基變量的解得到可行解 博客章節(jié) , 在 BXB+NXN=bBX_B + NX_N = bBXB?+NXN?=b 兩端都乘以 B?1B^{-1}B?1 , 然后移項(xiàng)得到了 :

XB=B?1b?B?1NXNX_B = B^{-1}b - B^{-1}NX_NXB?=B?1b?B?1NXN?

將上述可行解 , 列舉出來(lái) :

{XB=B?1b?B?1NXNXN\begin{cases} X_B = B^{-1}b - B^{-1}NX_N \\ \\X_N \end{cases}??????XB?=B?1b?B?1NXN?XN??





四、目標(biāo)函數(shù) 推導(dǎo)



此時(shí)進(jìn)行判定線性規(guī)劃可行解 {XB=B?1b?B?1NXNXN\begin{cases} X_B = B^{-1}b - B^{-1}NX_N \\ \\X_N \end{cases}??????XB?=B?1b?B?1NXN?XN?? 中 , XNX_NXN? 取值 OOO 矩陣 , 是否是最好的情況 , 即目標(biāo)函數(shù)達(dá)到最大值 , 目標(biāo)函數(shù)如下 :

maxZ=CBTXB+CNTXNmax Z = C_B^TX_B + C_N^TX_NmaxZ=CBT?XB?+CNT?XN?


XB=B?1b?B?1NXNX_B = B^{-1}b - B^{-1}NX_NXB?=B?1b?B?1NXN? 代入上述目標(biāo)函數(shù) :

maxZ=CBT(B?1b?B?1NXN)+CNTXN=CBTB?1b?CBTB?1NXN+CNTXN\begin{array}{lcl} max Z &=& C_B^T ( B^{-1}b - B^{-1}NX_N ) + C_N^TX_N \\\\ &=& C_B^T B^{-1}b - C_B^T B^{-1}NX_N + C_N^TX_N \end{array}maxZ?==?CBT?(B?1b?B?1NXN?)+CNT?XN?CBT?B?1b?CBT?B?1NXN?+CNT?XN??


CBTB?1bC_B^T B^{-1}bCBT?B?1b 計(jì)算結(jié)果是一個(gè)數(shù)值常量 , 可以寫(xiě)成 b0b_0b0? , 與 XXX ( nnn 個(gè)決策變量 ) 無(wú)關(guān) ;


=b0+(CNT?CBTB?1N)XN\begin{array}{lcl} &=& b_0 + ( C_N^T - C_B^T B^{-1}N )X_N \\\\ \end{array}?=b0?+(CNT??CBT?B?1N)XN?


之前的基解的策略是 , 將 XNX_NXN? 取值為 OOO 零矩陣 , 現(xiàn)在討論 , 要使上述目標(biāo)函數(shù) maxZmaxZmaxZ 最大 , 分析 XN=OX_N = OXN?=O 是否是最好的選擇 , 即分析 XN=OX_N = OXN?=O 是否是使 maxZmaxZmaxZ 目標(biāo)函數(shù)最大的值 ;


假設(shè) XNX_NXN? 矩陣中的變量值為 (xm+1xm+2?xn)\begin{pmatrix} x_{m+1} \\ x_{m+2} \\ \vdots\\ x_n \end{pmatrix}??????xm+1?xm+2??xn???????? , (CNT?CBTB?1N)( C_N^T - C_B^T B^{-1}N )(CNT??CBT?B?1N) 的計(jì)算結(jié)果是 (σm+1,σm+2,?,σn)\begin{pmatrix} \sigma_{m+1} , \sigma_{m+2} , \cdots , \sigma_n \end{pmatrix}(σm+1?,σm+2?,?,σn??) , (CNT?CBTB?1N)XN( C_N^T - C_B^T B^{-1}N )X_N(CNT??CBT?B?1N)XN? 結(jié)果是 σm+1xm+1+σm+2xm+2+?+σnxn\sigma_{m+1} x_{m+1} + \sigma_{m+2} x_{m+2} + \cdots + \sigma_{n} x_{n}σm+1?xm+1?+σm+2?xm+2?+?+σn?xn?


=b0+(CNT?CBTB?1N)XN=b0+σm+1xm+1+σm+2xm+2+?+σnxn\begin{array}{lcl} &=& b_0 + ( C_N^T - C_B^T B^{-1}N )X_N \\\\ &=& b_0 + \sigma_{m+1} x_{m+1} + \sigma_{m+2} x_{m+2} + \cdots + \sigma_{n} x_{n} \\\\ \end{array}?==?b0?+(CNT??CBT?B?1N)XN?b0?+σm+1?xm+1?+σm+2?xm+2?+?+σn?xn??





五、XN=OX_N = OXN?=O 目標(biāo)函數(shù)最大 分析



當(dāng)上述 XNX_NXN? 矩陣中的變量值 (xm+1xm+2?xn)\begin{pmatrix} x_{m+1} \\ x_{m+2} \\ \vdots\\ x_n \end{pmatrix}??????xm+1?xm+2??xn???????? 都為 000 時(shí) , 假如上述公式取值最大值 , 即

b0+σm+1xm+1+σm+2xm+2+?+σnxnb_0 + \sigma_{m+1} x_{m+1} + \sigma_{m+2} x_{m+2} + \cdots + \sigma_{n} x_{n}b0?+σm+1?xm+1?+σm+2?xm+2?+?+σn?xn?

取值最大值 ;


在線性規(guī)劃約束條件中 , 所有的變量都是大于等于 000 , 每個(gè) xjx_jxj? 約束變量取值都可以大于等于 000 , 目前是查看當(dāng)所有的 xjx_jxj? 變量都取值 000 時(shí) , 目標(biāo)函數(shù)達(dá)到最大值的情況 ;


當(dāng) XNX_NXN? 取值等于 OOO 零矩陣時(shí) , 目標(biāo)函數(shù)值等于 b0b_0b0? , 當(dāng) XNX_NXN? 中有元素取值大于 000 時(shí) , 就會(huì)在 b0b_0b0? 基礎(chǔ)上加上一個(gè)值 , 如果這個(gè)值是 小于等于 000 的 , 那么對(duì)應(yīng)的 xjx_jxj? 取值越大 , 目標(biāo)函數(shù)值越小 ;


因此這里得到 , 在 XN=(xm+1xm+2?xn)X_N=\begin{pmatrix} x_{m+1} \\ x_{m+2} \\ \vdots\\ x_n \end{pmatrix}XN?=??????xm+1?xm+2??xn???????? 非基變量前的系數(shù)是小于等于 000 時(shí) , 才能滿足當(dāng) XNX_NXN? 中的元素取值等于 000 時(shí) , 目標(biāo)函數(shù)是最大值 ;


因此
b0+σm+1xm+1+σm+2xm+2+?+σnxnb_0 + \sigma_{m+1} x_{m+1} + \sigma_{m+2} x_{m+2} + \cdots + \sigma_{n} x_{n}b0?+σm+1?xm+1?+σm+2?xm+2?+?+σn?xn?

中的 σm+1,σm+2,?,σn\sigma_{m+1} , \sigma_{m+2} , \cdots , \sigma_{n}σm+1?,σm+2?,?,σn? 系數(shù)值小于等于 000 , 其中每個(gè)系數(shù)對(duì)應(yīng)的變量 xjx_{j}xj? 必定是大于等于 000 的值 , 那么系數(shù) σm+1\sigma_{m+1}σm+1? 小于等于 000 時(shí) , 每個(gè)變量取值 xj=0x_j = 0xj?=0 , 目標(biāo)函數(shù)達(dá)到最小值 ;





六、總結(jié)



將線性規(guī)劃約束條件表示為 BXB+NXN=bBX_B + NX_N = bBXB?+NXN?=b


進(jìn)行變換后得到 XB=B?1b?B?1NXNX_B = B^{-1}b - B^{-1}NX_NXB?=B?1b?B?1NXN?


這里可以寫(xiě)出如下可行解 {XB=B?1b?B?1NXNXN\begin{cases} X_B = B^{-1}b - B^{-1}NX_N \\ \\X_N \end{cases}??????XB?=B?1b?B?1NXN?XN??


將上述可行解代入目標(biāo)函數(shù) maxZ=CBTXB+CNTXNmax Z = C_B^TX_B + C_N^TX_NmaxZ=CBT?XB?+CNT?XN?


得到 maxZ=b0+(CNT?CBTB?1N)XNmaxZ = b_0 + ( C_N^T - C_B^T B^{-1}N )X_NmaxZ=b0?+(CNT??CBT?B?1N)XN?


在該情況下 , 如果 (CNT?CBTB?1N)( C_N^T - C_B^T B^{-1}N )(CNT??CBT?B?1N) 系數(shù)小于等于 000 , 當(dāng) XNX_NXN? 取值為 000 時(shí) , 目標(biāo)函數(shù)得到最大值 ;

總結(jié)

以上是生活随笔為你收集整理的【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 可行解表示 | 目标函数推导 | 目标函数最大值分析 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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