數學規划是優化問題建模的第一步,也是最為重要的一步,它界定了問題的類型和求解難度。
正確建立優化問題的數學規划模型,必須做到充分理解問題本身。
此外,應該
- 選擇最佳的決策變量。
- 確定合適的目標函數(可能不止一個)。
- 根據問題的要求寫出所有的約束條件。
建立數學規划后,還需判定其類型。
最后,利用軟件或設計算法求解數學規划。
一般線性規划的特點是約束條件可以用一組線性不等式或線性等式表示,目標函數為決策變量的線性函數,根據問題的不同,要求目標函數實現最大化或最小化。
滿足以上條件的數學模型成為線性規划問題的數學模型。
一般標准形式為:

c稱為價值向量、A稱為約束矩陣、x稱為決策變量向量,b稱為右端向量
那么,如何將線性規划問題轉化為標准形式?

數學規划的分類
LP(線性規划)、ILP(整數線性規划)、0-1整數規划是三種典型的數學規划。
MILP(混合整數規划):目標或約束均為線性函數、決策變量既有整數又有非整數的數學規划。
NLP(非線性規划):目標函數或約束條件中含有非線性函數的數學規划。
其中,決策變量取整數的非線性規划稱為非線性整數規划。
二次規划,屬於非線性規划,但目標函數多為二次多項式函數,約束條件為線性多項式。
注:
整數規划的計算復雜度(計算機計算工作量)遠遠超過同規模的線性規划。
線性目標、非線性約束模型通常比非線性目標函數、線性約束模型更難計算
建模時應盡可能將目標、約束寫成線性形式。
例如:
- 假設0-1決策變量𝑧𝑖𝑗 = 1時,要求決策變量 𝑥𝑖 ≥ 𝑦𝑗
- 寫法一: 𝑥𝑖 ≥ 𝑦𝑗 𝑧𝑖𝑗 非線性
- 寫法二: 𝑥𝑖 ≥ 𝑦𝑗 − 𝑀(1 − 𝑧𝑖𝑗),其中𝑀為充分大的整數。 線性
廚師任務分配問題

某飯店共有兩名廚師,可制作20道菜,其中制作第𝒊道菜所需時間為𝒕𝒊 。某天來了5桌客人,到店時間和下單情況見附表。
要求:
每桌的A-E菜必須先上;
M菜須等半小時以后方可制作;
如果同時點了R和S、或者R和T菜,則最后贈送一份F菜。
問:
1、怎樣分配廚師任務,使得兩名廚師盡可能同時下班?
2、怎樣分配廚師任務,使得5桌客人的平均等菜時間盡可能短?
注:由於客人對菜品口味要求不同,每道菜原則上不允許同時制作兩份。
送貨問題

送貨問題—線性規划—運輸問題模型
運輸問題可以分為三種問題模型:
-
產銷平衡模型
-
銷大於產模型
-
產大於銷模型
設批發點𝐴𝑖運往零售店𝐵𝑗的運量為𝒙𝒊𝒋。
產銷平衡時,
各個批發點的庫存總和正好滿足所有零售店的需求,送貨問題的數學模型為:

銷大於產時,
,各個銷地的需求不一定能夠得到滿足,運輸問題的數學模型為:

產大於銷時,
,各個銷地的需求一定能夠得到滿足,但各個產地的物資不一定全部運走。運輸問題的數學模型為:

產銷平衡運輸問題一定存在最優解。
線性規划
約束為等號形式
bi≥0,i=1,2.......m
xj≥0,j=1,2........n
引入松弛變量——把不等號轉換成等號。
基本解:非基變量全部等於0的解。
基本可行解:同時滿足X≥0的基本解。
基本可行解與可行域的頂點是一一對應的 。(即線性規划的最優解一定是在頂點上)
二、 優化軟件
優化軟件是求解優化模型的最常用的工具和檢驗自編算法性能好壞的比較和參照標准。如MATLAB、Lingo
數學建模的兩個重要過程:
-
將實際問題抽象成一個數學模型
-
模型求解

Lingo的約束越多,規模越大,裝演示版基本就夠了。
韓中庚運籌學投資問題
某公司擬制定今后5年的投資計划,初步考慮以下四個投資項目:
◼ 項目A:從第1年到第4年每年年初需要投資,於次年年末收回成本,並可獲利15%;
◼ 項目B:第3年末需要投資,到第5年末可收回成本,預期獲利25%,但為了保證足夠的流動資金,規定該項目投資金額上限不超過總資金的40%;
◼ 項目C:第2年年初需要投資,到第5年年末可收回成本,預期獲利40%,該項目投資金額不能超過總投資額的30%;
◼ 項目D:5年內每年年初可以購買公債,於當年末歸還本金,獲利6%。該公司現有投資金額100萬元,試制定5年總收益最大的投資計划。
設 𝒙𝒊𝒋分別為第𝒊年年初投入到第𝒋 個項目(A、B、C、D)的投資額,則數學模型為:

&:當變量個數很多時,可以盡量使用簡單的描述形式,比如用 ∑
Lingo/Lindo與Matlab程序的比較:
Lingo/Lindo程序更接近普通模型。(輸出更適合做靈敏度分析,而且Lingo的格式更加靈活,適合處理優化模型)
Matlab程序標准型的要求限制更多一點。(Matlab輸出數據不包含靈敏度分析)
社會實際問題數據庫—中國統計年鑒
優化問題數學規划形式
連續型問題模型

離散型問題模型

判斷准確是計算合理的前提,要注意計算方法的准確性和先進性
優化模型的分類

Lingo/Lindo軟件的求解過程

