线性规划单形法.docx

上传人:b****8 文档编号:9691677 上传时间:2023-02-05 格式:DOCX 页数:29 大小:74.74KB
下载 相关 举报
线性规划单形法.docx_第1页
第1页 / 共29页
线性规划单形法.docx_第2页
第2页 / 共29页
线性规划单形法.docx_第3页
第3页 / 共29页
线性规划单形法.docx_第4页
第4页 / 共29页
线性规划单形法.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

线性规划单形法.docx

《线性规划单形法.docx》由会员分享,可在线阅读,更多相关《线性规划单形法.docx(29页珍藏版)》请在冰豆网上搜索。

线性规划单形法.docx

线性规划单形法

第五章線性規劃:

單形法

本章內容:

5.1單形法之代數原理

5.2表格型

5.3建立初始單形表

5.4解的改進

5.5計算下一個表

5.6表格型:

一般情形

5.7解極小化問題

5.8特殊情形

⏹5.1單形法之代數原理

例:

海德公司要為D型電腦及P型電腦發展一種週生產排程。

D型電腦每件利潤50元,P型電腦每件40元。

下一週的生產最多有150小時可用在裝配,每件D型需3小時裝配,P型需5小時裝配。

另外,海德公司目前只有20台P型電腦的顯示器存貨,所以P型電腦最多只能裝配20件,每件D型需8平方尺,每件P型需5平方尺儲存空間,該公司只有300平方尺倉庫可用來存儲新產品。

試以單形法求出其最適解及總利潤。

令:

X1=D型裝配件數X2=P型裝配件數

則Max50X1+40X2+0S1+0S2+0S3(5.1)

s.t.3X1+5X2+1S1=150(5.2)

1X2+1S2=20(5.3)

8X1+5X2+1S3=300(5.4)

X1,X2,S1,S2,S3≧0(5.5)

●單形法之代數性質:

1.n個變數>m個限制式方程式→無限多解(上例中,變數為X1,X2,S1,S2,S3共5個,限制方程式共3個,由於

5(變數)>3(限制式)→無限多解)。

2.任何不滿足非負值限制的解都不要(上例中任何X1,X2,S1,S2,S3均需“≧”0)。

●找一個基本解

●基本解:

要找基本解,令n-m個變數等於零,再解剩下m個變數的m個限制式。

上例中有5個變數,3個方程式。

令2個(=5-3)變數等於零,解其他三個變數的三個聯立限制方程式。

上例中,若令X2=0,S1=0,則限制式為:

3X1=150,S2=20,8X1+S3=300

解聯立限制方程式得X1=50,S2=20,S3=-100及X2=0,S1=0,此解為一“、50,=20,=-100300________________________________________________________________________________________________________________基本解”。

●被令為零的變數稱為非基本變數(nonbasicvariable),剩餘的變數稱為基本變數(basicvariable)。

上例中X2,S1為非基本變數,X1,S2,S3為基本變數。

●基本可行解為一基本解,且滿足非負值條件。

●上例中S3=-100,所以例子存有非合理解。

●若令X1,X2為非基本變數(X1=0,X2=0),則限制式為S1=150,S2=20,S3=300,因此得解為X1=0,X2=0,S1=150,S2=20,S3=300,由於每一變數都≧0,所以此解為基本合理解。

 

海德公司基本合理解共有五個,如下所示:

極點X1X2S1S2S3

0015020300

75/2072/2200

3012080

50/32000200/3

020500200

結論:

(1)線性規劃合理區的每一個極端點都是基本合理解,其中有一極端點必為最適基本合理解。

(2)單形法是一個反覆的步驟,從一個基本合理解(極端點)起到另一個基本合理解(極端點),直至尋到最適基本解(極端點)為止。

⏹5.2表格型

●表格型目的:

在單形法中需要一個基本合理解作為起始點,表格型的目的即在尋找起始點,其原因為表格型具備找到「起始基本合理解」之二特性:

1.若能滿足以下二條件才能找到基本解:

(1)對每一個限制式,m個基本變數(在上例中S1,S2,

S3為基本變數)中只能有一個變數在該式的係數必

須是1,而在此式的其他基本變數的係數均為零。

上例第一個限制式中為1S1,0S2,0S3;第二個限制

式為0S1,1S2,0S3;第三個限制式為0S1,0S2,1S3。

