1 / 6
文档名称:

用LINGO求解整数规划.docx

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

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

分享

预览

用LINGO求解整数规划.docx

上传人:guoxiachuanyue 2020/8/3 文件大小:26 KB

下载得到文件列表

用LINGO求解整数规划.docx

文档介绍

文档介绍:用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、:***@END(L,X,U)限制L<=X<=Uo©EIN(X)限制X为0或匕***@FRFE(X>取消对X的符邸艮制(«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返回-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;!和LINDO不同,不能写在end之后***@gin(x1);***@gin(x2);end运行后同样得到最优解为x1=0,x2=5,最优值为40。例2:在线性规划中的应用maxZ=5X1+3X2+6X3,+2X2+X3<182X1+X2+3X3=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*x3=16;x1+x2+x3=10;***@free(x3);然后按运行按钮,得到模型最优解,具体如下:Objectivevalue:-,当x1=14,x2=0,x3=-4 时,模型得到最优值,且最优值为46。说明:在利用LINGO求解线性规划时,如自变量都为非负的话,在 LINGO中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数 ***@free来把系统默认的非负变量定义自由变量,如实例一中的 x3。例3、用LINGO求解整数线性规划问题:maxz=3%4x28x3-100%-150y2-200y32%+4x2+8x3兰5002%+3x2+4x3兰300x^i+2x2+3x3兰1003%+5x2+.< x^200y!X2兰150y2x3兰300y3Xj_0且为整数,j=1,2,3yj=0