運籌優化(二)--線性規劃概念及應用模型

Eason.wxd發表於2019-01-08

一、解決問題

     線性規劃問題是在一組線性約束下,求線性目標函式的最大最小值的問題。

二、數學模型

1、一般數學模型

image

2、矩陣表示

image

其中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、圖解法,畫出可行域,這個可以進行程式設計進行實現、

image

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、絕對值之和最小

image

在這裡我們就可以令image,就可以滿足image,這樣子這個問題就變成了

image

2、兩個數的差的絕對值,在xi固定時,取得max,之後在去定yi

image

我們取image,就可以轉換問題了

image

五、一些線性規劃可以解決的實際問題

1、生產力有限,要求取得最大收益,更一般性的說法,是資源分配模型,用來解決在資源有限的情況下,如何將資源分配給彼此競爭的需求,從而實現資源的優化配置。

image

2、運輸問題(產銷問題)

      要求運輸費用最小

image

          在這裡需要記得有一個很重要的等式,就是所有產地送出去的等於所有銷售地收到的image

3、指派問題

     要求花費的工作時間要最短

image

             image

(2)求解指派問題的匈牙利演算法、

     首先我們要知道對與係數矩陣C由這樣的性質,同時對每一行(列)加上或者減去同樣的一個數,得到的新矩陣和原矩陣的指派問題具有相同的最優指派。

一般步驟是:

a、每行每列消除最小的數字,使得出現能夠出現N(與矩陣大小相同)個位於不同行不同列的零元素,選定就是最優解。

b、如果上一步驟沒辦法直接完成,則、

image

4、對偶理論(與反函式相比較)

image

image

最重要的是掌握其性質,可以用來檢驗是不是最優解、、

image

5、投資的收益和風險(主要多目標函式如何併成一個目標函式)

image

image

      下一步主要是設立變數(這是數學建模中一步很關鍵的地方,你指標選的好,方程就好列好解,否則。。。。)

image

      之後就是加入限定,一些理想化的假設

image

      然後寫出方程

image

     其中第一個目標函式為收益,第二個為風險。

     下一步就是化簡目標函式

(1)固定風險水平,優化收益

image

image

(2)固定盈利水平,極小化風險

image

(3)同時考慮兩個,這樣的話需要加入一個權重s。

image

6.混料模型

資源分配模型是將各種資源分配給不同的需求,混料模型是把零散的資源整合起來,簡而言之,混料模型解決的是決策各種成分的組合以最好的滿足生產的需要。

7.運營規劃模型

用以決策生產工作的安排以有效的使用可用資源。

8.排班和人員規劃模型

在工作量給定的前提下,我們需要規劃完成這些工作的資源投入,特別的,我們必須決定不同型別的員工人數和排班數量,以保證完成所有的工作量。

9.多階段模型

用來建模動態的,隨時間變化的,或者多個時間段執行的。

相關文章