LINGO快速入门.ppt

上传人:b****2 文档编号:2667786 上传时间:2022-11-06 格式:PPT 页数:59 大小:287KB
下载 相关 举报
LINGO快速入门.ppt_第1页
第1页 / 共59页
LINGO快速入门.ppt_第2页
第2页 / 共59页
LINGO快速入门.ppt_第3页
第3页 / 共59页
LINGO快速入门.ppt_第4页
第4页 / 共59页
LINGO快速入门.ppt_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

LINGO快速入门.ppt

《LINGO快速入门.ppt》由会员分享,可在线阅读,更多相关《LINGO快速入门.ppt(59页珍藏版)》请在冰豆网上搜索。

LINGO快速入门.ppt

LINGO快速入门快速入门在模型窗口中输入如下代码:

Model:

min=2*x1+3*x2;x1+x2=350;x1=100;2*x1+x2=600;end注:

非负约束可省略例例1.1如何在如何在LINGO中求解如下的中求解如下的LP问题:

问题:

例例1.2使用使用LINGO软件计算软件计算:

6个发点个发点8个收点的最小费用运输问题。

个收点的最小费用运输问题。

产销单位运价如下表产销单位运价如下表。

6个发点个发点8个收点的最小费用运输问题共有个收点的最小费用运输问题共有48个变量,个变量,14个约束条件。

个约束条件。

使用使用LINGO软件,编制程序如下:

软件,编制程序如下:

model:

!

6发点8收点运输问题;sets:

warehouses/wh1.wh6/:

capacity;vendors/v1.v8/:

demand;links(warehouses,vendors):

cost,volume;Endsetsmin=sum(links:

cost*volume);!

