- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lingo软件在求解数学优化问题的使用技巧
Lingo软件在求解数学优化问题的使用技巧
LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。LINGO主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。
LINGO的最新版本为LINGO7.0,但解密版通常为4.0和5.0版本,本书就以LINGO5.0为参照而编写。
1.LINGO编写格式
LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分(SECTION):
集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象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。
如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。
目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。
数据部分(DATA):这部分以“DATA:”开始,以“END DATA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。
初始化部分(INIT):这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。
编写LINGO程序要注意的几点:
所有的语句除SETS、ENDSETS、DATA、ENDDATA、INIT、ENDINIT和MODEL,END之外必须以一个分号“;”结尾。
LINGO求解非线性规划时已约定各变量非负。
LINGO内部函数使用详解。
LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。
常用数学函数
@ABS(X) 返回变量X的绝对数值。
@COS( X)
返回X的余弦值,X的单位为弧度
@EXP( X)
返回的值,其中e为自然对数的底,即
@FLOOR( X)
向0靠近返回X的整数部分。如@FLOOR(3.7),则返回3;@FLOOR(-3.7),则返回-3。
@LGM( X)
返回函数的自然对数值。
@LOG( X)
返回变量X的自然对数值。
@SIGN( X)
返回变量X的符号值,当X0时为-1;当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)
其中set_oprator部分是集合函数名(见下),set_name是数据集合名,expression部分是表达式,|condition部分是条件,用逻辑表达式描述(无条件时可省略)。逻辑表达式中可以三种逻辑算符(#AND#(与),#OR#(或),#NOT#(非))和六种关系酸符(#EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大于等于),#LT#(小于),#LE#(小于等于))。
常见的集合函数如下:
@FOR (set_name|constraint_expressions)对集合(set_name)的每个元素独立地生成约束,约束由约束表达式(constraint_expressions)描述。
@MAX(set_name|expression)返回集合上的表达式(expression)的最大值。
@MIN(set_name|expression)
您可能关注的文档
- jsp与数据库连接使用新.doc
- JSP1079 在线购物系统的设计与实现2.doc
- JSPstruts2标签.doc
- js基于面向对象的技术.doc
- jsp笔记(补充).doc
- JSP技术实验指导书.doc
- JS操作节点.doc
- JTAG口及其对Flash的在线编程.doc
- JournalofMolecularStructureTHEOCHEM.doc
- JD6Ⅲ说明书(指针)110525doc5l0bki8d7ehkks5bitjsqnr0chis4bs0b5bshtmn4biu00f11z99z.doc
- 初中物理核心素养培养与实验操作技能提升策略研究教学研究课题报告.docx
- 小学数学课堂个性化学习路径规划:生成式AI的辅助与数学思维发展教学研究课题报告.docx
- 小学语文教师数字故事教学策略与教学效果评价教学研究课题报告.docx
- 小学英语绘本阅读策略与课程资源整合探究教学研究课题报告.docx
- 小学语文教学实践:文学鉴赏能力培养的教材分析与教学设计教学研究课题报告.docx
- 2024年床单项目投资申请报告代可行性研究报告.docx
- 2024年自动售票机项目投资申请报告代可行性研究报告.docx
- 液质联用法测定凉茶中非法添加的22种化学药物.pdf
- 2024年上门美甲项目资金申请报告代可行性研究报告.docx
- 高中英语读后续写教学中的阅读策略研究与实践教学研究课题报告.docx
文档评论(0)