运筹学实例分析及lingo求解.docx

上传人:b****7 文档编号:10372674 上传时间:2023-02-10 格式:DOCX 页数:21 大小:101.77KB
下载 相关 举报
运筹学实例分析及lingo求解.docx_第1页
第1页 / 共21页
运筹学实例分析及lingo求解.docx_第2页
第2页 / 共21页
运筹学实例分析及lingo求解.docx_第3页
第3页 / 共21页
运筹学实例分析及lingo求解.docx_第4页
第4页 / 共21页
运筹学实例分析及lingo求解.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

运筹学实例分析及lingo求解.docx

《运筹学实例分析及lingo求解.docx》由会员分享,可在线阅读,更多相关《运筹学实例分析及lingo求解.docx(21页珍藏版)》请在冰豆网上搜索。

运筹学实例分析及lingo求解.docx

运筹学实例分析及lingo求解

运筹学实例分析及lingo求解

一、线性规划

某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。

各供货仓库到8个客户处的单位货物运输价见表

V1

V2

V3

V4

V5

V6

V7

V8

W1

6

2

6

7

4

2

5

8

W2

4

9

5

3

8

5

8

2

W3

5

2

1

9

7

4

3

3

W4

7

6

7

3

9

2

7

1

W5

2

3

9

5

7

2

6

5

W6

5

5

2

2

8

1

4

3

试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。

解:

表示从第

个仓库到第

个客户的货物运量。

表示从第

个仓库到第

个客户的单位货物运价,

表示第

个仓库的最大供货量,

表示第

个客户的订货量。

目标函数是使总运输费用最少,约束条件有三个:

1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束

数学模型为:

编程如下:

model:

Sets:

Wh/w1..w6/:

ai;

Vd/v1..v8/:

dj;

links(wh,vd):

c,x;

endsets

Data:

ai=60,55,51,43,41,52;

dj=35,37,22,32,41,32,43,38;

c=6,2,6,7,4,2,5,9

4,9,5,3,8,5,8,2

5,2,1,9,7,4,3,3

7,6,7,3,9,2,7,1

2,3,9,5,7,2,6,5

5,5,2,2,8,1,4,3;

Enddata

Min=@sum(links(i,j):

c(i,j)*x(i,j));

@for(wh(i):

@sum(vd(j):

x(i,j))<=ai(i));

@for(vd(j):

@sum(wh(i):

x(i,j))=dj(j));

end

Globaloptimalsolutionfound.

Objectivevalue:

664.0000

Totalsolveriterations:

0

 

VariableValueReducedCost

AI(W1)60.000000.000000

AI(W2)55.000000.000000

AI(W3)51.000000.000000

AI(W4)43.000000.000000

AI(W5)41.000000.000000

AI(W6)52.000000.000000

DJ(V1)35.000000.000000

DJ(V2)37.000000.000000

DJ(V3)22.000000.000000

DJ(V4)32.000000.000000

DJ(V5)41.000000.000000

DJ(V6)32.000000.000000

DJ(V7)43.000000.000000

DJ(V8)38.000000.000000

C(W1,V1)6.0000000.000000

C(W1,V2)2.0000000.000000

C(W1,V3)6.0000000.000000

C(W1,V4)7.0000000.000000

C(W1,V5)4.0000000.000000

C(W1,V6)2.0000000.000000

C(W1,V7)5.0000000.000000

C(W1,V8)9.0000000.000000

C(W2,V1)4.0000000.000000

C(W2,V2)9.0000000.000000

C(W2,V3)5.0000000.000000

C(W2,V4)3.0000000.000000

C(W2,V5)8.0000000.000000

C(W2,V6)5.0000000.000000

C(W2,V7)8.0000000.000000

C(W2,V8)2.0000000.000000

C(W3,V1)5.0000000.000000

C(W3,V2)2.0000000.000000

C(W3,V3)1.0000000.000000

C(W3,V4)9.0000000.000000

