《运筹学》期末大作业2011A 下载本文

内容发布更新时间 : 2024/5/7 2:33:18星期一 下面是文章的全部内容请认真阅读。

《运筹学》期末大作业

一、建立线性规划模型。(30分)

某公司生产I、II两种产品,市场对I、II两种产品的需求量为:产品I在1—4月每月需10000件,5—9月每月30000件,10—12月每月100000件;产品II在3—9月每月15000件,其他月每月50000件。该公司生产这两种产品成本为:产品I在1—5月内生产每件5元,6—12月内生产每件4.5元;产品II在1—5月内生产每件8元,6—12月内生产每件7元。该公司每月生产这两种产品的能力总和不超过120000件。产品I容积每件0.2立方米,产品II每件0.4立方米,该公司仓库容量为15000立方米,占用公司仓库每月每立方米库容需1元;如该公司仓库不足时,可从外面租借,租用外面仓库每月每立方米库容需1.5元。试问在满足市场需求的情况下,该厂应如何安排生产,使总的生产加库存费用为最少?

二、建立运输问题的表格模型。(25分)

某北方研究院有一、二、三三个区。每年分别需要用煤3000、3000、2000吨,由河北临城、山西盂县两处煤矿负责供应,价格、质量相同。供应能力分别为3500、4000吨,运价如下表:

河北临城 山西盂县 需求量 一区 3 5 3000 二区 4 6 3000 三区 2 3 2000 供应量 3500 4000 由于需大于供,经院研究决定一区供应量可减少0--400吨,二区必须满足需求量,三区供应量不少于1600吨,试求总费用为最低的调运方案。

三、建立线性多目标规划模型。(25分)

一个投资者决定在三个项目中投资,投资总额为100000元,这三个项目是储蓄、债券和股票。预计每个投资项目的年均收益分别是4%、8%、16%。投资者希望的目标是,第一优先级目标:至少得到9000元的年均收益;第二优先级目标:股票投资不少于债券和储蓄投资的总和;第三优先级目标:股票投资最少为20000元;第四优先级目标:储蓄投资应在15000元到20000元之间。试问投资总额应如何分配?

四、建立线性整数规划模型。(20分)

某汽车生产厂生产A1、A2、A3三种型号的汽车,已知各生产一台时的钢材、劳动力消耗和利润值,每月可供使用的钢材及劳动小时数如下表所示。另已知这三种汽车生产的经济批量为月产量2000以上,即各型号汽车月产量或大于等于2000台,或不生产。试为该厂找出一个使总利润为最大的生产计划。 项目 钢材/t 劳动力/h 预期利润/元 一

假设第一个月生产产品1为X1……第12月生产产品1为X12 假设第一各月生产产品2为Y1……第12月生产产品2为Y12 假设T1为第一个月产品1库存……T12为第12个月产品1库存 假设W1为第一个月产品1库存……W12为第12个月产品1库存

A1 1.2 320 5000 A2 2.6 150 7000 A3 4.5 380 8000 每月可供量 70000 550000 又假设1到12月租用仓库的库存量分别为e1,e2,e3,...e12. 又设一个0-1变量 Y1.Y2....Y12对应e1.e2,....e12,

lingo代码

min=(x1+x2+x3+x4+x5)*5+(x6+x7+x8+x9+x10+x11+x12)*4.5+(y1+y2+y3+y4+y5)*8+(y6+y7+y8+y9+y10+y11+y12)*7+(t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12)*0.2+

(w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12)*0.4;!生产成本+库存成本; t1=x1-10000;!chanpin 1 diyigeyue kucun; t2=x1+x2-20000; t3=x1+x2+x3-30000; t4=x1+x2+x3+x4-40000; t5=x1+x2+x3+x4+x5-70000; t6=x1+x2+x3+x4+x5+x6-100000; t7=x1+x2+x3+x4+x5+x6+x7-130000; t8=x1+x2+x3+x4+x5+x6+x7+x8-160000; t9=x1+x2+x3+x4+x5+x6+x7+x8+x9-190000; t10=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10-290000;

