運籌學第一章 線性規劃及單純形法

2021-10-08 09:23:13 字數 3399 閱讀 6451

拖拖拉拉這麼久終於把運籌學第一章複習完了,但是相比於寫部落格,我還是更願意用latex寫學習筆記。這裡就只說一下概況好了。

在工作和生活當中,如果我們把一些實際問題歸納為數學問題之後,其目標函式和約束條件都是線性的,則稱這樣的問題為線性規劃問題。線性規劃問題可以化為標準型,化為標準型之後就可以用單純形法求解,簡單問題可以手動求解,複雜問題用計算機求解,有不少求解線性規劃問題的工具可以使用。

線性規劃問題的約束條件勾勒出的是乙個超維凸集,而目標函式可以看做是乙個超平面。這個超平面的法向量就是各變數的係數。如果把超平面按照法向量方向平移,則目標函式值將單調增加。當這個超平面沿著法向量方向運動到可行域凸集的邊界時目標函式值最大,如果反方向運動到邊界,則目標函式值最小。這裡所謂的運動到邊界是指平面沿法向量移動任意小的距離都將導致超平面和可行域凸集沒有交集的情況。

線性規劃相關基礎知識在我的資源線性規劃與單純形法裡面。這裡舉例說明如何用matlab求解線性規劃問題。問題表述如下:

巨集銀公司承諾為某建設專案從2023年起的4年中每年年初分別提供以下數額貸款:2023年——100萬元,2023年——150萬元,2023年——120萬元,2023年——110萬元。以上貸款資金均需於2023年年底前籌集齊。但為了充分發揮這筆資金的作用,在滿足每年貸款額情況下,可將多餘資金分別用於下列投資專案:

(1)於2023年年初購買a種債券,期限3年,到期後本息合計為投資額的140%,但限購60萬元;

(2)於2023年年初購買b種債券,期限2年,到期後本息合計為投資額的125%,且限購90萬元;

(3)於2023年年初購買c種債券,期限2年,到期後本息合計為投資額的130%,但限購50萬元;

(4)於每年年初將任意數額的資金存放於銀行,年息4%,於每年年底取出。

求巨集銀公司應如何運用好這筆籌集到的資金,使2023年年底需籌集到的資金數額為最少。

令x

1x_1

x1​、x

2x_2

x2​、x

4x_4

x4​分別表示購買a、b、c三種債券的金額(單位:萬元),令x

3x_3

x3​表示2023年初存入銀行的錢款(單位:萬元),令2023年底需要籌集到的資金數額為z

zz(單位:萬元)。則根據題目條件可以列出以下線性規劃問題:

m in

zs.t

.\quad z \\ \mathrm \left \ x_1+x_2+x_3=z-100\\ 1.04x_3 \geq 150 \\ 1.04(1.04x_3-150-x_4)+1.25 \geq 120 \\ 1.4x_1+1.3x_4+1.04(1.04(1.04x_3-150-x_4)+1.25x_2-120) \geq 110\\ 0 \leq x_1 \leq 60 \\ 0 \leq x_2 \leq 90 \\ 0 \leq x_3 \leq 380 \\ 0 \leq x_4 \leq 50 \end \right.

minzs.

t.⎩⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎨⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎧​x1

​+x2

​+x3

​=z−

1001

.04x

3​≥1

501.

04(1

.04x

3​−1

50−x

4​)+

1.25

≥120

1.4x

1​+1

.3x4

​+1.

04(1

.04(

1.04

x3​−

150−

x4​)

+1.2

5x2​

−120

)≥11

00≤x

1​≤6

00≤x

2​≤9

00≤x

3​≤3

800≤

x4​≤

50​該問題可以化為以下標準問題:

m in

x1+x

2+x3

+100s.

t.\quad x_1+x_2+x_3+100 \\ \mathrm \left \ \mathbf \leq \mathbf\\ 0 \leq x_1 \leq 60 \\ 0 \leq x_2 \leq 90 \\ 0 \leq x_3 \leq 380 \\ 0 \leq x_4 \leq 50 \end \right.

minx1​

+x2​

+x3​

+100

s.t.

⎩⎪⎪⎪

⎪⎨⎪⎪

⎪⎪⎧​

ax≤b

0≤x1

​≤60

0≤x2

​≤90

0≤x3

​≤38

00≤x

4​≤5

0​其中,a=[

00−1.0400

−1.25

−1.0816

1.04

−1.4

−1.3

−1.124864

−0.2184]b

=[−150

−276

−397.04

]\mathbf= \left[ \begin 0 & 0 & -1.04 & 0 \\ 0 & -1.25 & -1.0816 & 1.04 \\ -1.4 & -1.3 & -1.124864 & -0.2184 \end \right] \mathbf= \left[ \begin -150 \\ -276 \\ -397.04 \end \right]

a=⎣⎡​0

0−1.

4​0−

1.25

−1.3

​−1.

04−1

.081

6−1.

1248

64​0

1.04

−0.2

184​

⎦⎤​b

=⎣⎡​

−150

−276

−397

.04​

⎦⎤​借助optimtool可以求得最優值為420.3957(單位:萬元),最優解為x1=

60x_1=60

x1​=60

、x 2=

90x_2=90

x2​=90

、x 3=

170.396

x_3=170.396

x3​=17

0.39

6、x4=20

x_4=20

x4​=20

。optimtool求解介面如圖所示:

線性規劃 單純形法

線性規劃是求乙個線性多項式的最值。線性規劃有兩種形式 1.標準型 不等式型 2.鬆弛型 除了非負約束,其他都是等式變數名稱 在res x y z中。1.基本變數,基本變數是res。2.非基本變數,如x,y,z。單純形法 適用於鬆弛型。單純形法是不斷通過迭代來增大最大值。達到無法更新時,就是最大值。這...

線性規劃 單純形法

單純形法 x method 單純形法的思路總結 其它情況 參考文獻 目標函式是線性的,約束條件是線性等式或不等式,每個變數都取實數值.minimize ct xsubject to ax bx 0 begin text c x text a x b x geq 0 end minimize subj...

單純形法(求解線性規劃)模板

原理 我也懶得去了解了,反正不怎麼用到 學習 推薦看部落格 使用形態 下面模板的輸入 max x1 14 x2 6 x3 s t x1 x2 x3 4 x1 2 x3 3 3 x2 x3 6 x1,x2,x3 0 我們可以得到其鬆弛形式 max x1 14 x2 6 x3 s.t.x1 x2 x3 ...