- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用LINGO、MATLAB软件求解线性规划精要
;优化模型 ; LINGO软件是美国的LINDO系统公司(Lindo System Inc)开发的一套用于求解最优化问题的软件包。LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解等。LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果,这里简单介绍LINGO的使用方法。
LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等。;;一个简单的LINGO程序;程序语句输入的备注:;输出结果:;输出结果备注:;一个简单的LINGO程序;;
掌握集合(SETS)的应用;
正确阅读求解报告;
正确理解求解状态窗口;
学会设置基本的求解选项(OPTIONS) ;
???握与外部文件的基本接口方法;集合的基本用法和LINGO模型的基本要素 ;问题的模型(可以看出是LP模型 );注:LINDO中没有数组,只能对每个季度分别定义变量,如正常产量就要有RP1,RP2,RP3,RP4 4个变量等。写起来就比较麻烦,尤其是更多(如1000个季度)的时候。
记四个季度组成的集合QUARTERS={1,2,3,4},它们就是上面数组的下标集合,而数组DEM,RP,OP, INV对集合QUARTERS中的每个元素1,2,3,4分别对应于一个值。LINGO正是充分利用了这种数组及其下标的关系,引入了“集合”及其“属性”的概念,把QUARTERS={1,2,3,4}称为集合,把DEM,RP,OP, INV称为该集合的属性(即定义在该集合上的属性)。;QUARTERS集合的属性;集合元素及集合的属性确定的所有变量;LINGO中定义集合及其属性 ;目标函数的定义方式;约束的定义方式;本例中,对于产品数量的平衡方程,由于下标i=1时的约束关系式与i=2,3,4时有所区别,所以不能省略下标“i”。实际上,i=1时要用到变量INV(0),但定义的属性变量中INV不包含INV(0)(INV(0)=10是一个已知的)。
为了区别i=1和i=2,3,4,把i=1时的约束关系式单独写出,即“INV(1)=10+RP(1)+OP(1)-DEM(1);” ;
而对i=2,3,4对应的约束,对下标集合的元素(下标i)增加了一个逻辑关系式“i#GT#1”(这个限制条件与集合之间有一个竖线“|”分开,称为过滤条件)。
限制条件“i#GT#1”是一个逻辑表达式,意思就是i1;“#GT#”是逻辑运算符号,意思是“大于(Greater Than的字首字母缩写)” 。;问题的求解:运行菜单命令“LINGO|Solve” ;注:由于输入中没有给出行名,所以行名是系统自动按照行号1-9生成的。
选择菜单命令“LINGO|Generate|Disply model(Ctrl+G)”,可以得到展开形式的模型(如图),可以看到完整的模型,也能确定行号(行号放在方括号“[ ]”中,且数字前面带有下划线“_”)。
最好在输入模型时用户主动设定约束的行名(即约束名),使程序清晰些。单一约束的行名设置方法就是将行名放在方括号“[ ]”中,置于约束之前。
后面将结合具体例子介绍在使用集合的情况下如何设置行名。 ;小结:LINGO模型最基本的组成要素 ;(2)目标与约束段:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段(都有明确的段标记)外的LINGO模型。
这里一般要用到LINGO的内部函数,尤其是与集合相关的求和函数@SUM和循环函数@FOR等。
上例中定义的目标函数与quarters的元素数目是 4或 1000并无具体的关系。约束的表示也类似。;(3)数据段(DATA):以 “DATA:” 开始, “ENDDATA”结束,对集合的属性(数组)输入必要的常数数据。
格式为:“attribute(属性) = value_list(常数列表);”
常数列表(value_list)中数据之间可以用逗号“,”分开,也可以用空格分开(回车等价于一个空格),如上面对DEM的赋值也可以写成“DEM=40 60 75 25;”。;(4)初始段(INIT):以“INIT: ”开始, “ENDINIT”结束,对集合的属性(数组)定义初值(因为求解算法一般是迭代算法,所以用户如果能给出一个比较好的迭代初值,对提高算法的计算效果是有益的)。
如果有一个接近最优解的初值,对LINGO求解模型是有帮助的。定义初值的格式为:
“attribute(属性) = value_list(常
您可能关注的文档
- 应急救护常识精要.docx
- 应急救援与事故处理实训报告精要.doc
- 应急救援保障制度精要.doc
- 气压带和风带示范课讲述.ppt
- 应急救援处置卡2016精要.doc
- 气瓶基础知识培训课件讲述.ppt
- 应急救护师资培训之一精要.pptx
- 气瓶充装质量管理手册讲述.doc
- 气瓶外测法水压试验操作说明讲述.doc
- 气瓶使用安全管理规范讲述.pptx
- 2012年全国统一高考化学试卷真题及答案(大纲版)(含解析版) .doc
- 3.2.2工业的区位选择 第二课时 工业集聚及可持续发展课件高中地理鲁教版(2019)必修二.pptx
- 2024年半导体项目资金需求报告代可行性研究报告.docx
- 2024年半导体项目投资申请报告代可行性研究报告.docx
- 2024年半柔半刚射频同轴电缆项目投资申请报告代可行性研究报告.docx
- 2024年半柔半刚射频同轴电缆项目资金需求报告代可行性研究报告.docx
- 2024年半柔半刚射频同轴电缆项目资金筹措计划书代可行性研究报告.docx
- 2024年半自动精密印刷机项目投资申请报告代可行性研究报告.docx
- 2024年十溴二苯乙烷项目资金申请报告代可行性研究报告.docx
- 2024年医院连锁项目资金需求报告代可行性研究报告.docx
文档评论(0)