数学建模第10次课实践报告(LINGO线性规划刷题共7道)

数学建模第10次课实践报告

大家可以作为学习线性规划的练习题使用。适用Lingo软件。

目录

数学建模第10次课实践报告

课堂练习1

题目给出

模型建立

模型解决

Lingo代码

运行结果

课堂练习2

问题给出

模型建立

模型解决

作业10

1.

1)

2)

2.

lingo代码

3.(指派问题)

Lingo代码:

附加题(选做)

模型建立

lingo代码

课堂练习1

题目给出

分配甲、乙、丙、丁四人去完成五项任务,每人完成各项任务的时间如下表所示。由于任务数多于人数,故规定其中有一个人可完成两项任务,其余三人每人只完成一项任务。试确定总花费时间最少的分配任务方案。

A

B

C

D

E

9

2

4

15

9

6

5

12

4

2

11

7

13

4

17

19

11

15

8

9

模型建立

0-1规划模型

决策变量:设xij=1表示第i个人去完成第j个任务(i=1,2,3,4,j=1,2,3,4,5)。aij是第i个人完成第j个任务所需要的时间。

目标函数:求最小值

约束条件:每个人只能做1或2个任务,每个任务必须有人做。

模型解决

Lingo代码
model:

sets:

person/1..4/;

mission/1..5/;

assignment(person,mission):time,x;

endsets



data:

time=9 2 4 15 9 6 5 12 4 2 11 7 13 4 17 19 11 15 8 9;

enddata



min=@sum(assignment(i,j):time*x);

@for(mission(j):@sum(person(i):x(i,j))=1);

@for(person(i):@sum(mission(j):x(i,j))>1);

@for(person(i):@sum(mission(j):x(i,j))<2);

@for(assignment:@bin(x));

End

运行结果

课堂练习2

问题给出

有两辆长10.2m,载重40t的铁路平板车,要装载7种不同规格的货物箱。这7种箱子的厚度、重量、库存量如下表所示。

货箱类型

C1

C2

C3

C4

C5

C6

C7

厚度(cm)

48.7

52

61.3

72

48.7

52

64

重量(t)

2

3

1

0.5

4

2

1

库存量(个)

8

7

9

6

6

4

8

假设各种箱子的高度和宽度均符合铁路运输的标准(不妨设它们的宽度和高度均为相同),试问在两辆车上应如何装载,使平板车浪费的空间最小?当地铁路部门还有一个附加的规定:第5、6、7这3种箱子装车厚度和不得超过302.7cm。

模型建立

设Ci类货箱的厚度为ti,重量为wi,库存量为ni;第一辆平板车装载Ci类货箱xi件,第二辆平板车装载Ci类货箱yi件,其中i=1,2,…,7.

模型解决

Lingo代码
model:

sets:



container/1..7/:t,w,n,x,y;



endsets



data:

t=48.7,52,61.3,72,48.7,52,64;

w=2,3,1,0.5,4,2,1;

n=8,7,9,6,6,4,8;

enddata



min=2040-@sum(container(i):t(i)*(x(i)+y(i)));

@sum(container(i):w(i)*x(i))<40;

@sum(container(i):w(i)*y(i))<40;

@sum(container(i):t(i)*x(i))<1020;

@sum(container(i):t(i)*y(i))<1020;

@sum(container(i)|i#ge#5:t(i)*(x(i)+y(i)))<302.7;

@for(container:@gin(x));

@for(container:@gin(y));

end
运行结果

作业10

用LINGO求解下列规划问题

1)
model:

min=3*x1+x2+x3;

x1-2*x2+x3<0;

-4*x1+x2+2*x3>3;

-2*x1+x3<1;

x1>0;

x2>0;

x3>0;

end

2)
model:

min=7*x1+9*x2;

-x1+3*x2>6;

7*x1+x2>35;

x1>0;

x2>0;

@gin(x1);

@gin(x2);

end


2.

某化工厂要用三种原材料C、P、H混合配出三种不同规格的产品A、B、D.已知产品的规格要求,产品单价,每天能供应的原材料数量及原材料单价如表1所示,求利润最高的

采购计划.

原料

产品

A

B

D

供应量(kg/天)

单价(元/kg)

C

≥50%

≥25%

100

65

P

≤25%

≤50%

100

25

H

60

35

单价

50

35

25

设A产品使用原料C为:x11。以此类推,自变量设为:

A产品:x11,x12,x13。

B产品:x21,x22,x23。

D产品:x31,x32,x33。

同样,对于原料,原来C用于A产品的量设为x11。以此类推,自变量设为:

原料C:x11,x21,x31。

原料P:x12,x22,x32。

原料H:x13,x23,x33。

所以,目标函数为:

max z = 50(x11+x12+x13)+35(x21+x22+x23)+25(x31+x32+x33)-65(x11+x21+x31)

-25(x12+x22+x32)-35(x13+x23+x33)

约束条件为:

       x11≥0.5(x11+x12+x13)

       x12≤0.25(x11+x12+x13)

       x21≥0.25(x21+x22+x23)

       x22≤0.5(x21+x22+x23)

       x11+x21+x31≤100

       x12+x22+x32≤120

       x13+x23+x33≤60

     xij≥0,i,j=1,2,3

