lingo实验报告
以下是为大家整理的lingo实验报告的相关范文,本文关键词为lingo,实验,报告,实验,名称,推销员,指派,问题,目的,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
一、实验名称:推销员指派问题二、实验目的及任务:
1、掌握Lingo软件的使用方法
2、编写简单的Lingo程序
3、解决Lingo中的最优指派问题
三、实验内容
1、问题描述
一个公司要分派5个推销员去5个地区推销某种产品,5个推销员在各个地区推销这种产品的预期利润如下表所示。
若每个推销员只能去一个地区。
应如何分派这5个推销员才能使公司的利润为最大?
2、模型建立
?1指派第i个人去第j个地区决策变量:设xij??(i,j=1,2,3,4,5)0不指派第i个人去第j个地区?目标函数:设总利润为z,第i 个人去第j个地区的利润为A(,iji,j=1,2,3,4,5)
假设Aij为指派矩阵,则
maxz???Aijxij
i?1j?155约束条件:
1.第j个地区只有一个人去:
?xi?15ij?1(j=1,2,3,4,5)
2.第i个人只去一个地区:
?xj?15ij?1(i=1,2,3,4,5)
由此得基本模型:
maxz???Aijxij
i?1j?155s,t,
5?xi?15ij?1(j=1,2,3,4,5)
?xj?1ij?1(i=1,2,3,4,5)
xij?0或1(i,j=1,2,3,4,5)
3、Lingo程序(一)常规程序Lingo输入:
model:
max=1*x11+8*x12+9*x13+2*x14+1*x15+5*x21+6*x22+3*x23+10*x24+ 7*x25+3*x31+10*x32+4*x33+11*x34+3*x35+7*x41+7*x42+5*x43+4*x4 4+8*x45+4*x51+2*x52+6*x53+3*x54+9*x55;x11+x12+x13+x14+x15=1;x 21+x22+x23+x24+x25=1;x31+x32+x33+x34+x35=1;x41+x42+x43+x44+x4 5=1;x51+x52+x53+x54+x55=1;x11+x21+x31+x41+x51=1;x12+x22+x32+x4 2+x52=1;x13+x23+x33+x43+x53=1;x14+x24+x34+x44+x54=1;x15+x25+x3 5+x45+x55=1;end
Lingo输出:
globaloptimalsolutionfound.
objectivevalue:45.00000Infeasibilities:0.000000Totalsolveriterations:8 VariableValueReduced
cost
x117.000000
x120.000000
x130.000000
x140.0000000.0000001.0000000.0000007.000000
x158.000000
x214.000000 x223.000000 x237.000000 x240.000000 x253.000000 x317.000000 x320.000000 x337.000000 x340.000000 x358.000000 x410.000000 x420.000000 x433.000000 x444.000000 x450.000000 x514.000000 x52
0.0000000.0000000.0000000.0000001.0000000.0000000.0000001.0000 000.0000000.0000000.0000001.0000000.0000000.0000000.0000000.00 00000.0000000.000000
6.000000
x530.0000003.000000
x540.0000006.000000
x551.0000000.000000
RowslackorsurplusDualprice
11.000000
29.000000
310.00000
411.00000
58.000000
69.000000
7-1.000000
8-1.000000
90.000000
100.000000
110.000000
(二)集合函数程序Lingo输入:
model:sets:
person/1..5/;area/1..5/;
assign(person,area):A,x;endsetsdata:
A=1,8,9,2,15,6,3,10,73,10,4,11,3
45.000000.0000000.0000000.0000000.0000000.0000000.0000000.0000 000.0000000.0000000.0000007,7,5,4,84,2,6,3,9;enddata
max=@sum(assign:A*x);
@for(person(i):@sum(area(j):x(i,j))=1);@for(area(j):@sum(person(i):x(i,j) )=1);@for(assign(i,j):@bin(x(i,j)));end
Lingo输出:
globaloptimalsolutionfound.
objectivevalue:45.00000objectivebound:45.00000Infeasibilities:0.00000 0extendedsolversteps:0Totalsolveriterations:0
Variablecost
A(1,1)0.000000
A(1,2)0.000000
A(1,3)0.000000
A(1,4)0.000000
A(1,5)0.000000
A(2,1)0.000000
A(2,2)0.000000
A(2,3)0.000000
A(2,4)0.000000
A(2,5)0.000000
A(3,1)0.000000
A(3,2)0.000000
A(3,3)Reduced1.0000008.0000009.0000002.0000001.0000005.0000006. 0000003.00000010.000007.0000003.00000010.000004.000000 Value
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!。