线性及非线性规划计算软件 哈工程大 LINGO Lingo是一个目前求解非线性规划的常用软件包,同 学时它也能够求解线性规划,但是,如果将Lngo用于求解线 性规划,则其计算速度要比只能求解线性规划的软件 数 Lindo慢得多。因此,如果专门求解线性规划,而且自变 学量个数或者限定条件较多,请使用 Lindo,这两个软件都 建是同一个公司开发的。或者使用 mathematica,它也是计 模算线性规划的较好的软件包。 电 Lingo和Lindo可从htp:/www.lindo.com下载,并且下 子 载后即可安装使用,不过安装后都是demo版本,demo版 案本对变量的个数、限定条件的个数等等都有限制,因此, 实际使用价值不大。 上页下页退出
哈 工 程 大 学 数 学 建 模 电 子 教 案 上页 下页 退出 线性及非线性规划计算软件 LINGO Lingo是一个目前求解非线性规划的常用软件包,同 时它也能够求解线性规划,但是,如果将Lingo用于求解线 性规划,则其计算速度要比只能求解线性规划的软件 Lindo慢得多。因此,如果专门求解线性规划,而且自变 量个数或者限定条件较多,请使用Lindo,这两个软件都 是同一个公司开发的。或者使用mathematica,它也是计 算线性规划的较好的软件包。 Lingo和Lindo可从http://www.lindo.com下载,并且下 载后即可安装使用,不过安装后都是demo版本,demo版 本对变量的个数、限定条件的个数等等都有限制,因此, 实际使用价值不大
安装完成后,启动 Lingo,你会看到如下窗口 LINGO-LINGO Model-LINGO1 日回 File Edit LINGO Window Help 囗倒叫卧(网回吗国?k 哈工程大学数学建模电子教案 LINGO Model-LINGO1 MAX=2*Ⅹ+3*Y Ⅹ+Y<=100; 命令窗口 求解按钮 Ready MOD 将求解内容填入窗口后,按求解按钮,则得到计算结 果如下图: 上页下页退出
哈 工 程 大 学 数 学 建 模 电 子 教 案 上页 下页 退出 安装完成后,启动Lingo, 你会看到如下窗口: 命令窗口 求解按钮 将求解内容填入窗口后,按求解按钮,则得到计算结 果如下图:
Solution Report-LINGO1 回回囟 哈 工R0os= vars 2N。, integer vars= all are linear Nonzeros= 5 Constraint non= 2 are +-1) Density=o 833 程 Smallest and largest elements in abs value 1.000 100.0o0 No.<: 1 No O NO.>: 0, ObJ=MAX, GUBs 学 Global optimal solution found at step: Objective value 300.00o 数 variabl Reduced Cost 学 0.0000oo0 100.D0 建 0. 000000 模 ROU slack or surplus Dual Price 300.000 1.000ooo 0. 0000000 3.00000o 电 子 教 案最后计算结果是:x=0,y=100 上页下页退出
哈 工 程 大 学 数 学 建 模 电 子 教 案 上页 下页 退出 最后计算结果是:x=0, y=100
可见, L INGO是一个简便的线性规划与非线性规划计 哈算程序,下面用一个例子来说明 LINGO的基本概念,启动 工 LINGO后,在命令窗口中输入: 程大学 MAX=2*Ⅹ+3*Y x+Y<=100; 这就是一个最简单的线性规划,输入后,按求解键,LI 数NGO就会给出计算结果。其中结果用求解窗口的形式给出, 学具体参见 L INGO的帮助文件给出的详细说明。此处,2x 建+3Y称为目标函数,本例中求最大值。Ⅹ+Y<=100为 模约束条件。而X、Y为变量。请注意, LINGO中的每一行 电都以分号结束。如果有多个约束条件,就从上面的第三行一直 子往下写。与 LINDO一样, LINGO中<与<=均代表< 教 案,与>=也均代表>=。 LINGO中的注解命令也是符 号 上页下页退出
哈 工 程 大 学 数 学 建 模 电 子 教 案 上页 下页 退出 可见,LINGO是一个简便的线性规划与非线性规划计 算程序,下面用一个例子来说明LINGO的基本概念,启动 LINGO后,在命令窗口中输入: MAX = 2* X + 3 * Y; X+Y<= 100; 这就是一个最简单的线性规划,输入后,按求解键,LI NGO就会给出计算结果。其中结果用求解窗口的形式给出, 具体参见LINGO的帮助文件给出的详细说明。此处,2X +3Y称为目标函数,本例中求最大值。X+Y<=100为 约束条件。而X、Y为变量。请注意,LINGO中的每一行 都以分号结束。如果有多个约束条件,就从上面的第三行一直 往下写。与LINDO一样,LINGO中<与<=均代表< =,>与>=也均代表>=。LINGO中的注解命令也是符 号!
若一个命令或语句一行写不下,可以分多行写,但是, 最后结束命令时,一定别忘了打个分号“;”,一行内也可 哈 工 写多个命令,只要每个用分号分开即可,也就是说,分号是 程 LINGO的分隔符。 LINGO的命令从来不区分大小写, 大当你在 L INGO中定义变量时,每个变量都要以26个字 学 母开始,后面可跟数字或者下划线,最多可以32个字符长。 数下面是2个例子。 学例1下面是一个最简单的非线性规划,它实质上是求(x 建 模y2+(x2-2+4的最小值。在 LINGO中输入下式后,按 求解图标,看一看LING0会给出什么结果 电子教案 MN=x^2-2*x*y+y^2+z^2-4*z+8; x>=0;y>=0;z>=0; 上页下页退出
哈 工 程 大 学 数 学 建 模 电 子 教 案 上页 下页 退出 若一个命令或语句一行写不下,可以分多行写,但是, 最后结束命令时,一定别忘了打个分号“;”,一行内也可 写多个命令,只要每个用分号分开即可,也就是说,分号是 LINGO的分隔符。LINGO的命令从来不区分大小写, 当你在LINGO中定义变量时,每个变量都要以26个字 母开始,后面可跟数字或者下划线,最多可以32个字符长。 下面是2个例子。 例1 下面是一个最简单的非线性规划,它实质上是求(xy)^2+(z-2)^2+4 的最小值。在LINGO中输入下式后,按 求解图标,看一看LINGO会给出什么结果。 MIN=x^2-2*x*y+y^2+z^2-4*z+8; x>=0; y>=0; z>=0;