1、浅析LINGO模型在疏散问题中的应用本科生实践教学活动周实践教学成果 成果形式: 论文 成果名称:浅析LINGO模型在疏散问题中的应用 学生姓名: 学 号: 专 业: 班 级: 指导教师: 完成时间: 年 3 月 8 日浅析LINGO模型在疏散问题中的应用摘 要简述LINGO编写格式的特点,需要注意的部分。LINGO的函数的使用介绍以及对LINGO函数分类和使用详情的介绍,LINGO模型在疏散问题中的应用,并且对疏散问题进行求解,建模。上机对疏散问题的建模进行检验,并修改。关键词:编写格式 函数分类 疏散问题 上机检验修改目 录一、LINGO的简单介绍 1(一)LINGO编写格式 11.语句的
2、四大部分 1(二)编写LINGO程序要注意的几点 2(三)LINGO内部函数使用详解 21.常用数学函数 22.集合函数 33变量界定函数 44财务函数 45概率函数 4二、LINGO模型在疏散问题中的应用 5(一)对疏散问题的求解 5(二)对疏散问题进行建模 6(三)上机检验 8(四)结论 10三、总结 11一、LINGO的简单介绍(一)LINGO编写格式 LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分(SECTION)。1.语句的四大部分(1) 集合部分(SETS)这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程
3、进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(ATTRIBUTE,类似于数组)。LINGO中的集合有两类:一类是原始集合(PRIMITIVE SETS),其定义的格式为:SETNAME/member list(or 1.n)/:attribute,attribute,etc另一类是是导出集合(DERIVED SETS),即引用其它集合定义的集合,其定义的格式为:SETNAME(set1,set2,etc。):attribute,attribute,etc如果要在程序中使用数组,就
4、必须在该部分进行定义,否则可不需要该部分。(2) 目标与约束这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。(3) 数据部分(DATA)这部分以“DATA:”开始,以“END DATA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。(4) 初始化部分(INIT)这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通
5、常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。(二)编写LINGO程序要注意的几点1. 所有的语句除SETS、ENDSETS、DATA、ENDDATA、INIT、ENDINIT和MODEL,END之外必须以一个分号“;”结尾。2. LINGO求解非线性规划时已约定各变量非负。(三)LINGO内部函数使用详解 LINGO建立优化模型时可以引用大量的内部函数,这些函数以“”符号打头。1.常用数学函数ABS(X) 返回变量X的绝对数值。 COS( X)返回X的余弦值,X的单位为弧度EXP( X)返回的值,其中e为自然对数的底,即FLOOR( X)
6、向0靠近返回X的整数部分。如FLOOR(3.7),则返回3;FLOOR(-3.7),则返回-3。LGM( X)返回函数的自然对数值。LOG( X)返回变量X的自然对数值。SIGN( X)返回变量X的符号值,当X0时为1。SIN( X)返回X的正弦值,X的单位为弧度SMAX( X1, X2,., XN)返回一列值X1, X2,., XN的最大值。SMIN( X1, X2,., XN)返回一列值X1, X2,., XN的最小值。TAN( X)返回X的正切值,X的单位为弧度 2.集合函数 集合函数的用法如下:set_operator (set_name|condition:expression)其中
7、set_oprator部分是集合函数名(见下),set_name是数据集合名,expression部分是表达式,|condition部分是条件,用逻辑表达式描述(无条件时可省略)。逻辑表达式中可以三种逻辑算符(#AND#(与),#OR#(或),#NOT#(非)和六种关系酸符(#EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大于等于),#LT#(小于),#LE#(小于等于)。常见的集合函数如下:FOR (set_name|constraint_expressions)对集合(set_name)的每个元素独立地生成约束,约束由约束表达式(constraint_expression
8、s)描述。MAX(set_name|expression)返回集合上的表达式(expression)的最大值。MIN(set_name|expression)返回集合上的表达式(expression)的最小值。SUM(set_name|expression)返回集合上的表达式(expression)的和。SIZE(set_name)返回数据集set_name中包含元素的个数。IN(set_name,set_element)如果数据集set_name中包含元素set_element则返回1,否则返回0。3变量界定函数变量函数对变量的取值范围附加限制,共有四种。BND(L,X,U)限制BIN(X)
9、限制X为0或1。FREE(X)取消对X的符号限制(即可取任意实数值)。GIN(X)限制X为整数值。4财务函数返回如下情形下的净现值:单位时段利率为,连续个时段支付,每个时段支付费用,即:=返回如下情形下的净现值:单位时段利率为,第个时段支付单位费用,即:=5概率函数PSN(X)标准正态分布的分布函数。PSL(X)单位正态线性损失函数(即返回的期望值,其中Z为标准正态随机变量)PPS(A,X)均值为A的Possion分布的分布函数(当X不是整数时,采用线性插值进行计算)。PPL(X)Possion分布的线性损失函数(即返回的期望值,其中Z为Possion分布随机变量)PBN(P,N,X)二项分布
10、的分布函数当N或X不是整数时,采用线性插值进行计算)。PHG(POP,G,N,X)超几何分布的分布函数(当POP,G,N或X不是整数时,采用线性插值进行计算)。PFD(N,D,X)自由度为N和D的F分布的分布函数。PCX(N,X) 自由度为N的分布的分布函数。PTD(N,X) 自由度为N的t分布的分布函数。RAND(X)返回0与1之间的伪随机数(X为种子数,典型用法为U(I)=RAND(U(I+1))。二、LINGO模型在疏散问题中的应用 (一)对疏散问题的求解甲市一家大公司由5个部门(A、B、C、D、E)组成。现要将它的几个部门迁出甲市,迁至乙市或丙市。除去因政府鼓励这样做以外,还有用房便宜
11、,招工方便等好处。对这些好处已作出数量估价,所值每年万元数如下表:部门迁市ABCDE乙101510205丙1020151515然而,疏散之后各部门间的通讯费用将增加。部门间每年通讯量如下表:部门BCDEA0100015000B140012000C02000D700不同城市之间单位通讯量的费用如下表(单位:元)市甲乙丙甲10013090乙50140丙50试求各部门应该置于何市,使年费用最少?解:设其中各部门依次为A、B、C、D、E,各城市依次为甲、乙丙。令代表第个部门迁往第个城市的新增价值(元),代表第个部门与第个部门的通讯量,代表第个城市与第个城市的单位通讯量的费用则 ,(二)对疏散问题进行建
12、模则可建立如下模型:Lingo程序如下:MODEL:SETS:part/1.5/;city/1.3/;part_city(part,city):x,a;part_part(part,part):t;city_city(city,city):c;ENDSETSDATA:a=0,100000,100000, 0,150000,200000, 0,100000,150000, 0,200000,150000, 0,50000,150000;t=0,0,1000,1500,0, 0,0,1400,1200,0, 0,0,0,0,2000, 0,0,0,0,700, 0,0,0,0,0;c=100,13
13、0,90, 130,50,140, 90,140,50;ENDDATAMIN=SUM(part_part(i,j)|i#LE#4#AND#j#GE#(i+1):t(i,j)* SUM(city_city(l,m):x(i,l)*x(j,m)*c(l,m)-SUM(part_city:a*x);FOR(part(i):SUM(city(j):x(i,j)=1); !每个部门只能迁往一个城市FOR(part_city(i,j):BIN(x(i,j);END(三)上机检验1第一次上机2.第二次上机(四)结论所求解为:x(1,3)=1,x(2,3)=1,x(3,3)=x,x(4,3)=1,x(5,3)=1,其它为0,即各部门迁往丙市最少费用为-360000元。即这样迁市获利最多,为360000元。三、总结 通过本次课题研究,对LINGO有了一定的了解,并且可以进行简单的实际建模,对获利最大化提出一些较之可行的建议和意见。尽管在学习LINGO的过程中出了很多的错误,但是通过多次尝试最终解决了错误,并且从这些常犯的错误中吸取到一些教训,尽量在以后的使用中避免这些错误。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1