C(W3,V5)7.0000000.000000

C(W3,V6)4.0000000.000000

C(W3,V7)3.0000000.000000

C(W3,V8)3.0000000.000000

C(W4,V1)7.0000000.000000

C(W4,V2)6.0000000.000000

C(W4,V3)7.0000000.000000

C(W4,V4)3.0000000.000000

C(W4,V5)9.0000000.000000

C(W4,V6)2.0000000.000000

C(W4,V7)7.0000000.000000

C(W4,V8)1.0000000.000000

C(W5,V1)2.0000000.000000

C(W5,V2)3.0000000.000000

C(W5,V3)9.0000000.000000

C(W5,V4)5.0000000.000000

C(W5,V5)7.0000000.000000

C(W5,V6)2.0000000.000000

C(W5,V7)6.0000000.000000

C(W5,V8)5.0000000.000000

C(W6,V1)5.0000000.000000

C(W6,V2)5.0000000.000000

C(W6,V3)2.0000000.000000

C(W6,V4)2.0000000.000000

C(W6,V5)8.0000000.000000

C(W6,V6)1.0000000.000000

C(W6,V7)4.0000000.000000

C(W6,V8)3.0000000.000000

X(W1,V1)0.0000005.000000

X(W1,V2)19.000000.000000

X(W1,V3)0.0000005.000000

X(W1,V4)0.0000007.000000

X(W1,V5)41.000000.000000

X(W1,V6)0.0000002.000000

X(W1,V7)0.0000002.000000

X(W1,V8)0.00000010.00000

X(W2,V1)1.0000000.000000

X(W2,V2)0.0000004.000000

X(W2,V3)0.0000001.000000

X(W2,V4)32.000000.000000

X(W2,V5)0.0000001.000000

X(W2,V6)0.0000002.000000

X(W2,V7)0.0000002.000000

X(W2,V8)0.0000000.000000

X(W3,V1)0.0000004.000000

X(W3,V2)11.000000.000000

X(W3,V3)0.0000000.000000

X(W3,V4)0.0000009.000000

X(W3,V5)0.0000003.000000

X(W3,V6)0.0000004.000000

X(W3,V7)40.000000.000000

X(W3,V8)0.0000004.000000

X(W4,V1)0.0000004.000000

X(W4,V2)0.0000002.000000

X(W4,V3)0.0000004.000000

X(W4,V4)0.0000001.000000

X(W4,V5)0.0000003.000000

X(W4,V6)5.0000000.000000

X(W4,V7)0.0000002.000000

X(W4,V8)38.000000.000000

X(W5,V1)34.000000.000000

X(W5,V2)7.0000000.000000

X(W5,V3)0.0000007.000000

X(W5,V4)0.0000004.000000

X(W5,V5)0.0000002.000000

X(W5,V6)0.0000001.000000

X(W5,V7)0.0000002.000000

X(W5,V8)0.0000005.000000

X(W6,V1)0.0000003.000000

X(W6,V2)0.0000002.000000

X(W6,V3)22.000000.000000

X(W6,V4)0.0000001.000000

X(W6,V5)0.0000003.000000

X(W6,V6)27.000000.000000

X(W6,V7)3.0000000.000000

X(W6,V8)0.0000003.000000

RowSlackorSurplusDualPrice

1664.0000-1.000000

20.0000003.000000

322.000000.000000

40.0000003.000000

50.0000001.000000

60.0000002.000000

70.0000002.000000

80.000000-4.000000

90.000000-5.000000

100.000000-4.000000

110.000000-3.000000

120.000000-7.000000

130.000000-3.000000

140.000000-6.000000

150.000000-2.000000

由以上结果可以清楚的看到由各仓库到各客户处的货物调运数量,由此得出的符合条件的最佳运货方案,而使运费最低,最低为664。

二、运输规划

重庆有三家电子厂分别是新普,隆宇和恒华,生产的笔记本电脑将要运向北京,天津,广东,上海四个城市销售,其产量和销售量见下表:

