Matlab建模 線性規劃問題

2021-10-07 18:23:21 字數 3914 閱讀 9268

數學建模期末複習,撰寫部落格做總結之用,主要側重於算例的模型建立與部分**的實現,其中不足之處望讀者多多指正。

引例2(工廠招聘問題)

利用matlab求解兩個線性規劃問題,做複習總結用,詳細知識讀者可先移步他處學習,不足之處望多多指正。

1.x=linprog(c,a,b,aeq,beq, vlb,vub)

2.[x,fval]=linprog(…)

fval為目標函式值

詳細講解可檢視matlab的heip文件

任務分配問題:某車間有甲、乙兩台工具機,可用於加工三種工件.假定這兩台車床的可用臺時數分別為800和900,三種工件的數量分別為400、600和500,且已知用三種不同車床加工單位數量不同工件所需的臺時數和加工費用如下表.問怎樣分配車床的加工任務,才能既滿足加工工件的要求,又使加工費用最低?

設在甲車床上加工工件1、2、3的數量分別為x

1x_1

x1​、x

2x_2

x2​、x

3x_3

x3​,在乙車床上加工工件1、2、3的數量分別為x

4x_4

x4​、x

5x_5

x5​、x

6x_6

x6​,可建立以下線性規劃模型:

min ⁡z

=13x1

+9x2

+10x3

+11x4

+12x5

+8x6

&\min z=13 x_+9 x_+10 x_+11 x_+12 x_+8 x_\\ &\begin \quad\left\ \mathrm_+x_=400 \\ x_+x_=600 \\ x_+x_=500 \\ 0.4 x_+1.1 x_+x_ \leq 800 \\ 0.5 x_+1.2 x_+1.3 x_ \leq 900 \\ x_ \geq 0, i=1,2, \cdots, 6 \end\right. \end \end

​minz=

13x1

​+9x

2​+1

0x3​

+11x

4​+1

2x5​

+8x6

​⎩⎪⎪

⎪⎪⎪⎪

⎨⎪⎪⎪

⎪⎪⎪⎧

​x1​

+x4​

=400

x2​+

x5​=

600x

3​+x

6​=5

000.

4x1​

+1.1

x2​+

x3​≤

8000

.5x4

​+1.

2x5​

+1.3

x6​≤

900x

i​≥0

,i=1

,2,⋯

,6​​

c=[13

91011128]

; a=

[0.04

1.1100

0;00

00.5

1.21.3;]

; b=

[800

;900];

aeq=[1

0010

0;01

0010

;001

001]

; beq=

[400

600500];

vlb=[0

;0;0

;0;0

;0]; vub=

;[x,fval]

=linprog

(c,a,b,aeq,beq,vlb,vub)

輸出:x =

0.0000

600.0000

0.0000

400.0000

0.0000

500.0000

fval =

1.3800e+04

某廠每日8小時的產量不低於1800件.為了進行質量控制,計畫聘請兩種不同水平的檢驗員.一級檢驗員的標準為:速度25件/小時,正確率98%,計時工資4元/小時;二級檢驗員的標準為:速度15件/小時,正確率95%,計時工資3元/小時.檢驗員每錯檢一次,工廠要損失2元.為使總檢驗費用最省,該工廠應聘一級、二級檢驗員各幾名?

設需要一級和二級檢驗員的人數分別為x

1x_1

x1​、x

2x_2

x2​人,則應付檢驗員的工資為:

32 x1

+24x2

32x_1+24x_2

32x1​+

24x2

​因檢驗員錯檢而造成的損失為:

8 x1

+12x2

8x_1+12x_2

8x1​+1

2x2​

故得規劃模型為:

min ⁡z

=32x1

+24x2

)+(8

x1+12

x2)=

40x1+

36x2st. 

&\min z=32 x_+24 x_)+(8 x_+12 x_)=40 x_+36 x_ \\ &\text \left\ 8 \times 25 \times x_+8 \times 15 \times x_ \geq 1800 \\ 8 \times 25 \times x_ \leq 1800 \\ 8 \times 15 \times x_ \leq 1800 \\ x_ \geq 0, x_ \geq 0 \end\right. \end

​minz=

32x1

​+24

x2​)

+(8x

1​+1

2x2​

)=40

x1​+

36x2

​st. ⎩⎪

⎪⎨⎪⎪

⎧​8×

25×x

1​+8

×15×

x2​≥

1800

8×25

×x1​

≤180

08×1

5×x2

​≤18

00x1

​≥0,

x2​≥

0​​化簡得:

min ⁡z

=40x1

+36x2

st. 

&\min z=40 x_+36 x_\\ &\text \left\ 5 x_+3 x_ \geq 45 \\ x_ \leq 9 \\ x_ \leq 15 \\ x_ \geq 0, x_ \geq 0 \end\right. \end

​minz=

40x1

​+36

x2​st. ⎩⎪

⎪⎨⎪⎪

⎧​5x

1​+3

x2​≥

45x1

​≤9x

2​≤1

5x1​

≥0,x

2​≥0

​​

c=[40

36]; a=[-

5-3]

; b=[-

45]; aeq=

; beq=

; vlb=[0

;0]; vub=[9

;15];

[x,fval]

=linprog

(c,a,b,aeq,beq,vlb,vub)

輸出結果:

x =9.0000 ;0.0000 fval =360

即最優方案為招募9名一級

數學建模 matlab解決線性規劃問題

在人們的生產實踐中,經常會遇到如何利用現有資源來安排生產,以取得最大經濟效 益的問題。此類問題構成了運籌學的乙個重要分支一數學規劃,而線性規劃 linear programming,lp 則是數學規劃的乙個重要分支。自從1947年g.b.dantzig 提出求解線 性規劃的單純形方法以來,線性規劃在...

MATLAB數學建模 3 非線性規劃

將要規劃求解的問題運用各種原理寫成要最大化或者最小化的數學公式後,運用matlab求解問題。針對非線性規劃,matlab提供了如下命令 fimincon.matlab中非線性規劃的數學模型可寫成如下形式 f x 為標量函式,a,b,aeq,beq是相應維數的矩陣和向量,c x ceq x 是非線性向...

數學建模 線性規劃與matlab解法

1.1.1 線性規劃的例項和定義 某工具機廠生產甲 乙兩種工具機,每台銷售後的利潤分別為4000元與3000元。生產甲工具機需用a b機器加工,加工時間分別為每台2h和1h 生產乙工具機需用a b c三種機器加工,加工時間為每台1h。若每天可用於加工的機器時數為a機器10h b機器8h和c機器7h,...