2024年4月20日发(作者:)

MATLAB试验

MATLAB中用于解线性规划问题的函数—lp()

格式:

x=lp(c,A,b)

x=lp(c,A,b,vlb)

x=lp(c,A,b,vlb,vub)

x=lp(c,A,b,vlb,vub,x0)

x=lp(c,A,b,vlb,vub,x0,neqcstr,display)

x=lp(c,A,b,vlb,vub,x0,neqcstr,display)

说明:

lp函数用于求解如下线性规划问题:

目标函数

cx

min

约束条件

Axb

其中A为矩阵,c为行向量,b为列向量。即

minfc

1

x

1

cx

2

2

c

n

x

n

a

11

a

21

a

m1

a

12

a

22

a

m2

a

1n

x

1



b

1

x



b

a

2n

2



2







a

mn

x

n



b

m

功能:

x=lp(c,A,b)求解上述线性规划问题,返回线性规划的解向量x。

x=lp(c,A,b,vlb)设置解向量的下界,即解向量必须满足vlb<=x。

x=lp(c,A,b,vlb,vub)设置解向量的上下界,即解向量必须满足vlb<=x<=vub。

x=lp(c,A,b,vlb,vub,x0)设置初始解向量为x0。

x=lp(c,A,b,vlb,vub,x0,neqcstr)设置在约束条件中等式约束的个数,等式约束必须

位于约束方程的前面几个。

x=lp(c,A,b,vlb,vub,x0,neqcstr,display)设置警告信息的显示。

辅助函数:

y=zeros(m,n)

其功能是使y成为m行n列的零矩阵。

实习题目:

1. 解线性规划问题

mins

5x

1

4x

2

6x

3

x

1

x

2

x

3

20

3x

2x

4x

42

123

3x

1

2x

2

30

x

1

0,x

2

0,x

3

0

2. 丽莎为了健康,打算每天从柳丁、木瓜、香蕉、胡萝卜4种水果中获取

维生素A、B、C、D。假设柳丁每个20元,木瓜每个30元,香蕉每根15元,胡

萝卜每根25元。每天她最少必需摄取500单位维生素A, 250单位维生素B, 600

单位维生素C, 以及300单位维生素D,各水果所含维生素及价格如表1。

表1. 水果价格及含维生素含量

水果

柳丁(

x

1

) 木瓜(

x

2

) 香蕉(

x

3

) 胡萝卜(

x

4

) 最少需求

维生素

A 5 50 10 80 500

B 15 30 40 20 250

C 90 20 30 30 600

D 10 15 10 50 300

价 格 20 30 15 25

试求花费最少,又能满足各种维生素摄取量的最佳解。

3. 某工厂生产

A

1

A

2

两种产品。已知生产

A

1

一万瓶要用原料5公斤

B

1

300公斤

B

2

,12公斤

B

3

,可获利润8000元;生产

A

2

一万瓶要用原料3公斤

B

1

80公斤

B

2

,4公斤

B

3

,可获利润3000元。该厂现有原料500公斤

B

1

,20000公

B

2

,900公斤

B

3

。问生产

A

1

A

2

各多少,才能获得最大利润?

4. 某厂用

A

1

A

2

两台机床,加工

B

1

B

2

B

3

三种不同零件。已知在一个

生产周期内

A

1

只能工作80机时,

A

2

只能工作100机时。一个生产周期计划加工

70个零件

B

1

,50个

B

2

,20个

B

3

。两台机床加工每个零件的时间和每个零件的

成本,分别如表2和表3,问如何安排加工任务,才能使加工成本最低?

表2. 加工每个零件所需时间表 (单位:机时∕个)

零件

B

3

B

2

B

1

机床

A

1

1 1 1

A

2

1 2 3

表3. 加工每个零件成本表 (单位:元∕个)

零件

B

3

B

2

B

1

机床

A

1

2 3 5

A

2

3 4 6