(单位:

万台)

表:

1-1

北京

天津

广东

上海

产量

新普

6

2

6

7

30

隆宇

4

9

5

3

25

恒华

8

8

1

5

21

销量

15

17

22

12

-

问:

哪种销售方案将会取得最少的运输费用,费用为多少?

针对该运输问题,为了方便计算,可以设新普(A1),隆宇(A2)和恒华(A3)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为

.建立以下模型:

表:

1-2

B1

B2

B3

B4

产量

A1

6

2

6

7

30

A2

4

9

5

3

25

A3

8

8

1

5

21

销量

15

17

22

12

-

目标(Theobjective)最少费用:

约束条件:

供应限制(Thesupplyconstrains)指标约束(Thedamandconstrains)

LINGO模型:

model:

sets:

origin/1..3/:

a;

sale/1..4/:

b;

routes(origin,sale):

c,x;

endsets

data:

a=30,25,21;

b=15,17,22,12;

c=6,2,6,7,4,9,5,3,8,8,1,5;

enddata

[OBJ]min=@sum(routes:

c*x);

@for(origin(i):

[SUP]

@sum(sale(j):

x(i,j))<=a(i));

@for(sale(j):

[DEM]

@sum(origin(i):

x(i,j))=b(j));

end

lingo结果:

Globaloptimalsolutionfound.

Objectivevalue:

161.0000

Infeasibilities:

0.000000

Totalsolveriterations:

6

VariableValueReducedCost

X(1,1)2.0000000.000000

X(1,2)17.000000.000000

X(1,3)1.0000000.000000

X(1,4)0.0000002.000000

X(2,1)13.000000.000000

X(2,2)0.0000009.000000

X(2,3)0.0000001.000000

X(2,4)12.000000.000000

X(3,1)0.0000007.000000

X(3,2)0.00000011.00000

X(3,3)21.000000.000000

X(3,4)0.0000005.000000

RowSlackorSurplusDualPrice

OBJ161.0000-1.000000

SUP

(1)10.000000.000000

SUP

(2)0.0000002.000000

SUP(3)0.0000005.000000

DEM

(1)0.000000-6.000000

DEM

(2)0.000000-2.000000

DEM(3)0.000000-6.000000

DEM(4)0.000000-5.000000

从计算结果可以得出,新普(A1)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为分别为2万台,17万台,1万台,0万台,剩余10万台;隆宇(A2)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为别为13万台,0万台,0万台,12万台,剩余0万台;恒华(A3)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为分别为0万台,0万台,21万台,0万台,剩余0万台;总费用为161个单位.

三、整数规划

某公司打算向它的3个营业区增设6个销售店,每个营业区至少增设一个。

从各区赚取的利润与增设的销售店个数有关,其数据如下表所示。

试求各区应分配几个增设的销售店,才能使总利润最大。

销售点增加数

0

1

2

3

4

A区利润/万元

100

200

280

330

340

B区利润/万元

200

210

220

225

230

C区利润/万元

150

160

170

180

200

要设置集合zone/A,B,C/,表示三个地区。

因为获得的利润与地区和各地的销售点增加数均相关,所以可以仿照运输模型,用number/1..4/表示每个地区可选的销售点增加数,然后用一个派生集links(zone,number):

c,profit,定义

profit(i,j)为在i地区新增j个销售点能获得的利润。

可写出约束条件为:

所求函数为max=@sum(links:

c*profit);

Lingo程序如下:

model:

sets:

zone/A,B,C/;!

A,B,C三个地区;

number/1..4/;!

各地区可选择新建的销售点数目,可选1~4中的一个数,通过links把zone和number联系起来;

links(zone,number):

c,profit;!

若在i地区新建j个销售点,则c(i,j)=1,否则c(i,j)=0.profit(i,j)表示在i地区新建j个销售点的利润;

endsets

data:

profit=200280330340

210220225230

160170180200;

