運籌優化(二)--線性規劃概念及應用模型
一、解決問題
線性規劃問題是在一組線性約束下,求線性目標函式的最大最小值的問題。
二、數學模型
1、一般數學模型
2、矩陣表示
其中c,x都是列向量,A,Aeq是一個合適的矩陣,b,beq是合適的列向量。然後lb和ub是下限和上限(但是請注意lb是一個變數的名字)。
注意:這裡針對變數型別約束增加上下限的約束,其目的在於減少主要約束Ax=b中的行數,從而簡化計算。本質上,跟標準的非負型別約束一致。
實際碰到各種線性規劃問題的數學模型都應變換為標準型式後求解。
以下討論如何變換為標準型的問題。
(1 ) 若要求目標函式實現最小化, 即 min z = CX。這時只需將目標函式最小化變換求目標函式最大化 , 即令z′= -z , 於是得到max z′= -CX。 這就同標準型的目標函式的形式一致了。
(2) 約束方程為不等式。這裡有兩種情況: 一種是約束方程為“≤”不等式, 則可在 “≤”不等式的左端加入非負鬆弛變數, 把原“≤”不等式變為等式; 另一種是約束方程為 “ ≥ ”不等式 , 則可在“ ≥ ”不等式的左端減去一個非負剩餘變數 (也可稱鬆弛變數), 把不等式約束條件變為等式約束條件。
(3) 若存在取值無約束的變數xk ,可令xk = x′k - x′′k ,其中 x′k , x′′k ≥0。
線性規劃問題的解的概念
在討論線性規劃問題的求解前, 先要了解線性規劃問題的解的概念。我們針對線性規劃的一般數學模型來說明:
1. 可行解
滿足約束條件的解X=(x1 ,x2 ,⋯,xn)T ,稱為線性規劃問題的可行解 , 其中使目標函式達到最大值的可行解稱為最優解。
2. 基
設 A是約束方程組的 m×n維繫數矩陣,其秩為 m。B是矩陣 A中 m×m階非奇異子矩陣( | B| ≠0) ,則稱B是線性規劃問題的一個基。這就是說, 矩陣B是由 m個線性獨立的列向量組成。為不失一般性 , 可設:
稱 Pj (j=1,2,⋯,m)為基向量,與基向量 Pj 相應的變數 xj (j=1,2,⋯,m)為基變數,否則稱為非基變數 , 為了進一步討論線性規劃問題的 解, 下面研究約束方程組(1-5 ) 的 求 解 問題。假設該方程組係數矩陣 A 的秩為 m , 因 m < n, 故它有無窮多個解。假設前 m 個變 量的係數列向量是線性獨立的。這時(1 -5)式可寫成:
設 XB 是對應於這個基的基變數:XB =(x1,x2,⋯,xm)T ,
現若令上式的非基變數 xm + 1 = xm + 2 = ⋯ = xn = 0, 這時變數的個數等於線性方程的個數。用高斯消去法 , 求出一個解:
X=(x1 ,x2 ,⋯,xm ,0,⋯,0)T
該解的非零分量的數目不大於方程個數 m, 稱 X 為基解。由此可見 , 有一個基 , 就可以求出一個基解。
3. 基可行解
同時滿足非負條件的可行解和基解的解,稱為基可行解。
4. 可行基
對應於基可行解的基 , 稱為可行基。約束方程組(1-5)具有基解的數目最多是 Cnm (組合)個。一般基可行解的數目要小於基解的數目。以上提到 的幾種解的概念, 它們之間的關係可用下圖表明。另外還要說明一點 , 基解中的非零分量的個數小於m 個時, 該基解是退化解。在以下討論 時 , 假設不出現退化的 情況。以上給出了線性規劃問題的解的概念和定義 , 它們將有助於用來分析線性規劃問題的求解過程。
三、相關方程解法
1、圖解法,畫出可行域,這個可以進行程式設計進行實現、
2、直接使用MATLAB的相關方法進行解題、
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,Xo,OPTIONS)
其中fval返回的是目標函式的值,然後x則是返回取到fval時x的對應的值,然後LB和UB是對應x的上界和下界(可以省略),x0是x的初始值(暫時可以忽略)
OPTIONS是控制引數。
其他還有專門的線性規劃求解演算法,後面單獨介紹。
四、一些其他問題轉換成線性規劃
1、絕對值之和最小
2、兩個數的差的絕對值,在xi固定時,取得max,之後在去定yi
五、一些線性規劃可以解決的實際問題
1、生產力有限,要求取得最大收益,更一般性的說法,是資源分配模型,用來解決在資源有限的情況下,如何將資源分配給彼此競爭的需求,從而實現資源的優化配置。
2、運輸問題(產銷問題)
要求運輸費用最小
在這裡需要記得有一個很重要的等式,就是所有產地送出去的等於所有銷售地收到的
3、指派問題
要求花費的工作時間要最短
(2)求解指派問題的匈牙利演算法、
首先我們要知道對與係數矩陣C由這樣的性質,同時對每一行(列)加上或者減去同樣的一個數,得到的新矩陣和原矩陣的指派問題具有相同的最優指派。
一般步驟是:
a、每行每列消除最小的數字,使得出現能夠出現N(與矩陣大小相同)個位於不同行不同列的零元素,選定就是最優解。
b、如果上一步驟沒辦法直接完成,則、
4、對偶理論(與反函式相比較)
最重要的是掌握其性質,可以用來檢驗是不是最優解、、
5、投資的收益和風險(主要多目標函式如何併成一個目標函式)
下一步主要是設立變數(這是數學建模中一步很關鍵的地方,你指標選的好,方程就好列好解,否則。。。。)
之後就是加入限定,一些理想化的假設
然後寫出方程
其中第一個目標函式為收益,第二個為風險。
下一步就是化簡目標函式
(1)固定風險水平,優化收益
(2)固定盈利水平,極小化風險
(3)同時考慮兩個,這樣的話需要加入一個權重s。
6.混料模型
資源分配模型是將各種資源分配給不同的需求,混料模型是把零散的資源整合起來,簡而言之,混料模型解決的是決策各種成分的組合以最好的滿足生產的需要。
7.運營規劃模型
用以決策生產工作的安排以有效的使用可用資源。
8.排班和人員規劃模型
在工作量給定的前提下,我們需要規劃完成這些工作的資源投入,特別的,我們必須決定不同型別的員工人數和排班數量,以保證完成所有的工作量。
9.多階段模型
用來建模動態的,隨時間變化的,或者多個時間段執行的。
相關文章
- 運籌優化(九)--整數規劃模型優化模型
- 運籌優化(五)--線性規劃之內點法優化
- 運籌優化(十一)--無約束非線性規劃優化
- 運籌優化(十二)--帶約束非線性規劃(NLP)優化
- 運籌優化(七)--動態規劃解析優化動態規劃
- 運籌優化(十)--整數規劃求解優化
- 運籌優化(十五)--應用模型之分配問題優化模型
- 運籌優化(四)--線性規劃之對偶問題和靈敏度分析優化
- 關於 線性規劃 非線性規劃 與 凸優化優化
- 運籌優化(六)--目標規劃定義及解法優化
- 運籌優化(十三)--大規模優化方法優化
- 運籌優化(一)--運籌學概述優化
- 線性規劃模型複習總結模型
- matlab線性規劃Matlab
- 運籌優化(八)--圖與網路優化優化
- 運籌學-整數規劃IP演算法演算法
- 動態規劃-----線性動態規劃
- 虛擬化運維:規劃和發展戰略性 IT 計劃運維
- 運籌學練習Python精解——整數規劃Python
- UVA 10498 Happiness!(線性規劃)APP
- matlab求解非線性規劃Matlab
- app開發的規劃與籌劃APP
- 運籌優化(十七)--儲存論基礎及其最優化求解優化
- 運籌優化(十八)--對策論基礎及其最優化求解優化
- 運籌優化(十九)--決策論基礎及其最優化求解優化
- 運籌優化(十六)--排隊論基礎及其最優化求解優化
- 斜率優化動態規劃優化動態規劃
- matlab求解線性規劃問題Matlab
- 動態規劃篇——線性DP動態規劃
- 運籌優化(十四)--離散優化的啟發式演算法優化演算法
- Matlab解決線性規劃問題Matlab
- Python求解線性規劃——PuLP使用教程PythonPulp
- 資料庫應用優化(二)伺服器和配置優化資料庫優化伺服器
- 線性規劃單純形法精解
- 線性規劃對偶學習筆記筆記
- 【Fuzzy】不確定規劃:模糊規劃模型模型
- 基於數值優化的自動駕駛實時運動規劃優化自動駕駛
- 基於TRE文章的非線性模型化線性方法模型