(2)每個基本變數的係數,只有在一個限制式是1。

如上

例限制式中之1S1,1S2,1S3。

2.需要RHS值為非負值。

滿足以上二特性,稱之為表格型。

結論:

只要數學模式之限制式為“≦”及“非負值”者,即已為表格型了。

上例中,所有條件都是小於等於型的線性規劃問題,因此很容易找到起始基本合理解。

只要簡單的令決策變數等於零而解惰變數即可。

注意,惰變數就等於右手邊數值。

X1=0,X2=0,S1=150,S2=20及S3=300為起始基本合理解,這個解相當於用原點,極端點為起始合理解。

●單形法求解線性規劃問題的準備步驟:

(1)建立模型;

(2)加入惰變數或減去剩餘變數以建立標準型;(3)建立表格型。

⏹5.3建立初始單形表

在線性規劃轉變為表格型之後,即有一個起始基本合理解用以啟動單形法。

因此需先建立初始單形表。

●初始單形表之表示法:

Max:

Z=C1X1+C2X2+……

s.t.:

a11X1+a12X2+……≦b1

a21X1+a22X2+……≦b0

c列=目標函數係數的列數。

b行=限制式右邊值的行數。

A矩陣=限制式中變數係數的m列n行矩陣。

 

(c列)

C1C2…Cn

(A矩陣)

a11a12…a1n

a21a13…a2n

ミミ…ミ

a1a2…amn

b1︵

b2B

ミ行

bm︶

上例初始單形表如下:

X1X2S1S2S3

基底CB

5040000

S10

S20

S30

35100

01010

85001

150

20

300

因初始單形表已表格化了,所以很容易找到起始基本合理解。

(1)每個基本變數所對應的行,只有1在非零的位置。

這種行稱為單位行或單位向量。

(2)配合每個基本變數只有一列,這列有1在相當於基

本變數的單位行的地方。

上例中,基本變數:

S1=b1=150,S2=b2=20,S3=b3=300,因此起始基本合理解為:

X1=0,X2=0,S1=150,S2=20及S3=300。

計算列(當增加1單位,目標函數值減少的量)

Z1=0(3)+0(0)+0(8)=0Z2=0(5)+0

(1)+0(5)=0

Z3=1(0)+0(0)+0(0)=0Z4=0(0)+0

(1)+0(0)=0

Z5=0(0)+0(0)+0

(1)=0

計算Cj-Zj列(當Xj增加1單位,對目標函數的淨改變量)

Cj-Zj=50-0=50Cj-Zj=40-0=40

Cj-Zj=0-0=0Cj-Zj=0-0=0

Cj-Zj=0-0=0

目前基本合理解的利潤:

Z=150(0)+20(0)+300(0)=0

X1

X2

S1

S2

S3

基底

CB

50

40

0

0

0

S1

S2

S3

0

0

0

3

0

5

1

5

1

0

0

0

1

0

0

0

1

150

20

300

Zj

Cj-Zj

0

50

0

40

0

0

0

0

0

0

0

CB:

基本變數在目標函數的係數目標函數值

Zj:

第j行的變數帶入基本變數,造成目標函數值減少的量(MC)

Cj-Zj:

目標函數的淨改變量(淨評估列MR-MC)

X1:

設X2仍為非基本變數,若X1改為基本變數,將使S1減少3,S2減少0,S3減少8

X2:

設X1仍為非基本變數,X2改為基本變數,將使S1減少5,S2減少1,S3減少5

⏹5.4解的改進

單形法的工作即在變換變數,亦即由目前非基本變數中選一個變數,便之成為基本變數(進入變數),而目前的基本變數成為非基本變數(退出變數),如此反覆的交換,直至尋得一改善目標函數值的新基本合理解。

選擇新變數進入基底的判定準則:

由淨評估列(Cj-Zj)中,選擇每增加一個單位,能使目標函數改善程度最大者為新進入的基底變數,當數值相同時,選擇最左邊的一個。

上例中,選X1為進入變數,使之成為基本變數。

自目前基底移出一個變數的判定準則(最小比率測試):

假設進入基本變數來自單行表A矩陣的第j行,對每一列i,計算每個aij>0者的bi∕aij比值,最小的比值所對應的基本變數就離開基底。

在數值相同的情形;選擇最上面的一個。

