LINGO软件简介

LINGO软件简介

ID:47326869

大小:91.50 KB

页数:7页

时间:2020-01-10

LINGO软件简介_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《LINGO软件简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.LINGO软件简介LINGO软件是一个处理优化问题的专门软件,它尤其擅长求解线性规划、非线性规划、整数规划等问题。一个简单示例有如下一个混合非线性规划问题:。LINGO程序(模型):max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2+150*x3;x1+2*x2+2*x3<=100;x1<=2*x2;@gin(x1);@gin(x2);!Lingo默认变量非负(注意:@bin(x)表示x是0-1变量;@gin(x)表示x是整数变量;@bnd(L,x,U)表示限制L£x£U;@free(x)表示取消对x的符号限制,即

2、可正、可负。)结果:Globaloptimalsolutionfound.Objectivevalue:9561.200Extendedsolversteps:0Totalsolveriterations:45VariableValueReducedCostX16.000000-76.70000X231.00000-151.2000X316.00000-150.0000RowSlackorSurplusDualPrice19561.2001.00000020.0000000.000000356.000000.000000————————非常简

3、单!在LINGO中使用集合为了方便地表示大规模的规划问题,减少模型、数据表示的复杂程度,LINGO引进了“集合”的用法,实现了变量、系数的数组化(下标)表示。..例如:对求解程序:model:sets:mark/1,2,3,4/:dem,rp,op,inv;!也可以vmark/1..4/:dem,rp,op,inv;endsetsmin=@sum(mark:400*rp+450*op+20*inv);!也可以mark(I):400*rp(I)+450*op(I)+20*inv(I);@for(mark(I):rp(I)<40);@for(ma

4、rk(I)

5、I#gt#1:inv(I)=inv(I-1)+rp(I)+op(I)-dem(I));inv(1)=10+rp(1)+op(1)-dem(1);data:dem=40,60,75,35;enddataend上面程序在model…end之间有(1)集合定义、(2)数据输入和(3)其他三部分内容。集合定义部分(从sets:到endsets):定义了一个指标集合mark(可以理解为数组下标及其范围)和其4个属性dem、rp、op、inv(用此向量的数组变量)。数据输入部分(从data:到enddata)依次给出常量(dem)的值。其他部

6、分:给出优化目标及约束。一般而言,LINGO中建立优化模型的程序可以由五部分组成,或称为五段(section):(1)集合段(SETS):这部分以“SETS:”开始,以“ENDSETS”结束,作用在于定义必要的集合变量(SET)及其元素(member,含义类似于数组的下标)和属性(attribute,含义类似于数组)。(2)目标与约束段:这部分实际上定义了目标函数、约束条件等,但这部分没有段的开始和结束标记;该段一般常用到LINGO内部函数,尤其是和集合相关的求和函数@SUM和循环函数@FOR等。(3)数据段(DATA):这部分以“DATA:

7、”开始,以“ENDDATA”结束,作用在于对集合的属性(数组)输入必要的常数数据。格式为:attribute(属性)=value_list(常数列表);常数列表中的数据之间可以用逗号、空格或回车符分隔。如果想要在运行时才对参数赋值,可以在数据段使用输入语句,其格式为“变量名=?;”,但仅限对单个变量赋值,而不能用于属性变量(数组)的单个元素。(4)初始段(INIT):这部分以“INIT:”开始,以“ENDINIT”结束,作用在于对集合的属性(数组)定义初值(因为求解算法一般是迭代算法,提供一个较好的初值,能提高计算效果)。定义初值的语句格式为

8、:attribute(属性)=value_list(常数列表);这与数据段中的用法类似。..(5)计算段(CALC):这部分以“CALC:”开始,以“ENDCALC”结束,作用在于对一些原始数据进行预处理加工,使其成为模型直接需要的数据。该段中通常是计算赋值语句。基本集合与派生集合为了处理二维数组变量等有多个下标的问题,LINGO引入了“派生集”的概念。我们把直接列出元素的指标集合叫“基本集合”,而基于其他集合派生出来的二维或多维指标集合称为“派生集”。派生集的定义格式为:派生集名(原始集合1,原始集合2,…,原始集合n):属性变量列表;实际

9、上就是笛卡儿积的意思,即:派生集={(i1,i2,…in)

10、i1Î集合1,i2Î集合2,…,inÎ集合n}。1)一个应用例子(布局问题):某些建筑工地的位置(用平面

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

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

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