整理之后,得到如下约束条件:

       x12+x13-x11≤0

       3x12-x11-x13≤0

       x22+x23-3x21≤0

       x22-x21-x23≤0

       x11+x21+x31≤100

       x12+x22+x32≤100  

       x13+x23+x33≤60

       xij≥0,i,j=1,2,3

lingo代码
model:

sets:

product/1..3/:w;

material/1..3/:p;

use(product,material):x;

endsets



data:

p=50 35 25;

w=65 25 35;

enddata



max=@sum(use(i,j):w(i)*x(i,j))-@sum(use(i,j):p(j)*x(i,j));

x(1,2)+x(1,3)-x(1,1)<0;

3*x(1,2)-x(1,1)-x(1,3)<0;

x(2,2)+x(2,3)-3*x(2,1)<0;

x(2,2)-x(2,1)-x(2,3)<0;

@sum(use(i,j)|j#eq#1:x(i,j))<100;

@sum(use(i,j)|j#eq#2:x(i,j))<100;

@sum(use(i,j)|j#eq#3:x(i,j))<60;



end

3.(指派问题)

考虑指派n个人完成n项任务(每人单独承担一项任务),使所需的总完成时间(成本)尽可能短.已知某指派问题的有关数据(每人完成各任务所需的时间)如下表

所示,试求解该指派问题.

工人

任务

1

2

3

4

1

15

18

21

24

2

19

23

22

18

3

26

18

16

19

4

19

21

23

17

0-1规划问题

决策变量:xij表示第i个人完成第j个任务,i=1..4,j=1..4.

目标函数:min z=∑t*x

约束条件:每个人必须完成一项任务,每项任务必须有人完成,x只能取0或1。

Lingo代码:
model:

sets:

person/1..4/;

mission/1..4/;

assignment(person,mission):time,x;

endsets



data:

time=15 18 21 24 19 23 22 18 26 18 16 19 119 21 23 27;

enddata



min=@sum(assignment(i,j):time*x);

@for(mission(j):@sum(person(i):x(i,j))=1);

@for(person(i):@sum(mission(j):x(i,j))=1);

@for(assignment:@bin(x));

end

附加题(选做)

物流配送中心选址问题,是在给定某一地区所有备选点的地址集合中选出一定数目的地址建成配送中心,建立一系列的配送区域,以实现选出点建立的配送中心与各需求点和工厂形成的配送系统总物流费最小。

总费用=运输费用+配送费用+仓储费用+固定成本

表 2 工厂到配送中心的运输价格

W1

W2

W3

W4

P1

6

5

4

2

P2

2

3

4

9

P3

6

8

7

5

P4

7

4

2

3

P5

4

2

5

1

P6

3

4

1

7

表 2 配送中心到客户的运输价格

C1

C2

C3

C4

C5

C6

W1

3

2

7

4

7

5

W2

6

1

4

2

5

3

W3

2

4

5

3

6

8

W4

5

6

3

7

4

6

表 4 工厂的总生产能力

工厂

P1

P2

P3

P4

P5

P6

总生产能力(p)

40000

50000

60000

70000

60000

40000

表 5 备选物流配送中心的固定成本,单位管理成本,容量

物流配送中心

W1

W2

W3

W4

固定成本(f)

500000

300000

400000

400000

单位管理成本(g)

3

2

5

4

仓库容量(a)

10000

60000

70000

50000

表 6 客户的需求量

顾客

C1

C2

C3

C4

C5

C6

需求(d)

10000

20000

10000

20000

30000

10000

任务:请建立相应的规划模型,并利用LINGO求解。

模型建立

xij表示i工厂到j物流仓库运货量,aij为对应运输价格,yjk表示j物流仓库到k客户运货量,bjk为对应运输价格,i=1,...,6,j=1,...,4,k=1,...,6.pj为工厂生产能力,fj为存储固定成本,gj为存储单位管理成本,rj为物流仓库容量,dk为客户需求量。

lingo代码
model:

sets:

fac/1..6/:p;

log/1..4/:f,g,r;

cli/1..6/:d;

fir(fac,log):x,a;

sec(log,cli):y,b;

endsets



data:

a=6 5 4 2 2 3 4 9 6 8 7 5 7 4 2 3 4 2 5 1 3 4 1 7 ;

b=3 2 7 4 7 5 6 1 4 2 5 3 2 4 5 3 6 8 5 6 3 7 4 6 ;

p=40000 50000 60000 70000 60000 40000;

f=500000 300000 400000 400000;

g=3 2 5 4;

r=10000 60000 70000 50000;

d=10000 20000 10000 20000 30000 10000;

enddata



min=@sum(fir:a*x)+@sum(sec:b*y)+@sum(log:f)+@sum(fir(i,j):g(j)*x(i,j));

@for(cli(k):@sum(log(j):y(j,k))-d(k)=0);

@for(log(j):@sum(fac(i):x(i,j))-r(j)<0);

@for(log(j):@sum(fac(i):x(i,j))-@sum(cli(k):y(j,k))=0);

end

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值