enddata

max=@sum(links:

c*profit);

@for(zone(I):

@sum(number(J):

c(I,J))=1);!

对于每一个地区,新建销售点的数目是一定的,c的和为1;

@sum(zone(I):

@sum(number(J):

c(I,J)*J))=6;!

三个地区新建的销售点总数为6;

@for(links(i,j):

@bin(c(i,j)));!

每一个c(i,j)只能取0或1;

end

用Lingo求解,结果如下:

Globaloptimalsolutionfound.

Objectivevalue:

710.0000

Extendedsolversteps:

0

Totalsolveriterations:

0

VariableValueReducedCost

C(A,1)0.000000-200.0000

C(A,2)0.000000-280.0000

C(A,3)1.000000-330.0000

C(A,4)0.000000-340.0000

C(B,1)1.000000-210.0000

C(B,2)0.000000-220.0000

C(B,3)0.000000-225.0000

C(B,4)0.000000-230.0000

C(C,1)0.000000-160.0000

C(C,2)1.000000-170.0000

C(C,3)0.000000-180.0000

C(C,4)0.000000-200.0000

则在A,B,C区域应分别新增3,1,2个销售点,可获得的最大利润为710万元。

四、目标规划

有11件任务(A—K)分配到4个工作站(1—4),任务的优先次序如下图。

每件任务所花费的时间如下表。

任务

A

B

C

D

E

F

G

H

I

J

K

时间

45

11

9

50

15

12

12

12

12

8

9

解:

用变量

表示任务

分配给工作站

的情况,

表示分配,

表示不分配,

表示完成各项任务所需时间,则目标函数为

约束条件

(1):

每项任务只能且必须分配至一个工作站来做,可以表示为:

约束条件

(2):

各项任务间如果有优先关系,则排在前面的任务

对应的工作站(序号)应当小于(或等于)排在后面的任务

所对应的工作站(序号),即对所有有顺序的任务

约束条件(3):

这是一个非线性规划(目标函数非线性),但可以化为线性规划,增加一个变量,再增加四个约束条件:

,目标函数变为

LINGO程序为:

model:

sets:

task/ABCDEFGHIJK/:

t;

pred(task,task)/A,BB,CC,FC,GF,JG,JJ,KD,EE,HE,IH,JI,J/;

station/1..4/;

tsx(task,station):

x;

endsets

data:

T=4511950151212121289;

enddata

@for(task(i):

@sum(station(k):

x(i,k))=1);

@for(pred(i,j):

@sum(station(k):

k*x(j,k)-k*x(i,k))>=0);

@for(station(k):

@sum(txs(i,k):

t(i)*x(i,k))<=cyctime);

min=cyctime;

@for(txs:

@bin(x));

end

计算的部分结果为

Globaloptimalsolutionfoundatiteration:

1255

Objectivevalue:

50.00000

VariableValueReducedCost

CYCTIME50.000000.000000

X(A,1)1.0000000.000000

X(A,2)0.0000000.000000

X(A,3)0.00000045.00000

X(A,4)0.0000000.000000

X(B,1)0.0000000.000000

X(B,2)0.0000000.000000

X(B,3)1.00000011.00000

X(B,4)0.0000000.000000

X(C,1)0.0000000.000000

X(C,2)0.0000000.000000

X(C,3)0.0000009.000000

X(C,4)1.0000000.000000

X(D,1)0.0000000.000000

X(D,2)1.0000000.000000

X(D,3)0.00000050.00000

X(D,4)0.0000000.000000

X(E,1)0.0000000.000000

X(E,2)0.0000000.000000

X(E,3)1.00000015.00000

X(E,4)0.0000000.000000

X(F,1)0.0000000.000000

X(F,2)0.0000000.000000

X(F,3)0.00000012.00000

X(F,4)1.0000000.000000

X(G,1)0.0000000.000000

X(G,2)0

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

当前位置:首页 > 总结汇报 > 学习总结

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

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