lingo教程(LINGO的操作步骤?)
题图来自Unsplash,基于CC0协议
本文目录
正文
1、LINGO的操作步骤?
一般地,使用LINGO 求解运筹学问题可以分为以下两个步骤来完成:
1)根据实际问题,建立数学模型,即使用数学建模的方法建立优化模型;
2)根据优化模型,利用LINGO 来求解模型。主要是根据LINGO软件,把数学模型转译成计算机语言,借助于计算机来求解。
例题:在线性规划中的应用max Z =5 X1+3 X2+6X3,
s.t. X1 +2 X2 + X3 ≤18
2 X1 + X2 +3 X3 =16
X1 + X2 + X3 =10
X1,X2 ≥0,X3 为自由变量
应用LINGO 来求解该模型,只需要在 lingo窗口中输入以下信息即可:
max=5*x1 +3*x2 +6*x3;
x1 +2*x2 + x3
2*x1 + x2+3*x3 =16 ;
x1 + x2 + x3 =10 ;
@free(x3);
然后按运行按钮,得到模型最优解,具体如下:
Objective value: 46.00000
Variable Value Reduced Cost
x1 14.00000 0.000000
x2 0.000000 1.000000
x3 -4 .000000 0.000000
由此可知,当 x1 =14,x2 =0,x3 =-4 时,模型得到最优值,且最优值为 46。
说明:在利用LINGO 求解线性规划时,如自变量都为非负的话,在LINGO 中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数 @free来把系统默认的非负变量定义自由变量,如实例一中的 x3。
2、Lingo建模的这个约束条件怎么写?
单看这两句你的写法应该没什么问题啊 第一种j,j+1同是循环的我没用过写法我没用过,你试试j,j-1 第二种pm(2)若是有值的话直接带进去试试 我个人觉得第二个没错 是不是其他约束的毛病