B1∕a1=150∕3=50B2∕a2=20∕0=-

B3∕a3=300∕8=37.5

上例中,選S3為退出變數,使之成為非基本變數。

 

X1

X2

S1

S2

S3

 

bi∕aij

基底

CB

50

40

0

0

0

S1

S2

S3

0

0

0

3

0

5

1

5

1

0

0

0

1

0

0

0

1

150

20

300

150∕3=50

300∕8=37.5

Zj

Cj-Zj

0

50

0

40

0

0

0

0

0

0

0

樞紐元素樞紐行(進入行)利潤樞紐列

(退出列)

註:

步驟(從生產面來看)

1.生產何種產品?

MR-MC最大值(最適化條件)

2.生產多少數量?

選擇bi/aij最小值(可行性條件)

⏹5.5計算下一個表

更新單形表(亦即使新的基本變係數變成一單位行)。

上例中即為使X1行變成與S3行相似。

X1S3

︵︵

3→0=a11

0變為0=a21

81=a31

︶︶

基本列運算法:

1.將任何列(方程式)乘以一個非零值。

2.將任何一列乘以若干倍加到另一列。

基本列運算法不會改變限制式的解,但會改變限制式中各變數的係數及RHS值。

注意:

區別aij、aij、bij、bij。

(1)要使a31=1,則將樞紐列乘以(1/8)

1/8(8X1+5X2+0S1+0S2+1S3)=1/8(300)

X1+5/8X2+0S1+0S2+1/8S3=75/2(新樞紐列)

(2)要使a11=0,則將新樞紐列乘以(3)

3(1X1+5/8X2+0S1+0S2+1/8S3)=3(75/2)

3X1+15/8X2+0S1+0S2+3/8S3=225/2

將上例中之第一列減上式:

(3X1+5X2+1S1)-(3X1+15/8X2+3/8S3)=150-225/2

∴0X1+25/8X2+1S1-3/8S3=75/2

(3)a21=0∴不再做任何基本列運算

新的單形表如下:

X1

X2

S1

S2

S3

基底

CB

50

40

0

0

0

S1

S2

X1

0

0

50

0

0

1

25/8

1

5/8

1

0

0

0

1

0

-3/8

0

1/8

75/2

20

75/2

Zj

Cj-Zj

1875

得限制式如下:

25/8X2+1S1-3/8S3=75/2

1X2+1S2=20得改變原限制式各變數係數

1X1+5/8X2+1/8S3=75/2及RHS值

令X2=0,S3=0(非基本變數)

得S1=75/2,S2=20,X1=75/2

Z=0(75/2)+0(20)+50(75/2)=1875

●解釋每一循環的結果

起始基本合理解(極端點)→新基本合理解(極端點):

X1=0X1=75/2

X2=0X2=0

S1=150S1=75/2

S2=20S2=20

S3=300S3=0

Z=0Z=1875

X2

倉儲空間

P型

顯示器

裝配時間

可行區域

X1

D型

圖5.2海德公司問題的可行區及極點

●移向更好的解

以上方法反覆進行:

Z1=0(0)+0(0)+50

(1)=50

Z2=0(25/8)+0

(1)+50(5/8)=250/8

Z3=0

(1)+0(0)+50(0)=0

Z4=0(0)+0

(1)+50(0)=0

Z5=0(-3/8)+0(0)+50(1/8)=50/8

 

X1

X2

S1

S2

S3

bi∕aij

基底

CB

50

40

0

0

0

S1

S2

X1

0

0

50

0

0

1

25/8

1

5/8

1

0

0

0

1

0

-3/8

0

1/8

75/2

20

75/2

75/2/25/8=12

20/1=20

75/2/5/8=60

Zj

Cj-Zj

50

0

250/8

70/8

0

0

0

0

50/8

-50/8

1875

X2S1

︵︵

25/8→1=a12

1變為0=a22

5/80=a32

︶︶

(1)要使a12=1,則將樞紐列乘以(8/25)

8/25(0X1+25/8X2+1S1+0S2-3/8S3)=8/25(75/2)

0X1+1X2+8/25S1+0S2-3/25S3=12(新樞紐列)

(2)要使a22=0,則將上表中之第二列減去新樞紐列

(0X1+1X2+0S1+1S2+0S3)-(0X1+1X2+8/25S1+0S2-3/25S3)=20-12