Y=1时才表示有租用仓库

t11=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11-390000; t12=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12-490000; w1=y1-45000;!chanpin 2 diyigeyue kucun; w2=y1+y2-90000; w3=y1+y2+y3-105000; w4=y1+y2+y3+y4-120000; w5=y1+y2+y3+y4+y5-135000; w6=y1+y2+y3+y4+y5+y6-150000; w7=y1+y2+y3+y4+y5+y6+y7-165000; w8=y1+y2+y3+y4+y5+y6+y7+y8-180000; w9=y1+y2+y3+y4+y5+y6+y7+y8+y9-195000; w10=y1+y2+y3+y4+y5+y6+y7+y8+y9+y10-240000; w11=y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11-285000; w12=y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12-330000;

t1>0;t2>0;t3>0;t4>0;t5>0;t6>0;t7>0;t8>0;t9>0;t10>0;t11>0;t12>0;!产大于销; w1>0;w2>0;w3>0;w4>0;w5>0;w6>0;w7>0;w8>0;w9>0;w10>0;w11>0;w12>0;

x1+y1<120000;x2+y2<120000;x3+y3<120000;x4+y4<120000;x5+y5<120000;x6+y6<120000;!每月生产部超过12万; x7+y7<120000;x8+y8<120000;x9+y9<120000;x10+y10<120000;x11+y11<120000;x12+y12<120000;

0<=e1Y1=(C1+D1-15000)Y1 同理一直到 0<=e12y12=(c12+d12)y12

end

得出结果

Global optimal solution found at iteration: 0 Objective value: 4715000.

Variable Value Reduced Cost X1 10000.00 0.000000 X2 10000.00 0.000000 X3 10000.00 0.000000

X4 10000.00 0.000000 X5 30000.00 0.000000 X6 30000.00 0.000000 X7 30000.00 0.000000 X8 30000.00 0.000000 X9 105000.0 0.000000 X10 75000.00 0.000000 X11 75000.00 0.000000 X12 75000.00 0.000000 Y1 45000.00 0.000000

Y2 45000.00 0.000000 Y3 15000.00 0.000000 Y4 15000.00 0.000000 Y5 15000.00 0.000000 Y6 15000.00 0.000000 Y7 15000.00 0.000000 Y8 15000.00 0.000000

Y9 15000.00 0.000000 Y10 45000.00 0.000000 Y11 45000.00 0.000000

Y12 45000.00 0.000000 T1 0.000000 0.2000000 T2 T3 T4 T5

0.000000 0.000000 0.000000 0.000000

0.2000000 0.2000000 0.2000000 0.7000000

T6 0.000000 0.2000000 T7 0.000000 0.2000000 T8 0.000000 0.2000000 T9 75000.00 0.000000

T10 50000.00 0.000000 T11 25000.00 0.000000 T12 0.000000 5.300000 W1 0.000000 0.4000000 W2 0.000000 0.4000000 W3 0.000000 0.4000000 W4 0.000000 0.4000000 W5 0.000000 1.400000 W6 0.000000 0.4000000 W7 0.000000 0.4000000

W8 0.000000 0.4000000 W9 0.000000 0.2000000 W10 0.000000 0.2000000 W11 0.000000 0.2000000 W12 0.000000 8.000000

产品2没有库存,产品1只有9月10月11月有库存,分别为75000,50000,25000 9月份的仓库最多占用75000*0.2=15000,所以不用租用仓库。 Lingo

山西盂县 河北临城 假想生产点 需要量 一区 3 5 M 2600 一区 3 5 0 400 二区 4 6 M 3000 三区 2 3 M 1600 三区 2 3 0 400 产量 3500 4000 500 8000 8000

山西盂县 河北临城 假想生产点 需要量 一区 3 5 M 2600 一区 3 5 0 400 二区 4 6 M 3000 三区 2 3 M 1600 三区 2 3 0 400 产量 3500 4000 500 8000 8000

