运筹学前五章作业.docx
- 文档编号:9307704
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:57.61KB
运筹学前五章作业.docx
《运筹学前五章作业.docx》由会员分享,可在线阅读,更多相关《运筹学前五章作业.docx(14页珍藏版)》请在冰豆网上搜索。
运筹学前五章作业
运筹学作业
1、线性规划
某快餐店坐落在一个旅游景点中。
这个旅游景点远离市区,平时游客不多,而在每个星期六游客猛增。
快餐店主要是为旅客提供低价位的快餐服务。
该快餐店雇佣了两名正式职工,正式职工每天工作八小时,其余工作有临时工来担任,临时工每班工作4小时。
在星期六,该快餐店从上午11点开始营业到下午10点关门。
根据游客就餐情况,在星期六每个营业小时所需职工数(包括正式工和临时工)如下表所示:
表格1
时间
所学职工数
时间
所学职工数
11:
00-12:
00
9
17:
00-18:
00
6
12:
00-13:
00
9
18:
00-19:
00
12
13:
00-14:
00
9
19:
00-20:
00
12
14:
00-15:
00
3
20:
00-21:
00
7
15:
00-16:
00
3
21:
00-22:
00
7
16:
00-17:
00
3
已知一名正式职工11点开始上班,工作4小时后休息一小时,而后在工作4小时;另一名正式职工13点开始上班,工作4小时后休息一小时,而后在工作四小时。
又知临时工每小时的工资为4元。
(1)、在满足对职工需求的条件下如何安排临时工的班次,使得使用临时工的成本最小?
(2)、如果临时工每班工作时间可以是3小时也可以是4小时,那么应如何安排临时工的班次,使得使用临时工的总成本最小?
比
(1)节省多少费用?
这时应安排多少临时工班次?
目标函数:
minz=16(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11)
x1+x9+x10+x11>=8
x1+x2+x10+x11>=8
x1+x2+x3+x11>=7
x1+x2+x3+x4>=1
x2+x3+x4+x5>=2
x3+x4+x5+x6>=1
x4+x5+x6+x7>=5
x5+x6+x7+x8>=10
x6+x7+x8+x9>=10
x7+x8+x9+x10>=6
x8+x9+x10+x11>=6
x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11>=0
程序如下:
Model:
Sets:
Row/1…11/:
b;
Arrange/1…11/:
x,c;
Link(row,arrange):
a;
Endsets
Data:
b=8,8,7,1,2,1,5,10,6,6;
c=16,16,16,16,16,16,16,16,16,16,16;
a=1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1;
enddata
[OBJ]min=@sum(arrange(j):
c(j)*x(j));@for(row(i);@sum(arrange(j):
a(i,j)x(i,j))>=b(i););@for(arrange(j):
x(j)>=0;);
End
最优解为x=(2,1,0,0,1,0,9,0,1,0,5),最优值为z=304,即临时工班次为11:
00~12:
00开始上班2人,12:
00~13:
00开始上班1人,15:
00~16:
00开始上班1人,17:
00~18:
00开始上班9人,19:
00~20:
00开始上班1人,21:
00~22:
00开始上班5人,雇佣临时工19人,临时工的总工资为304元。
2、运输规划
海华设备厂下设三个位于不同地点的分厂
,该三个分厂生产同一个设备,设每月的生产能力分别为14台,27台和19台。
海华设备厂有4个固定的用户,这四个用户下个月的设备需求量分别为22台,13台,12台和13台。
设各分厂的成本相同,从各分厂到各用户的单位设备运输成本如下表所示,且各分厂本月末的设备库存量为零。
运输成本表
分厂名称
运输成本(元/台)
月生产能力(吨)
用户1
用户2
用户3
用户4
A
6
7
5
3
14
B
8
4
2
7
27
C
5
9
10
6
19
设备需求量(吨)
22
13
12
13
问该厂应如何安排下月的生产与运输,才能在满足四个用户的需求的前提下使总运输成本最低。
解设
表示各厂运到各用户的设备数量;
则可以得到该问题的运输规划模型为:
用Lingo求解:
model:
sets:
row/1,2,3/;
arrange/1..4/;
link(row,arrange):
c,x;
endsets
data:
c=6,7,5,3,8,4,2,7,5,9,10,6;
enddata
[OBJ]min=@sum(link(i,j):
c(i,j)*x(i,j));
@sum(arrange(j):
x(1,j))<=14;
@sum(arrange(j):
x(2,j))<=27;
@sum(arrange(j):
x(3,j))<=19;
@sum(row(i):
x(i,1))>=22;
@sum(row(i):
x(i,2))>=13;
@sum(row(i):
x(i,3))>=12;
@sum(row(i):
x(i,4))>=13;
@for(link(i,j):
x(i,j)>=0);
end
运行结果为:
Globaloptimalsolutionfound.
Objectivevalue:
232.0000
Totalsolveriterations:
15
VariableValueReducedCost
C(1,1)6.0.
C(1,2)7.0.
C(1,3)5.0.
C(1,4)3.0.
C(2,1)8.0.
C(2,2)4.0.
C(2,3)2.0.
C(2,4)7.0.
C(3,1)5.0.
C(3,2)9.0.
C(3,3)10.000000.
C(3,4)6.0.
X(1,1)1.0.
X(1,2)0.5.
X(1,3)0.5.
X(1,4)13.000000.
X(2,1)2.0.
X(2,2)13.000000.
X(2,3)12.000000.
X(2,4)0.2.
X(3,1)19.000000.
X(3,2)0.8.
X(3,3)0.11.00000
X(3,4)0.4.
RowSlackorSurplusDualPrice
OBJ232.0000-1.
20.2.
30.0.
40.3.
50.-8.
60.-4.
70.-2.
80.-5.
91.0.
100.0.
110.0.
1213.000000.
132.0.
1413.000000.
1512.000000.
160.0.
1719.000000.
180.0.
190.0.
200.0.
由运行结果可知,最佳运输方案是A、B、C三厂分别给用户1运送设备1、2、19台,由B厂给用户2和用户3运送设备各13台和12台,由A厂给用户4运送设备13台时,运输成本最少为232元。
3、整数规划
一个旅行者的背包最多只能装6kg物品,现有4件物品的重量和价值分别为2kg,3kg,3kg,4kg;1元,1.2元,0.9元,1.1元。
问应怎样携带那些物品使得携带物品的价值最大?
建模:
记
为旅行者携带第
件物品的件数,取值只能为0或1。
求目标函数
在约束条件
下的最大值.
用Lingo软件求解0-1规划
Model:
Max=x1+1.2*x2+0.9*x3+1.1*x4;
2*x1+3*x2+3*x3+4*x4<=6;
@bin(x1);
@bin(x2);
@bin(x3);
@bin(x4);
End
最优解为:
价值最大为2.2元。
重量为2kg和3kg,价值则为1元和1.2元。
4、目标规划
某工厂生产两种产品,受到原材料供应和设备工时的限制。
在单件利润等有关数据已知的条件下,要求制定一个获利最大的生产计划。
具体数据如下:
产品
I
II
限量
原材料(kg/件)
5
10
60
设备工时(h/件)
4
4
40
利润(元/件)
6
8
问该公司应制造两种家电各多少件,使获取的利润为最大。
设产品I和II的产量分别为x1和x2,其数学模型为:
程序如下:
MODEL:
sets:
row/1,2/:
b;
arrange/1..2/:
x,c;
link(row,arrange):
a;
endsets
data:
b=60,40;
c=6,8;
a=5,10,4,4;
enddata
[OBJ]max=@sum(arrange(j):
c(j)*x(j));
@for(row(i):
@sum(arrange(j):
a(i,j)*x(j))<=b(i););
@for(arrange(j):
x(j)>=0;);
END
其最优解,即最优生产计划为x1=8件,x2=2件,maxZ=64元。
5、非线性规划
一条装配线含有一系列的工作站,在最终产品的加工过程中每个工作站执行一种或几种特定的任务。
装配线周期是指所有工作站完成分配给它们各自的任务所化费时间中的最大值。
平衡装配线的目标是为每个工作站分配加工任务,尽可能使每个工作站执行相同数量的任务,其最终标准是装配线周期最短。
不适当的平衡装配线将会产生瓶颈——有较少任务的工作站将被迫等待其前面分配了较多任务的工作站。
问题会因为众多任务间存在优先关系而变得更复杂,任务的分配必须服从这种优先关系。
这个模型的目标是最小化装配线周期。
有2类约束:
①要保证每件任务只能也必须分配至一个工作站来加工;
②要保证满足任务间的所有优先关系。
例有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,J
J,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.
X(A,1)1.0.
X(A,2)0.0.
X(A,3)0.45.00000
X(A,4)0.0.
X(B,1)0.0.
X(B,2)0.0.
X(B,3)1.11.00000
X(B,4)0.0.
X(C,1)0.0.
X(C,2)0.0.
X(C,3)0.9.
X(C,4)1.0.
X(D,1)0.0.
X(D,2)1.0.
X(D,3)0.50.00000
X(D,4)0.0.
X(E,1)0.0.
X(E,2)0.0.
X(E,3)1.15.00000
X(E,4)0.0.
X(F,1)0.0.
X(F,2)0.0.
X(F,3)0.12.00000
X(F,4)1.0.
X(G,1)0.0.
X(G,2)0.0.
X(G,3)0.12.00000
X(G,4)1.0.
X(H,1)0.0.
X(H,2)0.0.
X(H,3)1.12.00000
X(H,4)0.0.
X(I,1)0.0.
X(I,2)0.0.
X(I,3)1.12.00000
X(I,4)0.0.
X(J,1)0.0.
X(J,2)0.0.
X(J,3)0.8.
X(J,4)1.0.
X(K,1)0.0.
X(K,2)0.0.
X(K,3)0.9.
X(K,4)1.0.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹 学前 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)