lingo8[1].0_讲义

lingo8[1].0_讲义

ID:18210089

大小:540.50 KB

页数:27页

时间:2018-09-15

lingo8[1].0_讲义_第1页
lingo8[1].0_讲义_第2页
lingo8[1].0_讲义_第3页
lingo8[1].0_讲义_第4页
lingo8[1].0_讲义_第5页
资源描述:

《lingo8[1].0_讲义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LINGO基础以及在建模中的应用LINGO是一个利用线性规划和非线性规划来简洁地阐述、解决和分析复杂问题的简便工具。LINGO还是最优化问题得一种建模语言,包括许多常用的函数可供使用者建立模型时调用,并提供与其他数据文件(如文本文件、EXCEL电子表格文件、数据库文件等)的接口,程序执行速度快,易于输入、修改、求解和分析问题。和另外一种常用的建模语言MATLAB相比,LINGO有自己的独特的地方。在使用MATLAB表述一个数学模型问题的时候,需要将模型中的约束条件进行分类(即线性等式约束、线性不等式约束、非线性等式约束、非线性不等式约束

2、)转化成相应的矩阵形式以及相应的M文件,如果是一个大规模的问题,还需要建立较多的M文件,而且,当问题中的某些约束条件有较小的改动的时候,会引起相应的M文件有较大的改动,这就使得MATLAB的灵活性较差。而在使用LINGO表述相同模型问题时,则只需要简单的“翻译”成相应的LINGO程序即可。同时LINGO是一个专业的求解规划问题的软件,在求解速度和求解精度上都要比MATLAB好。但是MATLAB也有自己的特点,所以读者在建模时,最好根据实际问题,恰当得混合使用这两种软件,才能达到较好的建模效果。LINGO软件包有多种版本,但其软件内核和使

3、用方法类似,本讲义以LINGO8.0进行简单介绍。学习本讲义,仅能够让读者能够运用LINGO8.0建模语言表述实际问题,正确理解求解过程所显示的状态,解读输出结果。作为一门建模语言,它非常灵活,不是本讲义所能完全包含的,关于程序高级方面的设置和使用,可查看帮助文件和其他的相关资料。一LINGO基础 §1LINGO快速入门 当你在windows下开始运行LINGO系统时,和其他的windows应用程序一样,会得到类似下面的一个窗口:            外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在

4、主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。27例1.1如何在LINGO中求解如下的线性规划问题:在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;保存后然后点击工具条上的按钮即可。 例1.2使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。单位销地运价产地B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219

5、743351A47673927143A52395726541A65522814352销量3537223241324338 首先建立相应的数学模型:设为产地到销地的运量,为单位运价,为产地的产量,为销地的销量数学模型:,,使用LINGO软件,编制程序如下:model:!程序开始的标志符!集合的定义部分1]sets:2]AA/1..6/:a;3]BB/1..8/:b;4]Links(AA,BB):c,x;275]Endsets!数据的定义部分6]data:7]a=605551434152;8]b=3537223241324338;9]c=6

6、267429510]4953858211]5219743312]7673927113]2395726514]55228143;15]enddata!目标函数;16]min=@sum(links:c*x);!需求约束;17]@for(BB(j):18]@sum(AA(i):x(i,j))=b(j));!产量约束;19]@for(AA(i):20]@sum(BB(j):x(i,j))<=a(i)); end!程序结束的标志符然后点击工具条上的按钮即可。上例就是一个典型的LINGO程序,程序一般以标志符model:开始,以end结束。标准的L

7、INGO程序主体一般由四部分组成:(1)集合块,如例中的第1-5行。(2)数据快,如例中的第6-15行。(3)目标函数,如例中的第16行。(4)约束条件,如例中的第17-20行。这四个部分之间并没有严格的顺序之分,调整它们之间的次序,并不影响程序的运行,但为了修改程序的方便,还是建议采用这种顺序编写程序。下面的学习,我们就对每一个组成部分进行简单的介绍。27§2LINGO中的集  2.1集的简介集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方

8、便地表达规模较大的模型(如例1.2中程序的17-20行)。集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。