最優化技術——線性規劃
線性規劃基本概念
線性規劃問題就是在一組線性約束條件下,求解目標函數最優解的問題
標準形式
線性規劃問題的標準形式:
- 目標函數求最大值
- 所有約束條件均由等式表示
- 每個約束條件右端常數常爲非負值
- 所有決策變量爲非負值
改造方法
所有的情況與改造方法
-
目標函數求最小值則應該改爲求最大值:
-
約束條件中,某些常數項bi爲負數
-
方法——在約束條件兩邊乘以負號
Σai,jxj>−3→−Σai,jxj<3
-
約束條件不等式符號爲<=
-
方法——在不等式左邊加上一個非負變量(松馳變量)
Σai,jxj≤bi→Σj=1maijxj+xm+1=bi
-
約束條件**不等式符號爲>= **
-
在不等式左邊減去一個非負變量(剩餘變量)
Σai,jxj≥bi→Σj=1maijxj−xm+1=bi
-
約束條件中某變量有如下限制:
例題
一、
minF=−3x1+4x2−2x3+5x4
s.t.
4x1−x2+2x3−x4=−2
x1+x2+2x3−x4≤14
−2x1+3x2−x3+2x4≥2
x1≥0,x2≤0,x3≥0
將上面的式子化成標準型,首先需要檢查上面的式子中有哪些地方不符合我們的要求:
- 目標函數爲最小值minF=−3x1+4x2−2x3+5x4
- 等式約束右邊爲負數4x1−x2+2x3−x4=−2
- 不等式約束x1+x2+2x3−x4≤14,−2x1+3x2−x3+2x4≥2
- 約束中有小於零的x1≥0,x2≤0,x3≥0
額,經過整理我們發現。。。都不符合,所以需要一條一條的改:
改前 |
改後 |
minF=−3x1+4x2−2x3+5x4 |
maxS=−minF=3x1−4x2+2x3−5x4 |
4x1−x2+2x3−x4=−2 |
−4x1+x2−2x3+x4=2 |
x1+x2+2x3−x4≤14 |
x1+x2+2x3−x4+x5=14 |
−2x1+3x2−x3+2x4≥2 |
−2x1+3x2−x3+2x4−x6=2 |
x2≤0 |
設x7≥0,x7=−x2 |
x4無約束 |
設x8,x9≥0,x4=x8−x9 |
整理之後得到:
maxS=−minF=3x1+4x7+2x3−5x8+5x9
s.t.
−4x1−x7−2x3+x8−x9=2
x1−x7+2x3−x8+x9+x5=14
−2x1−3x7−x3+2x8−2x9−x6=2
xi≥0,j=1,3,5,6,7,8,9
概念之凸集
- 凸集:如果集合C中任意兩點X1,X2,其連線上的所有點也都是集合C中的點,稱C爲凸集。
- 有限個凸集的交集仍然是凸集
- 頂點:如果凸集C中不存在任何兩個不同的點X1,X2,使X成爲這兩個點連線上的一個點。
線性規劃的一些定義
-
定義一:凡是滿足Ax=b及x≥0的解x=(x1,x2,..,xn)T稱爲線性規劃問題的可行解。同時滿足maxZ=cx的可行解稱爲最優解
-
定義二:設線性規劃約束方程組的係數矩陣Am∗n的秩爲m,則A中某m列組成的任一個m階可逆陣B稱爲該線性規劃問題的一個基矩陣,簡稱基。若記B=(p1,p2,…,pm),則稱pk(k=1,2,…m)爲基B中的一個基向量。則A中其餘n-m個列向量爲非基向量。
感覺這裏很象最大線性無關組。
-
定義3:當Ax=b式中A確定了一個基B後,與基向量pk相對應的決策變量xk稱爲關於基B的一個基變量,而與非基向量所對應的決策變量稱爲非基變量。
-
定義4:設B=(pk1,pk2,…,pkm)是A中的一個基,對應的基變量爲xk1,xk2,…,xkm,我們稱非基變量的取值均爲零且滿足約束條件的一個解x,爲關於基B的一個基本解。
解的確定
基本解的確定
B爲一個基矩陣,XB爲對應的基變量, N爲非基矩陣,XN爲對應的非基變量,那麼Ax=b可以寫成:
BXB+NXN=b
由這個式子可以推出:
XB=B−1b−B−1NXN
同時,根據基本解的定義,非基變量的解都是0,所以,最終的解是:
$$
\left[
\begin{matrix}
X_B\
X_N
\end{matrix}
\right]
\left[
\begin{matrix}
B^{-1}b\
0
\end{matrix}
\right]
$$
這樣的解也被稱爲關於基B的基本解,同時有定義五:
- 滿足非負條件x≥0的基本解稱爲基本可行解
例題
求下列方程組的一個基本解、基本可行解
x1+2x2≤8
x2≤2
解:
-
首先將他化成標準形式
x1+2x2+x3=8
x2+x4=2
-
根據上方方程得到係數矩陣:
A=[10311001]
-
取前兩個列向量作爲基向量,後兩個就是非基向量
B=[1021]
-
令非基變量x3,x4=0,可以得到基本解
(4,2,0,0)T
圖解法
假設解以下問題
我們可以用圖解法的方法解決(初中生就會的那種)
關於圖解法的一些定理:
- 定理一:若線性規劃問題存在可行解,則該問題的可行域一定是凸集
- 定理二:線性規劃問題的基本可行解X對應可行域(凸集)的頂點
- **定理三:**若問題存在最優解,一定存在一個基本可行解是最優解
看到定理二忽然恍然大悟,原來我初中鋌而走險,每次都只試交點的方法是有科學依據的(逃
定理三也非常有意義,因爲它直接給我們提供了一種解決優化問題的方法:找出所有基本可行解然後再一個一個比較,直接得到最大的,但是可惜的是,這樣的做法時間複雜度過高,電腦有點遭不住。