lingo编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
启航系列之数学建模 培训资料 专题2:Lingo编程介绍 Lingo产品介绍 Lindo 和 Lingo 是美国 Lindo 系统公司开发的一套专门用于求解最优化问题的软件包。Lindo 用于求解线性规划和二次规划问题,Lingo 除了具有 Lindo 的全部功能外,还可以用于求解非线性规划问题,也可以用于一些线性和非线性方程(组)的求解,等等。Lindo 和 Lingo 软件的最大特色在于可以允许优化模型中的决策变量是整数(即整数规划),而且执行速度很快。 ??? Lingo 实际上还是最优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其他数据文件(如文本文件、Excel电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题。 由于这些特点,Lindo系统公司的线性、非线性和整数规划求解程序已经被全世界数千万的公司用来做最大化利润和最小化成本的分析。应用的范围包含生产线规划、运输、财务金融、投资分配、资本预算、混合排程、库存管理、资源配置等等... ??? Lindo/Lingo 软件作为著名的专业优化软件,其功能比较强、计算效果比较好,与那些包含部分优化功能的非专业软件相比,通常具有明显的优势。此外,Lindo/Lingo 软件使用起来非常简便,很容易学会,在优化软件(尤其是运行于个人电脑上的优化软件)市场占有很大份额,在国外运筹学类的教科书中也被广泛用做教学软件。 编写一个简单的lingo程序 例1 用Lingo解决一个二次规划问题 解:在lingo命令行中输入如下代码, x1+x2=100; !一个简单例子; max=98*x1+277*X2-x1*x1-0.3*X1*x2-2*X2*x2; x1-2*x2=0; @gin(x1);@gin(x2); 按求解键得到结果如下, Global optimal solution found. Objective value: 11077.50 Extended solver steps: 0 Total solver iterations: 44 Variable Value Reduced Cost X1 35.00000 -8.500002 X2 65.00000 -6.500004 在这个例子里要注意如下一些细节: ①每一行语句结尾要有分号; ②注释行以!号开头,;号结尾 ③Lingo中的变量不区分字母大小写 ④系数和变量之间要有运算符相连 ⑤“max=”或“min=”表示目标函数 ⑥Lingo的语句顺序并不重要 ⑦以@开头的语句表示调用Lingo自带的函数,本例中@gin(x1)表示x1为整数 ⑧Lingo中以默认了所有变量都非负 对本例结果的解释: 找到全局最优解,使得目标函数值为,对应变量,的值分别为和,对应变量,的影子价格分别为,。 所谓的影子价格,就是指对应的变量增加1单位,其他变量无变化时目标函数改变的单位数。 建立Lingo优化模型需要注意的几个基本问题 (1)、尽量使用实数优化模型,尽量减少整数变量和整数约束; (2)、尽量使用光滑优化模型,尽量避免使用非光滑函数。比如应尽量避免使用绝对值函数,符号函数,求最大最小值函数,取整函数等; (3)、尽量使用线性优化模型,尽量减少非线性约束和非线性变量的个数; (4)、合理设定变量的上下界,尽可能给出变量的初始值; (5)、模型中使用的单位的数量级要适当。系数最大数和最小数的绝对值超过1000倍以上会弹出警告信息。 在Lingo中使用集合 4.1 集合的基本用法和lingo模型的基本要素 Lingo虽然使用方便,但是如果要解决几万个,几十万个变量的优化问题时,我们总不能一个一个地列出x1,x2,…,x1000来解决,而这样的问题在实际企业的应用中也是经常遇到的。好在Lingo中设计了集合语言来表示大规模变量的输入,只需一行文字就可以建立起含有大规模变量的目标函数和成千上万条约束。而Lingo的早期版本软件Lindo却不包含这样的功能。 现通过下例来对Lingo的集合、属性概念进行介绍。 例2 SAILCO公司需要决定决定下四个季度的帆船生产量。下四个季度的帆船需求量分别为40条,60条,75条,25

文档评论(0)

ww90055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档