min=3*(x11+x12)+4*x13+2*(x15+x14)

5*(x21+x22)+6*x22+3*(x23+x24)+M*(x31+x33+x34); x11+x21+x31=2600其他同理 x15+x25x+x35=400

x11+x12+x13+x14+x15=3500其他同理 x31+x32+x33+x34+x35=500

end sets:

chandi/wh1,wh2/:capacity; customer/1,2,3/:demand1,demand2; links(chandi,customer):cost,volume; endsets

min=@sum(links(i,j):cost(i,j)*volume(i,j));!目标函数; @for(chandi(i):@sum(customer(j):volume(i,j))=capacity(i)); @for(customer(j):@sum(chandi(i):volume(i,j))>=demand1(j)); @for(customer(j):@sum(chandi(i):volume(i,j))<=demand2(j)); data:

capacity=3500 4000; demand1=2600 3000 1600; demand2=3000 3000 2000; cost=3 4 2 5 6 3; enddata end

Objective value: 29700.00

Variable Value Reduced Cost CAPACITY( WH1) 3500.000 0.000000 CAPACITY( WH2) 4000.000 0.000000 DEMAND1( 1) 2600.000 0.000000 DEMAND1( 2) 3000.000 0.000000 DEMAND1( 3) 1600.000 0.000000 DEMAND2( 1) 3000.000 0.000000 DEMAND2( 2) 3000.000 0.000000 DEMAND2( 3) 2000.000 0.000000

COST( WH1, 1) 3.000000 0.000000 COST( WH1, 2) 4.000000 0.000000 COST( WH1, 3) 2.000000 0.000000 COST( WH2, 1) 5.000000 0.000000 COST( WH2, 2) 6.000000 0.000000 COST( WH2, 3) 3.000000 0.000000 VOLUME( WH1, 1) 500.0000 0.000000 VOLUME( WH1, 2) 3000.000 0.000000 VOLUME( WH1, 3) 0.000000 1.000000 VOLUME( WH2, 1) 2100.000 0.000000

VOLUME( WH2, 2) 0.000000 0.000000 VOLUME( WH2, 3) 1900.000 0.000000 设 P为正偏差 N为负偏差,储蓄 债券 股票分别为X1 X2 X3 LINDO

min n1+n2+n3+n4+p5 st

x1+x2+x3=100000

0.04x1+0.08x2+0.16x3+n1-p1=9000 x3-x2-x1+n2-p2=0 x3+n3-p3=20000 x1+n4-p4=15000 x1+n5-p5=20000 end

点solve菜单下的Preemptive Goal

再调用Reports 下面的Solution下的命令得到结果 OBJECTIVE FUNCTION VALUE

1) 0.0000000E+00

VARIABLE VALUE REDUCED COST N1 0.000000 1.000000 N2 0.000000 1.000000 N3 0.000000 1.000000 N4 0.000000 1.000000 P5 0.000000 1.000000 X1 15000.000000 0.000000 X2 0.000000 0.000000 X3 85000.000000 0.000000 P1 5200.000000 0.000000 P2 70000.000000 0.000000 P3 65000.000000 0.000000 P4 0.000000 0.000000 N5 5000.000000 0.000000 目标函数为0所有目标都全部实现

!假设汽车A1,A2,A3生产的数量为X1,X2,X3.是否生产的整数变量为S1,S2,S3; max=5000*x1*s1+7000*x2*s2+8000*x3*s3; 1.2*x1*s1+2.6*x2*s2+4.5*x3*s3<=70000; 320*x1*s1+150*x2*s2+380*x3*s3<=550000;

2000s1<=x1s1<=(2000+m)s1其他同理 2000s3<=x3s3<=(2000+m)s3 @bin(s1);!s1为0和1的整数变量; @bin(s2); @bin(s3);

@gin(x1);!x1为整数; @gin(x2); @gin(x3); end

Objective value: 0.2566200E+08

Variable Value Reduced Cost X1 50000.00 0.000000 S1 0.000000 -0.5000000E+09