0X1+0X2-8/25S1+1S2+3/25S3=8

(3)要使a21=0,則將新樞紐列乘以(5/8)

5/8(0X1+1X2+8/25S1+0S2-3/25S3)=5/8(12)

0X1+5/8X2+1/5S1+0S2-3/40S3=15/2

將上表中之第三列減上式

(1X1+5/8X2+0S1+0S2+1/8S3)-(0X1+5/8X2+5/25S1+0S2-3/40S3)=75/12-15/2

1X1+0X2-5/25S1+0S2+5/25S3)=30

經過運算之後的單形表如下:

X1

X2

S1

S2

S3

基底

CB

50

40

0

0

0

X2

S2

X1

40

0

50

0

0

1

1

0

0

8/25

-8/25

-5/25

0

1

0

-3/25

3/25

5/25

12

8

30

Zj

Cj-Zj

50

0

40

0

14/5

-14/5

0

0

26/5

-26/5

1980

得限制式如下:

X2+8/25S1-3/25S3=12

-8/25S1+S2+3/25S3=8改變單形法第二表限制式

X1-5/25S1+5/15S3=30各變數係數及RHS值

基本解X2=12,S2=8,X1=30,S1=0,S3=0

Z=40(12)+0(8)+50(30)=1980

極端點→

極端點

X1=25/2S2=20X1=30S2=8

X2=0S3=0X2=12S3=0

S1=75/2Z=1875S1=75/2Z=1980

●最適解判斷準則:

當所有淨評估列(Cj-Zj)的元素均為零或負值時,線性規劃問題的最適解就已達成。

此時,最適解就是目前的基本可行解。

●說明最適解

●單形法摘要

●單形法步驟摘要:

1.建立問題的線性規劃模式。

2.在每個限制條件添加惰變數使成為標準型。

對所有條件式都是小於等於型的問題,這也是用來找出初始基本可行解所需的表格型。

3.建立初始單形表。

4.選擇在淨評估列擁有最大值的非基本變數進入基底變數,找出樞紐行,也就是對應進入變數的行。

5.在樞紐行j中選擇aij>0,bi/aij比例最小的列為樞紐列,此列的基本變數為將要離開基底的變數。

6.進行必要的基本列運算,使進入變數的行變成單位行,其樞紐列的元素為1。

(1)將樞紐列的每一個元素除以樞紐項(位於樞紐列及樞紐行的元素)。

(2)將樞紐列乘以適當的值後加到其他的列,以使樞紐行的其他元素為0。

完成之後,可以由bi行的值得到新的基本可行解。

7.檢查是否最適解。

如果各行的Cj-Zj≦0,則我們已找到最適解,否則回到第4步。

⏹5.6表格型:

一般情形

●若所有限制程式均為小於等於零,及RHS值為“非負”,只要加“惰變數”即可。

●大於等於限制式

例:

Max50X1+40X2

s.t.3X1+5X2≦150裝配時間

1X2≦20P型顯示器

8X1+5X2≦300倉儲空間

1X1+1X2≧25最低總產量X1,X2≧0

↓標準型:

在標準型中令X1=X2=0(基本解)

得S1=150,S2=20,S3=300,S4=-25

∵S4=-25∴有非合理解

Max50X1+40X2+0S1+0S2+0S3+0S4

s.t.3X1+5X2+1S1=150

1X2+1S2=20

8X1+5X2+1S3=300

1X1+1X2-1S4=25X1,X2,S1,S2,S3,S4≧0

↓表格型(人為變數artificialvariable)

Max50X1+40X2+0S1+0S2+0S3+0S4-Ma4

s.t.3X1+5X2+1S1=150

1X2+1S2=20

8X1+5X2+1S3=300

1X1+1X2-1S4+1a4=25

X1,X2,S1,S2,S3,S4≧0

在表格型中令X1=X2=S4=0,得S1=150,S2=20,S3=300,a4=25,滿足單形表之基本合理解,但不能滿足所有限制條件,如:

X1+X2≧25(X1=X2=0),因此不合理,為達實際合理解只須以人為變數求出起始合理解,而後再於問題達最適解時,將人為變數消除。

人為變數消除的方法:

(重點:

人為變數目的在於求一起始基本合理解)。

在目標函數中,給每個人為變數一個很大的成本即可將人為變數消除。

