用LINGO求解整数规划_第1页
用LINGO求解整数规划_第2页
用LINGO求解整数规划_第3页
用LINGO求解整数规划_第4页
用LINGO求解整数规划_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用LINGO求解整数规划LINGO软件用于线性或非线性规划(无论是连续规划还是整数规划),因此包含了LINDO的功能。在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的符号限制(即可取任意实数包括

2、负数)BND(L,X,U):限制 L= X = ULINGO提供了大量的标准数学函数: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) 如果x0返回-1;否则,返回1smax(x1,x2,xn) 返回x1,x2,xn中的最大值smin(x1,x2,xn) 返回x1,x2,xn中的最小值例1:整数规划模型在LINGO中可以如下输入:model:Max=5*x1+8*x2; !*号不能省略x1+x2=

3、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 182 X1 + X2 +3 X3 =16X1 + X2 + X3 =10X1 ,X2 0 , X3 为自由变量应用LINGO 来求解该模型,只需要在 lingo窗口中输入以下信息即可:max=5*x1+3*x2+6*x3;x1+2*x2+x3=18;2*x1+x2+3*

4、x3=16;x1+x2+x3=10;free(x3);然后按运行按钮,得到模型最优解,具体如下:Objective value: 46.00000Variable ValueReduced Costx1 14.00000 0.x2 0. 1.x3 -4 . 0.由此可知,当 x1 =14 , x2 =0 , x3 =-4 时,模型得到最优值,且最优值为 46。说明:在利用LINGO 求解线性规划时,如自变量都为非负的话,在LINGO 中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数 free来把系统默认的非负变量定义自由变量,如实例一中的 x3。例3、用LINGO求解整数线性规划问

5、题: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);END2、 执行点击LINGO菜单下的SOLVE键,或按CTRL+S键,即可求得问题的解。此问题的解为:,最优值为:200。当

6、运用LINGO求解此问题后,系统会弹出一个名为Solution Report的文本框,其文本框中包含了求解的详细信息,如下:Rows= 8 Vars= 6 No. integer vars= 6 ( all are linear)Nonzeros= 28 Constraint nonz= 18( 4 are +- 1) Density=0.500Smallest and largest elements in abs value= 1.00000 700.000No. : 0, Obj=MAX, GUBs = 3Single cols= 0Global optimal solution fou

7、nd at step: 4Objective value: 200.0000Branch count: 0 Variable Value Reduced Cost X1 100.0000 -3. X2 0. -4. X3 0. -8. Y1 1. 100.0000 Y2 0. 150.0000 Y3 0. 200.0000 Row Slack or Surplus Dual Price 1 200.0000 1. 2 300.0000 0. 3 100.0000 0. 4 0. 0. 5 400.0000 0. 6 100.0000 0. 7 0. 0. 8 0. 0.3、 LINGO程序注解MODEL:LINGO模型程序的开始标志。END:LINGO模型程序的结束标志。max=3*x1+4*x2+8*x3-100*y1-150*y2-200*y3:表明目标函数是,问题为求最大值。2*x1+4*x2+8*x310;5*x-y6;gin(x);gin(y);运行结果:Loca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论