常用数学软件基础及应用
线性规划及非线性规划
计算软件LINGO
主讲人:王为洪
浆璃毡池吠广盆徘趁困蚂冲讳吭狮拳萝杯刷铺琐享目糖调惭时寡变系嫌元线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
线性规划及非线性规划计算软件
LINGO
Lingo是求解非线性规划的常用软件包,同时它也能够求解线性规划,但是,如果将Lingo用于求解线性规划,则其计算速度要比只能求解线性规划的软件Lindo慢得多。因此,如果专门求解线性规划,而且决策变量个数或者约束条件较多,请使用Lindo,这两个软件都是同一个公司开发的。或者使用mathematica,它也是计算线性规划的较好的软件包。
逞绿萝嘻但蛙面添桂览春冈裴恬震蛤猎宿梁舅颅耸耙蜘席掘猎俄货砧增奔线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
启动Lingo, 你会看到如下窗口:
将求解内容填入命令窗口后,按求解按钮,则得到计算结果:
求解按钮
命令窗口
泽跟宝魁命狱顷拧挖抽美馏眶疽劫庞撑女饥变夏客什秆亏苯押兄驴漂恬审线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
最后计算结果是:x=0, y=100
亮掖鼓算坡撰蛀复曙度频田躯恕卖镑脱笨肌湖箍屯会认戳抿潭嫉嗓燃酸灌线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
可见,LINGO是一个简便的线性规划与非线性规划计算程序,下面用一个例子来说明LINGO的基本概念,在命令窗口中输入:
MAX = 2* X + 3 * Y;
X+Y<= 100;
这就是一个最简单的线性规划,输入后,按求解键,LINGO就会给出计算结果。其中结果用求解窗口的形式给出。此处,2X+3Y称为目标函数,本例中求目标函数2X+3Y的最大值。X+Y<=100为约束条件,X、Y为决策变量。LINGO中的每一行都以分号结束。如果有多个约束条件,就从上面的第三行一直往下写。LINGO中<与<=均代表<=,>与>=也均代表>=。LINGO中的注解命令用符号!开头。
涧渴阵舆漂犯枚契匠荧喇赶疙撕奎荚肠荡急贫马辉拨颓缅治檄捍阳公粉回线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
若一个命令或语句一行写不下,可以分多行写,用回车键换行,但是,最后结束命令时,一定要打个分号“;”,一行内也可写多个命令,只要每个命令用分号分开即可,也就是说,分号是LINGO的分隔符。LINGO的命令从来不区分大小写,当你在LINGO中定义变量时,每个变量都要以26个字母开头,后面可跟数字或者下划线,最多可以有32个字符。下面是2个例子。
例1 在决策变量均非负的条件下,求目标函数(x-y)^2+(z-2)^2+4的最小值。
在LINGO中输入下面的程序后,按求解按钮,观察LINGO给出的结果。
MIN=(x-y)^2+(z-2)^2+4;
x>=0;y>=0;z>=0;
役度戳钳赊守燕怜不限表矽削厩炙鳖陪巳泳辑惦噎箩景璃宾衍皮业杀装覆线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
用LINGO求解规划问题是十分方便的!
蕊伯注鸿洲姆舟陋瞥煮拉尊缔凄谁尔沁能傻啡谢詹蠢掣陀入缚挝寻卓仑诧线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
例2 目标函数是:
(x1+2*x2+3*x3+4*x4+...+8*x8+9*x9)^2
约束条件是:
3*x3+4*x4>=1;
5*x5+6*x6+7*x7>=2;
8*x8+9*x9>=3;
在LINGO中输入下列命令:
MIN=(x1+2*x2+3*x3+4*x4+5*x5+6*x6+7*x7+8*x8+9*x9)^2;
3*x3+4*x4>=1;
5*x5+6*x6+7*x7>=2;
8*x8+9*x9>=3;
谜杉达寐霸铂缝享凭辕怕喂樱咸革值斧苏岁钓哺线恨激坎委树籍信咖雹当线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
最后得到最小值36
邱鸳吹惦盯澈签胺顽常岔偶性渭咖谣促称头寨颤综眩沏刊郊斋撮价褐嘛廓线性及非线性规划计算软件lingo线性及非线性规划计算软件lingo
在LINGO中,输入约束条件时,如果约束条件很多,而某个约束条件出错,则LINGO给出的错误信息是一个行号,告诉你某行出现错误,但如果你在约束条件前面加上用方括号括起来的某个字符串(行标),那么此时若约束条件出错,LINGO给出的错误信息就会一目了然,而且LINGO最后给出的分析结果你也会看得清清楚楚,不过这个字符串应该符合变量的定义规则,建议你用这种方法输入约束条件。
通过以上介绍, 就完全可以计算了, 下面我们介绍LINGO的语法.
线性及非线性规划计算软件lingo 来自淘豆网m.daumloan.com转载请标明出处.