上例中,給人為變數a4一個非常大的負值當做利潤,a4在基底內會大量減少利潤,如此a4會從基底中消除,即目標函數為:

Max50X1+40X2+0S1+0S2+0S3+0S4-Ma4

反之,在最小化問題中,目標函數改為

Min50X1+40X2+0S1+0S2+0S3+0S4+Ma4

人為變數,只是用來找起始基本合理解,只要人為變數離開基本合理解,就可以立刻將人為變數自單形表中去掉。

當所有人為變數都自基底中消除,即表該問題已得到一基本合理解了。

X1

X2

S1

S2

S3

S4

a4

基底

CB

50

40

0

0

0

0

-M

S1

S2

S3

a4

0

0

0

-M

3

0

8

5

1

5

1

1

0

0

0

0

1

0

0

0

0

1

0

0

0

0

-1

0

0

0

1

150

20

300

25

Zj

Cj-Zj

-M

50+M

-M

40+M

0

0

0

0

0

0

M

-M

-M

0

-25M

S1

S2

S3

X1

0

0

0

50

0

0

0

1

2

1

-3

1

1

0

0

0

0

1

0

0

0

0

1

0

0

0

8

-1

-3

0

-8

1

75

20

100

25

Zj

因X1+X2≧25(X1=X2=0)明顯不合理,因此為達實際合理解,需將人為變數消除

Cj-Zj

50

0

50

-10

0

0

0

0

0

0

-50

50

50

-M-50

1250

繼續完成之單形法如下:

X1

X2

S1

S2

S3

S4

基底

CB

50

40

0

0

0

0

S1

S2

S4

X1

0

0

0

0

0

0

0

1

25/8

1

-3/8

5/8

1

0

0

0

0

1

0

0

-3/8

0

1/8

1/8

0

0

1

0

75/2

20

25/2

75/2

X2=0,

S3=0

Zj

Cj-Zj

50

0

250/8

70/8

0

0

0

0

50/8

-50/8

0

0

1875

X2

S2

S4

X1

0

0

0

50

0

0

0

1

1

0

0

0

5/25

-8/25

3/25

-5/25

0

1

0

0

-3/25

3/25

2/25

5/25

0

0

1

0

12

8

17

30

S1=0,

S3=0

Zj

Cj-Zj

50

0

40

0

14/5

-14/5

0

0

26/5

-26/5

0

0

1980

●若問題已達最適解(所有Cj-Zj均“≦”0),但仍有一個或多個人為變數仍在基底中,則此問題“無合理解”。

●等式限制式

例:

6X1+4X2-5X3=30

↓加人為變數

6X1+4X2-5X3+1a1=30(表格型)

●清除負的右手邊值

例:

X2≦X1-5

↓移項

-X1+X2≦-5

↓各項乘(-1),使RHS成“非負值”

X1-X2≧5(表格型)

例:

6X1+3X2-4X3≧-20

↓各項乘(-1),使RHS成“非負值”

-6X1-3X2+4X3≦20

●表格型建立步驟摘要

⏹5.7解極小化問題

若為極小化問題,只需將目標函數乘以(-1),使其成為極大化問題,即可求得最適解,但所求得之目標函數值需乘以(-1),使其還原為原來極小化問題之目標函數值。

例:

Min2X1+3X2

s.t.1X1≧125產量A需求量

1X1+1X2≧350總產量

2X1+1X2≦600生產時間X1,X2≧0

↓目標函數乘(-1)

Max-2X1-3X2

s.t.1X1≧125產量A需求量

1X1+1X2≧350總產量

2X1+1X2≦600生產時間X1,X2≧0

↓表格化

Max-2X1-3X2+0S1+0S2+0S3-Ma1-Ma2

s.t.1X1-1S1+a1=125

1X1+1X2-1S2+1a2=350

2X1+1X2+1S3=600

X1,X2,S1,S2,S3,a1,a2≧0

起始單形表如下:

X1

X2

S1

S2

S3

a1

a2

基底

CB

-2

-3

0

0

0

-M

-M

a1

a2

S3

-M

-M

0

O

2

0

1

1

-1

0

0

0

-1

0

0

0

1

1

0

0

0

1

0

125

350

600

Zj

Cj-Zj

-2M

-2+2M

-M

-3+M

M

-M

M

-M

0

0

-M

0

-M

0

-475M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1