1 / 5
文档名称:

用LINGO求解整数规划.doc

格式:doc   大小:51KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用LINGO求解整数规划.doc

上传人:雾里看花 2019/2/22 文件大小:51 KB

下载得到文件列表

用LINGO求解整数规划.doc

相关文档

文档介绍

文档介绍:用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的符号限制(即可取任意实数包括负数)***@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)           如果x<0返回-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:在线性规划中的应用maxZ=5X1+3X2+6X3,+2X2+X3≤18 2X1+X2+3X3=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); 然后按运行按钮,得到模型最优解,具体如下: Objectivevalue: VariableValue ReducedCost x3- 由此可知,当x1=14,x2=0,x3=-4时,模型得到最优值,且最优值为46。说明:在利用LINGO求解线性规划时,如自变量都为非负的话,在LINGO中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数***@free来把系统默认的非负变量定义自由变量,如实例一中的x3。例3、用LINGO求解整数线性规划问题:模型的输入使用LINGO求解上述整数规划模型,LINGO程序如下:MODEL:max=3*x1+4*x2+8*x3-100*y1-150*y2-200*y3;2*x1+4*x2+8*