目标函数;for(vendors(J):

sum(warehouses(I):

volume(I,J)=demand(J);!

需求约束;for(warehouses(I):

sum(vendors(J):

volume(I,J)=capacity(I);!

产量约束;data:

!

这里是数据;capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;enddataend模型的集部分模型的集部分例例2.2!

集部分;sets:

students:

sex,age;endsets!

数据部分;data:

students,sex,age=John116Jill014Rose017Mike113;enddataVariableValueSEX(JOHN)1.000000SEX(JILL)0.000000SEX(ROSE)0.000000SEX(MIKE)1.000000AGE(JOHN)16.00000AGE(JILL)14.00000AGE(ROSE)17.00000AGE(MIKE)13.00000LINGO会自动创建父集成员的所有组合作为派生集的成员编号成员1(A,M,1)2(A,M,2)3(A,N,1)4(A,N,2)5(B,M,1)6(B,M,2)7(B,N,1)8(B,N,2)例例2.3sets:

product/AB/;machine/MN/;week/1.2/;allowed(product,machine,week):

x;endsets如果限制派生集的成员,使它成为父集成员所有组合构成的集合如果限制派生集的成员,使它成为父集成员所有组合构成的集合的一个子集,这样的派生集成为稀疏集的一个子集,这样的派生集成为稀疏集例例2.4sets:

!

学生集:

性别属性sex,1表示男性,0表示女性;年龄属性age.;students/John,Jill,Rose,Mike/:

sex,age;!

男学生和女学生的联系集:

友好程度属性friend,0,1之间的数。

;linkmf(students,students)|sex(&1)#eq#1#and#sex(&2)#eq#0:

friend;!

男学生和女学生的友好程度大于0.5的集;linkmf2(linkmf)|friend(&1,&2)#ge#0.5:

x;endsetsdata:

sex,age=116014017013;friend=0.30.50.6;enddata基本运算符基本运算符乘方乘除加减LINGO具有种逻辑运算符具有种逻辑运算符:

#not#否定该操作数的逻辑值,not是一个一元运算符#eq#若两个运算数相等,则为true;否则为flase#ne#若两个运算符不相等,则为true;否则为flase#gt#若左边的运算符严格大于右边的运算符,则为true;否则为flase#ge#若左边的运算符大于或等于右边的运算符,则为true;否则为flase#lt#若左边的运算符严格小于右边的运算符,则为true;否则为flase#le#若左边的运算符小于或等于右边的运算符,则为true;否则为flase#and#仅当两个参数都为true时,结果为true;否则为flase#or#仅当两个参数都为false时,结果为false;否则为trueLINGO有三种关系运算符:

“=”、“=”下面给出以上三类操作符的优先级:

高#not#(取反)#eq#ne#gt#ge#lt#le#and#or#低=LINGO提供了大量的标准数学函数abs(x)返回x的绝对值sin(x)返回x的正弦值,x采用弧度制cos(x)返回x的余弦值tan(x)返回x的正切值exp(x)返回常数e的x次方log(x)返回x的自然对数lgm(x)返回x的gamma函数的自然对数sign(x)如果x0返回1;=0返回0;x=0时,返回不超过x的最大整数;当x=required(J);end计算的部分结果为Globaloptimalsolutionfoundatiteration:

0Objectivevalue:

22.00000VariableValueReducedCostREQUIRED(MON)20.000000.000000REQUIRED(TUE)16.000000.000000REQUIRED(WED)13.000000.000000REQUIRED(THU)16.000000.000000REQUIRED(FRI)19.000000.000000REQUIRED(SAT)14.000000.000000REQUIRED(SUN)12.000000.000000START(MON)8.0000000.000000START(TUE)2.0000000.000000START(WED)0.0000000.3333333START(THU)6.0000000.000000START(FRI)3.0000000.000000START(SAT)3.0000000.000000START(SUN)0.0000000.000000从而解决方案是:

每周最少需要22个职员,周一安排8人,周二安排2人,周三无需安排人,周四安排6人,周五和周六都安排3人,周日无需安排人。

辅助函数辅助函数1if(logical_condition,true_result,false_result)if函数将评价一个逻辑表达式logical_condition,如果为真,返回true_result,否则返回false_result。

例例4.18求解最优化问题其LINGO代码如下:

model:

min=fx+fy;fx=if(x#gt#0,100,0)+2*x;fy=if(y#gt#0,60,0)+3*y;x+y=30;end2warn(text,logical_condition)如果逻辑条件logical_condition为真,则产生一个内容为text的信息框。

例例4.19示例。

model:

x=1;warn(x是正数,x#gt#0);end练习一:

货运公司的运输问题货运公司的运输问题某地区有某地区有8个公司(如图一编号个公司(如图一编号至至),某天某货运公司要派车将各公),某天某货运公司要派车将各公司所需的三种原材料司所需的三种原材料A,B,C从某港口从某港口(编号(编号)分别运往各个公司。

路线)分别运往各个公司。

路线是唯一的双向道路(如图一)。

货运是唯一的双向道路(如图一)。

货运公司现有一种载重公司现有一种载重6吨的运输车,吨的运输车,派车有固定成本派车有固定成本20元元/辆,从港口出车有固定成辆,从港口出车有固定成本为本为10元元/车次(车辆每出动一次为一车次)。

车次(车辆每出动一次为一车次)。

每辆车平均需要用每辆车平均需要用15分钟的时间装车,到每个公分钟的时间装车,到每个公司卸车时间平均为司卸车时间平均为10分钟,运输车平均速度为分钟,运输车平均速度为60公里小时(不考虑塞车现象),每日工作不公里小时(不考虑塞车现象),每日工作不超过超过8小时。

运输车载重运费小时。

运输车载重运费1.8元元/吨公里,运吨公里,运输车空载费用输车空载费用0.4元元/公里。

一个单位的原材料公里。

一个单位的原材料A,B,C分别毛重分别毛重4吨、吨、3吨、吨、1吨,原材料不能拆吨,原材料不能拆分,为了安全,大小件同车时必须小件在上,大分,为了安全,大小件同车时必须小件在上,大件在下。

卸货时必须先卸小件,而且不允许卸下件在下。

卸货时必须先卸小件,而且不允许卸下来的材料再装上车,另外必须要满足各公司当天来的材料再装上车,另外必须要满足各公司当天的需求量(见图二)。

的需求量(见图二)。

问题:

1.货运公司派出运输车6辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。

2.每辆车在运输途中可随时掉头,若要使得成本最小,货运公司怎么安排车辆数?

应如何调度?

3

(1)如果有载重量为4吨、6吨、8吨三种运输车,载重运费都是1.8元/吨公里,空载费用分别为0.2,0.4,0.7元/公里,其他费用一样,又如何安排车辆数和调度方案?

(2)当各个公司间都有或者部分有道路直接相通时,分析运输调度的难度所在,给出你的解决问题的想法(可结合实际情况深入分析)。

图图一)唯一的运输路线图和里程数一)唯一的运输路线图和里程数各个公司对每种材料的需求量(单位各个公司对每种材料的需求量(单位/天天)公司公司编号编号各种材料的需求量(单位各种材料的需求量(单位/天)天)ABC415152204312124043225531问题问题1:

货运公司派出运输车货运公司派出运输车6辆,每辆车从港口出发(不定方向)辆,每辆车从港口出发(不定方向)后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成后运输途中不允许掉头,应如何调度(每辆车的运载方案,运输成本)使得运费最小。

本)使得运费最小。

模型模型1分析与假设:

分析与假设:

1)每辆车从港口出发(不定方向)后运输途中不允许掉头,每辆车从港口出发(不定方向)后运输途中不允许掉头,即从港口出发必须沿图即从港口出发必须沿图一路程走一圈回到港口,由简单计算可知,走一圈路程为一路程走一圈回到港口,由简单计算可知,走一圈路程为60KM,而港口到,而港口到路程为路程为29KM,港口到,港口到路程为路程为23KM,考虑到必须使得运费最小,考虑到必须使得运费最小,可以假设从港口到可以假设从港口到四个公司向左四个公司向左走一圈回到港口,从港口到走一圈回到港口,从港口到四四个公司则向右个公司则向右走一圈回到港口;走一圈回到港口;(用用W=(4,3,1)表示表示)2)一个单位的原材料一个单位的原材料A,B,C分别毛重分别毛重4吨、吨、3吨、吨、1吨吨,且原材料不能拆分;而,且原材料不能拆分;而货运公司又只有一种载重货运公司又只有一种载重6吨的运输车,因些所有可能的装运方案有吨的运输车,因些所有可能的装运方案有14种:

种:

方案ABC1)1022)0203)0134)0065)1016)1007)010方案ABC8)0119)01210)00111)00212)00313)00414)005其中方案其中方案1)的含义是装一个单位)的含义是装一个单位的的A,0个单位的个单位的B,2个单位的个单位的C;其他类似。

;其他类似。

4)先不考虑卸货时必须先卸小件)先不考虑卸货时必须先卸小件的要求,也不考虑装车等待的情的要求,也不考虑装车等待的情况况,建立模型建立模型1如下:

如下:

3)由简单计算可知:

走一圈至少)由简单计算可知:

走一圈至少需需85分钟,一部车一天最多可分钟,一部车一天最多可以走以走5次,根据需求量可知至少次,根据需求量可知至少需出车需出车26次;次;分别表示货运公司分别表示货运公司对材料对材料A,B,C的需求总数的需求总数;分别表示货运公司分别表示货运公司对材

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1