《数学实验》实验报告
( 2012 年 4 月 8 日)
1.(指派问题)
n个人完成n项任务(每人单独承担一项任务),使所需的总完成时. 已知某指派问题的有关数据(每人完成各任务所需的时
.(二次指派问题)
n个员工到n个城市工作(每个城市单独一人),希望使所花费的n个员工两两之间每个月通话的时间表示在下面的矩阵个城市两两之间通话费率表示在下面的矩阵的下三角部分(同样道理,因为. 试求解该二次指派问
、谢金星第四章课后习题第1或3题任选一题。
1)根据实际问题,建立数学优化模型
2)根据优化模型,利用LINGO 来求解模型。
1. 模型:
m:工人 1,2,3,4
n:任务 1,2,3,4
?1 第i个人完成第j项任务aij???0 第i个人不完成第j项任务
xij: 第i个工人完成第j项任务所用的时间
model min??aijxij
i?1j?144
?4
??aij?1 j=1,2,3,4?i?1s..t?4??a?1 i=1,2,3,4ij??j?1
model:
sets:
endsets
min=@sum(link(i,j):x(i,j)*a(i,j));
@for(m(i):@sum(n(j):a(i,j))=1);
@for(n(j):@sum(m(i):a(i,j))=1);
data:
enddata
end
Global optimal solution found.
1个人完成第2项,第2人完成第1项,第3人完成第3项,第4人完成第4项。最短时间为模型:
pe:员工 1,2,3,4,5
ci : 城市 1,2,3,4,5
dij:第i人与第j人的通话时间
cab:a城市与b城市的通话费率
?1 i人去a城xai=??0 i人不去a城
(i?j,a?b)
?1 j人去b城xbj=??0 j人不去b城
?1 m人去n城xmn=??0 m人不去n城
model: min??dij*??(cab*xai*xbj)
i=1j=1i=1j=15555
?5
??xmn?1 n=1,2,3,4,5?m?1s.t.?5?x?1 m=1,2,3,4,5?mn??n?1
model:
sets:
endsets
min=@sum(lin1(i,j):d(i,j)*@sum(lin2(a,b):c(a,b)*x(a,i)*x(b,j))); @for(pe(m):@sum(ci(n):x(m,n))=1);
@for(ci(n):@sum(pe(m):x(m,n))=1);
@for(lin:@bin(x));
data:
enddata
end
结果:Local optimal solution found.
第二个人去第四个城市,第三个人去第五个城市,第四个人去第一个 ,最低费用50。
模型:
x1、x2分别为全时服务员在12:00~13:00和13:00~14:00
安排午餐的人数。y1、y2、y3、y4、y5分别为从9:00、
10:00、11:00、12:00、13:00开始工作的半时服务员人数。model: min 100x1+100x2+40y1+40y2+40y3+40y4+40y5
?x1?x2?y1?4?x?x?y?y?3212?1
?x1?x2?y1?y2?y3?4??x2?y1?y2?y3?y4?6s.t.??x1?y2?y3?y4?y5?5
?x1?x2?y3?y4?y5?6??x1?x2?y4?y5?8?x?x?y?825?1
第1问:y1?y2?y3?y4?y5?3
第2问:y1?y2?y3?y4?y5?0
第3问:y1?y2?y3?y4?y5?0
xi、yj为整数
model:
min=100*x1+100*x2+40*y1+40*y2+40*y3+40*y4+40*y5;
@gin(x1);@gin(x2);@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5); end
7名全时服务员,其中3名12:00~13:00吃午餐,4名13:00~14:00吃10:00~14:00雇用2名、13:00~17:00雇用1820元。
y1+y2+y3+y4+y5<0;
5名12:00~13:00吃午餐、6名13:00~14:001100元,则每天至少增加280元经费。
y1+y2+y3+y4+y5>0;
9:00~13:00雇用6名半时服务员、在13:00~17雇用8名半时服务员,符合题目要求,且经费最省,为560元,即每天可以减少260
第二篇:数学实验报告
试验序号: 01 日期:20##年 月 日