用LINGO求解整数规划

用LINGO求解整数规划
在LINGO中,输入总是以model:开始,以end结束;中间的语句之间必须以“;”分开;
LINGO不区分字母的大小写;
目标函数用MAX=…;或MIN=…;给出(注意有等号“=”)。
在LINDO中所有的函数均以“@”符号开始,如约束中@gin(x1)表示x1为整数,用@bin(x1)表示x1为0-1整数。
在现在的LINDO中,默认设置假定所有变量非负。
函数中变量的界定:
@GIN(X):限制X为整数
@BIN(X):限定变量X为0 或 1。
  @FREE(X):取消对x的符号限制(即可取任意实数包括负数)
@BND(L,X,U):限制 L<= X <= U
LINGO提供了大量的标准数学函数:
@abs(x)???????????? 返回x的绝对值
@sin(x)???????????? 返回x的正弦值,x采用弧度制
@cos(x)???????????? 返回x的余弦值
@tan(x)???????????? 返回x的正切值
@exp(x)???????????? 返回常数e的x次方
@log(x)???????????? 返回x的自然对数
@lgm(x)???????????? 返回x的gamma函数的自然对数
@sign(x)??????????? 如果x<0返回-1;否则,返回1
@smax(x1,x2,…,xn)? 返回x1,x2,…,xn中的最大值
@smin(x1,x2,…,xn)? 返回x1,x2,…,xn中的最小值
1:整数规划模型在LINGO中可以如下输入:
model:
Max=5*x1+8*x2;  !*号不能省略
x1+x2<=6;    !约束条件和目标函数可以写在model:与end之间的任何位置
5*x1<=45-9*x2;
@gin(x1);@gin(x2);  !和LINDO不同,不能写在end之后
end
 运行后同样得到最优解为x1=0,x2=5,最优值为40。
2在线性规划中的应用
max Z =5X1+3X2+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<=18;
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。
例3、用LINGO求解整数线性规划问题:
1、 模型的输入
使用LINGO求解上述整数规划模型,LINGO程序如下:
MODEL:
max=3*x1+4*x2+8*x3-100*y1-150*y2-200*y3;
2*x1+4*x2+8*x3<=500;
中国商品网2*x1+3*x2+4*x3<=300;
x1+2*x2+3*x3<=100;
3*x1+5*x2+7*x3<=700;
x1<=200*y1;
x2<=150*y2;
x3<=300*y3;
@GIN(x1);@GIN(x2);@GIN(x3);
@BIN(y1);@BIN(y2);@BIN(y3);
END
2、 执行
点击LINGO菜单下的SOLVE键,或按CTRL+S键,即可求得问题的解。
此问题的解为:,最优值为:200。
当运用LINGO求解此问题后,系统会弹出一个名为Solution Report的文本框,其文本框中包含了求解的详细信息,如下:
Rows=      8 Vars=      6 No. integer vars=      6  ( all are linear)
Nonzeros=    28 Constraint nonz=    18(    4 are +- 1) Density=0.500
Smallest and largest elements in abs value=    1.00000        700.000
No. < :  7 No. =:  0 No. > :  0, Obj=MAX, GUBs <=  3
Single cols=    0
Global optimal solution found at step:            4
Objective value:                            200.0000
Branch count:                                      0
                      Variable          Value        Reduced Cost
                            X1        100.0000          -3.000000
                            X2      0.0000000          -4.000000
                            X3      0.0000000          -8.000000
                            Y1        1.000000            100.0000
                            Y2      0.0000000            150.0000
                            Y3      0.0000000            200.0000
                            Row    Slack or Surplus      Dual Price
华北农学报
                              1        200.0000            1.000000
汽车机械                              2        300.0000          0.0000000
                              3        100.0000          0.0000000
                              4      0.0000000          0.0000000
                              5        400.0000          0.0000000
                              6        100.0000          0.0000000
                              7      0.0000000          0.0000000
                              8      0.0000000          0.0000000
3、 LINGO程序注解
MODEL:LINGO模型程序的开始标志。
END:LINGO模型程序的结束标志。
max=3*x1+4*x2+8*x3-100*y1-150*y2-200*y3:表明目标函数是,问题为求最大值。
2*x1+4*x2+8*x3<=500:对应约束条件,其余类似。
@GIN(x1):对应约束条件为整数,函数用来限定变量为整数,其余类似。
@BIN(y1):对应约束条件为0-1变量,函数巴山舞用来限定变量为二进制整数。
例4、非线性整数规划
  min=x+3*y^2+@exp(x);
2*x+3*y>10;
5*x-y<6;
@gin(x);@gin钾盐矿(y);
运行结果:
Local optimal solution found at iteration:            124
  Objective value:                                30.71828
                      Variable          Value        Reduced Cost
                              X        1.000000            3.718280
                              Y        3.000000            18.00000

本文发布于:2024-09-23 04:26:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/536780.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   变量   整数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议