Lingo超经典案例大全.doc

Lingo超经典案例大全.doc

ID:50941803

大小:405.50 KB

页数:21页

时间:2020-03-16

Lingo超经典案例大全.doc_第1页
Lingo超经典案例大全.doc_第2页
Lingo超经典案例大全.doc_第3页
Lingo超经典案例大全.doc_第4页
Lingo超经典案例大全.doc_第5页
资源描述:

《Lingo超经典案例大全.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Lingo超经典案例大全LINGO是LinearInteractiveandGeneralOptimizer的缩写,即“交互式的线性和通用优化求解器”。Lingo超强的优化计算能力在很多方面(线性规划、非线性规划、线性整数规划、非线性整数规划、非线性混合规划、二次规划等)比matlab、maple等强得多,Lingo编程简洁明了,数学模型不用做大的改动(或者不用改动)便可以直接采用Lingo语言编程,十分直观。Lingo模型由4个段构成:(1)集合段(sets  endsets);(2)数据段(data  endda

2、ta); (3)初始段(initendinit);(4)目标与约束段。Lingo的五大优点:1.对大规模数学规划,LINGO语言所建模型较简洁,语句不多;2.模型易于扩展,因为@FOR、@SUM等语句并没有指定循环或求和的上下限,如果在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件;3.数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变;4.“集合”是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数

3、学量的抽象,它比C语言中的数组用途更为广泛。 5.使用了集合以及@FOR、@SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加. 一、求解线性整数规划、非线性整数规划问题:1.线性整数规划:model:max=x1+x2;x1+9/14*x2<=51/14;-2*x1+x2<=1/3;@gin(x1);@gin(x2);end求得x1=3,x2=1,最大值为4.运用matlab求时可以发现有两组解:x1=3,x2=1和x1=

4、2,x2=2。通过验证也可知这两组解均满足。Lingo的一个缺陷是:每次只能输出最优解中的一个(有时不只一个)。那么,怎样求得其他解呢?一个办法是将求得的解作为约束条件,约束x1不等于3,x2不等于1,再求解。如下:model:max=x1+x2;x1+9/14*x2<=51/14;-2*x1+x2<=1/3;@gin(x1);@gin(x2);@abs(x1-3)>0.001;@abs(x2-1)>0.001;end求得x1=2,x2=2.若再次排除这组解,发现Lingo解不出第三组解了,这时我们可以断定:此优化模

5、型有两组解:x1=3,x2=1和x1=2,x2=2.求解模型时需注意:Lingo中,默认变量均为非负;输出的解可能是最优解中的一组,要判断、检验是否还有其他解(根据具体问题的解的情况或用排除已知最优解的约束条件法)。2、非线性整数规划:model:sets:row/1..4/:b;col/1..5/:c1,c2,x;link(row,col):a;endsetsdata:c1=1,1,3,4,2;c2=-8,-2,-3,-1,-2;a=11111122162160000115;b=400,800,200,200;en

6、ddata     max=@sum(col:c1*x^2+c2*x);@for(row(i):@sum(col(j):a(i,j)*x(j))

7、3=2,x4=97,x5=18.最大值为49037。x1=43,x2=96,x3=3,x4=96,x5=17.最大值为47859。x1=40,x2=95,x3=4,x4=95,x5=16.最大值为46636。......发现x1,x2,x4,x5均单调减少,x3单调增加。最大值越来越小。可以简单判断第一组为最优的。当然,能够一一检验最好。 二、最优选择问题某钻井队要从10个可供选择的井位中确定5个钻井探油,使总的钻探费用为最小。若10个井位的代号为s1,s2,...,s10,相应的钻探费用c1,c2,...,c10为

8、5,8,10,6,9,5,7,6,10,8.并且井位选择上要满足下列限制条件:(1)或选择s1和s7,或选择钻探s9;(2)选择了s3或s4就不能选s5,或反过来也一样;(3)在s5,s6,s7,s8中最多只能选两个.试建立这个问题的整数规划模型,确定选择的井位。取0-1变量s_i,若s_i=1,则表示选取第i个井,若s_i=0,则表示不选取第

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

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

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