欢迎来到天天文库
浏览记录
ID:56280630
大小:39.50 KB
页数:4页
时间:2020-06-05
《用LINGO求解整数规划.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用LINGO求解整数规划LINGO软件用于线性或非线性规划,最出名的特点是可以求整数规划。一:LINGO软件的输入格式在LINGO中,输入总是以model:开始,以end结束;中间的语句之间必须以“;”分开;LINGO不区分字母的大小写;目标函数用MAX=…;或MIN=…;给出(注意有等号“=”)。在LINGO中所有的函数均以“@”符号开始,如约束中@gin(x1)表示x1为整数,用@bin(x1)表示x1为0-1整数。在现在的LINGO中,默认设置假定所有变量非负。二:变量界定函数变量界定函数对变量的取值范围加以限制,共有四种。@BND(L,X,U)限制L<=X<=U@B
2、IN(X)限制X为0或1@FREE(X)取消对X的符号限制(即可以取负数,0或正数)@GIN(X)限制X为整数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
3、返回-1;否则,返回1@smax(x1,x2,…,xn) 返回x1,x2,…,xn中的最大值@smin(x1,x2,…,xn) 返回x1,x2,…,xn中的最小值三:4个例子例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:在线性规划中的应用maxZ=5X1+3X2+6X3,s
4、.t.X1+2X2+X3≤18 2X1+X2+3X3=16 X1+X2+X3=10 X1,X2≥0,X3为自由变量应用LINGO来求解该模型,只需要在lingo窗口中输入以下信息即可:Model:max=5*x1+3*x2+6*x3;x1+2*x2+x3<=18;2*x1+x2+3*x3=16;x1+x2+x3=10;@free(x3);end 然后按运行按钮,得到模型最优解,具体如下: Objectivevalue:46.00000 VariableValue ReducedCost x114.000000.000000 x20.0000001.00000
5、0 x3-4.0000000.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
6、*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);END1、执行点击LINGO菜单下的SOLVE键,或按CTRL+S键,即可求得问题的解。此问题的解为:,最优值为:200。当运用LINGO求解此问题后,系统会弹出一个名为SolutionReport的文本框,其文本框中包含了求解的详细信息,如下:Globaloptimalsolutionfoundat
7、step:4Objectivevalue:200.0000Branchcount:0VariableValueReducedCostX1100.0000-3.000000X20.0000000-4.000000X30.0000000-8.000000Y11.000000100.0000Y20.0000000150.0000Y30.0000000200.0000RowSlackorSurplusDualPrice1200.00001.0000002300.00000.00000003100.00000.0000000
此文档下载收益归作者所有