资源描述:
《应用lingo软件求解运输问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、2012——2013学年第一学期合肥学院数理系实验报告课程名称:运筹学实验项目:应用LINGO软件求解运输问题实验类别:综合性□设计性验证性□专业班级:姓名:学号:实验地点:实验时间:指导教师:成绩:6一.实验目的1、学会使用LINGO软件求解运输问题的步骤与方法。2、掌握使用LINGO对运输问题的求解功能,并对结果进行分析。二.实验内容1.已知某企业有甲、乙、丙三个分厂生产一种产品,其产量分别为7、9、7个单位,需运往A、B、C、D四个门市部,各门市部需要量分别为3、5、7、8个单位。已知单位运价如下表。试确定运输计划使总运费最少。ABCD甲12131011乙10121410丙1
2、41115122.现在要在五个工人中确定四个人来分别完成四项工作中的一项工作。由于每个工人的技术特长不同,他们完成各项工作所需的工时也不同。每个工人完成各项工作所需工时如下表所示,试找出一个工作分配方案,使总工时最小。工作工人ABCDⅠ9437Ⅱ4656Ⅲ5475Ⅳ7523Ⅴ10674三.模型建立1.由题设知,总产量为:7+9+7=23个单位,总销量为:3+5+7+8=23个单位,所以这是一个产销平衡的运输问题。设代表从第个产地运往第个销地的数量,为总运费。表示第个产地的产量,表示第个销地的销量表示从第个产地运往第6个销地的单位产品运输费用。则该问题的数学模型为:2.设0-1变量,
3、则该问题的数学模型为:四.模型求解(含经调试后正确的源程序)1、编写程序1-1.m如下:model:sets:warehouses/wh1..wh3/:capacity;vendors/v1..v4/:demand;links(warehouses,vendors):cost,volume;endsetsdata:capacity=797;demand=3578;cost=121310111012141014111512;enddatamin=@sum(links(I,J):cost(I,J)*volume(I,J));6@for(vendors(J):@sum(warehouse
4、s(I):volume(I,J))=demand(J));@for(warehouses(I):@sum(vendors(J):volume(I,J))<=capacity(I));end2、编写程序2-1.m如下:model:sets:workers/w1..w5/;jobs/j1..j4/;links(workers,jobs):cost,volume;Endsetsdata:cost=943746565475752310674;enddatamin=@sum(links:cost*volume);@for(workers(I):@sum(jobs(J):volume(I,J)
5、)<=1);@for(jobs(J):@sum(workers(I):volume(I,J))=1);@for(links(i,j):@bin(volume(i,j)));End五.结果分析1、运行结果:Globaloptimalsolutionfound.Objectivevalue:239.0000Infeasibilities:0.000000Totalsolveriterations:6VariableValueReducedCostCAPACITY(WH1)7.0000000.000000CAPACITY(WH2)9.0000000.000000CAPACITY(WH3)
6、7.0000000.000000DEMAND(V1)3.0000000.000000DEMAND(V2)5.0000000.000000DEMAND(V3)7.0000000.000000DEMAND(V4)8.0000000.0000006COST(WH1,V1)12.000000.000000COST(WH1,V2)13.000000.000000COST(WH1,V3)10.000000.000000COST(WH1,V4)11.000000.000000COST(WH2,V1)10.000000.000000COST(WH2,V2)12.000000.000000COST(
7、WH2,V3)14.000000.000000COST(WH2,V4)10.000000.000000COST(WH3,V1)14.000000.000000COST(WH3,V2)11.000000.000000COST(WH3,V3)15.000000.000000COST(WH3,V4)12.000000.000000VOLUME(WH1,V1)0.0000001.000000VOLUME(WH1,V2)0.0000003.000000VOLUME(WH1,V3