您好,欢迎访问三七文档
Lingo简介欢迎各位朋友来到深职院!一、快速入门三、整数及0-1规划问题四、lingo编程五、lingo与建模主要内容二、lingo功能、注意事项及特点最优化是工程技术、经济管理、科学研究、社会生活中经常遇到的问题,如:优化模型和优化软件的重要意义结构设计资源分配生产计划运输方案(最)优化:在一定条件下,寻求使目标最大(小)的决策。一、快速入门CUMCM赛题:约一半以上与优化有关,需用软件求解在高职数学中的应用一、可开设到经济类、管理类:如港口与航运专业、物流、会计、金融等各专业中,甚至包括工科软件设计、机械设计等专业二、科学研究三、数学建模竞赛LINGO是用来求解线性和非线性优化问题的简易工具。利用LINGO高效的求解器可快速求解并分析结果。当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:菜单工具栏模型窗口例1如何在LINGO中求解如下的LP问题:121211212min23350100..2600,0xxxxxstxxxx在命令窗口中输入:然后点击工具条上的按钮即得:Globaloptimalsolutionfoundatiteration:0Objectivevalue:800.0000VariableValueReducedCostX1250.00000.000000X2100.00000.000000RowSlackorSurplusDualPrice1800.0000-1.00000020.000000-4.0000003150.00000.00000040.0000001.000000迭代次数“资源”剩余为零的约束为紧约束(有效约束)结果解释目标函数最优值变量最优解变量值目标函数变化率行数松弛变量的值对应对偶价格Lingo-1Globaloptimalsolutionfoundatiteration:0Objectivevalue:800.0000VariableValueReducedCostX1250.00000.000000X2100.00000.000000RowSlackorSurplusDualPrice1800.0000-1.00000020.000000-4.0000003150.00000.00000040.0000001.000000其值表示对应行右边常数增加1个单位时,目标函数变动的值。验证一验证二验证三对偶解的解释验证一:121211212min23351100..2600,0xxxxxstxxxx查看结论Lingo-1.1验证二121211212min23350100..2601,0xxxxxstxxxxLingo-1.2查看结论121211212min23350101..2600,0xxxxxstxxxx验证三Lingo-1.3查看结论运筹学(OR:Operations/OperationalResearch)管理科学(MS:ManagementScience)决策科学(DS:DecisionScience)无约束优化OR/MS/DS优化(Optimization),规划(Programming)线性规划非线性规划网络优化组合优化整数规划不确定规划多目标规划目标规划动态规划二、lingo功能、注意事项、特点优化问题三要素:决策变量;目标函数;约束条件约束条件决策变量优化问题的一般形式njiDxljxgmixhtsxf,...,1,0)(,...,1,0)(..)(min•可行解(满足约束)与可行域(可行解的集合)•最优解(取到最小/大值的可行解)目标函数约束优化的简单分类•线性规划(LP)目标和约束均为线性函数•非线性规划(NLP)目标或约束中存在非线性函数二次规划(QP)目标为二次函数、约束为线性•整数规划(IP)决策变量(全部或部分)为整数整数线性规划(ILP),整数非线性规划(INLP)纯整数规划(PIP),混合整数规划(MIP)一般整数规划,0-1(整数)规划njiDxljxgmixhtsxf,...,1,0)(,...,1,0)(..)(min连续优化离散优化数学规划LINDO和LINGO软件能求解的优化模型LINGOLINDO优化模型线性规划(LP)非线性规划(NLP)二次规划(QP)连续优化整数规划(IP)常用优化软件1.LINDO/LINGO软件2.MATLAB优化工具箱3.EXCEL软件的优化功能4.SAS(统计分析)软件的优化功能5.其他需要掌握的几个重要方面1、LINDO:正确阅读求解报告(尤其要掌握敏感性分析)2、LINGO:掌握集合(SETS)的应用;正确阅读求解报告;正确理解求解状态窗口;学会设置基本的求解选项(OPTIONS);掌握与外部文件的基本接口方法建立模型注意事项:1、尽量使用实数优化,减少整数约束和整数变量2、尽量使用光滑优化,减少非光滑约束的个数。如:尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等3、尽量使用线性模型,减少非线性约束和非线性变量的个数(如x/y5改为x5*y)4、合理设定变量上下界,尽可能给出变量初始值5、模型中使用的参数数量级要适当(如小于103)使用LINGO编程注意事项1、“”(或“”)号与“=”(或“=”)功能相同2、变量与系数间用“*”,每行以“;”结束。3、变量名以字母开头,不能超过8个字符4、变量名不区分大小写(包括LINDO中的关键字)5、目标函数所在行是第一行,第二行起为约束条件6、模型以“model:”开始,以“end”结束。但非必须。7、行中注有“!”符号的后面部分为注释。如:!It’sComment.使用LINGO编程注意事项8.在模型的任何地方都可以用“TITLE”对模型命名(最多72个字符),如:TITLEThisModelisonlyanExample9.表达式应化简,如2*X1+3*X2-4*X1应写成–2*X1+3*X210.缺省假定所有变量非负;特点:Lingo软件包特点:使用方便,功能强大,界面友好。特点:特别是解的汇报内容丰富例2加工奶制品的生产计划1桶牛奶3公斤A112小时8小时4公斤A2或获利24元/公斤获利16元/公斤资源:牛奶50桶工人工时限制:480小时生产能力:甲厂至多加工100公斤A1,乙厂无限制。制订生产计划,使每天获利最大?•35元可买到1桶牛奶,买吗?若买,每天最多买多少?•可聘用临时工人,付出的工资最多是每小时几元?•A1的获利增加到30元/公斤,应否改变生产计划?条件:问题:甲厂乙厂x1桶牛奶生产A1x2桶牛奶生产A2获利24×3x1获利16×4x2原料供应5021xx劳动时间48081221xx加工能力10031x决策变量目标函数216472xxzMax每天获利约束条件非负约束0,21xx线性规划模型(LP)时间480小时至多加工100公斤A150桶牛奶每天1桶牛奶3公斤A112小时8小时4公斤A2或获利24元/公斤获利16元/公斤甲厂乙厂OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000原料无剩余,时间无剩余,加工能力剩余40max72x1+64x2S.t.2)x1+x2503)12x1+8x24804)3x1100end“资源”剩余为零的约束为紧约束(有效约束)结果解释Lingo-2OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000结果解释最优解下“资源”增加1单位时“效益”的增量原料增1单位,利润增48时间加1单位,利润增2能力增减不影响利润影子价格•35元可买到1桶牛奶,要买吗?3548,应该买!•聘用临时工人付出的工资最多每小时几元?2元!RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000最优解不变时目标系数允许变化范围x1系数范围(64,96)x2系数范围(48,72)•A1获利增加到30元/千克,应否改变生产计划x1系数由243=72增加为303=90,在允许范围内不变!(约束条件不变)敏感性分析验证结果解释RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000影子价格有意义时约束右端的允许变化范围原料最多增加10时间最多增加53•35元可买到1桶牛奶,每天最多买多少?最多买10桶。(目标函数不变)注意:充分但可能不必要验证三、整数及0-1规划问题在end前加入语句:@gin(vname)或@bin(vname)@gin(vname)将变量vname定义为整数型;@bin(vname)限制vname为0-1型;例1:求解整数规划:Minf=3x1+2x22x1+3x250x1-x210x1,x2为整数Ling0-i1例2:求解整数规划:MIN=X1+X2+X3+X4+X5+X6+X7;X1+X4+X5+X6+X7=50;X1+X2+X5+X6+X7=50;X1+X2+X3+X6+X7=50;X1+X2+X3+X4+X7=50;X1+X2+X3+X4+X5=80;X2+X3+X4+X5+X6=90;X3+X4+X5+X6+X7=90;X(i)全为整数。i=1,2,3,4,5,6,7Lingo-i2练习:求解整数规划:min=3x1+2x22x1+3x250x1-x210x1,x2为整数Ling0-i1•目标与约束段•集合段(SETSENDSETS)•数据段(DATAENDDATA)•初始段(INITENDINIT)•计算段(CALCENDCALC)-LINGO9.0LINGO模型的构成:5个段四lingo编程常用逻辑运算符号#NOT#非#OR#或#EQ#等于#AND#和#NE#不相等#LT#小于#LE#小于等于#GT#大于#EG#大于等于常用符号及函数:数学函数@ABS(X)返回X的绝对值@COS(X)返回X的余弦值,X是用弧度制表示的一个角@SIN(X)返
本文标题:lingo简介.
链接地址:https://www.777doc.com/doc-2884590 .html