用LINGO求解整数规划_精品文档Word文档下载推荐.doc

上传人:b****2 文档编号:14437128 上传时间:2022-10-22 格式:DOC 页数:5 大小:55KB
下载 相关 举报
用LINGO求解整数规划_精品文档Word文档下载推荐.doc_第1页
第1页 / 共5页
用LINGO求解整数规划_精品文档Word文档下载推荐.doc_第2页
第2页 / 共5页
用LINGO求解整数规划_精品文档Word文档下载推荐.doc_第3页
第3页 / 共5页
用LINGO求解整数规划_精品文档Word文档下载推荐.doc_第4页
第4页 / 共5页
用LINGO求解整数规划_精品文档Word文档下载推荐.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

用LINGO求解整数规划_精品文档Word文档下载推荐.doc

《用LINGO求解整数规划_精品文档Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《用LINGO求解整数规划_精品文档Word文档下载推荐.doc(5页珍藏版)》请在冰豆网上搜索。

用LINGO求解整数规划_精品文档Word文档下载推荐.doc

取消对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:

在线性规划中的应用

maxZ=5X1+3X2+6X3,

s.t.

X1+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:

46.00000

  VariableValue ReducedCost

  x114.000000.000000

  x20.0000001.000000

  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*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求解此问题后,系统会弹出一个名为SolutionReport的文本框,其文本框中包含了求解的详细信息,如下:

Rows=8Vars=6No.integervars=6(allarelinear)

Nonzeros=28Constraintnonz=18(4are+-1)Density=0.500

Smallestandlargestelementsinabsvalue=1.00000700.000

No.<

:

7No.=:

0No.>

0,Obj=MAX,GUBs<

=3

Singlecols=0

Globaloptimalsolutionfoundatstep:

4

Objectivevalue:

200.0000

Branchcount:

0

VariableValueReducedCost

X1100.0000-3.000000

X20.0000000-4.000000

X30.0000000-8.000000

Y11.000000100.0000

Y20.0000000150.0000

Y30.0000000200.0000

RowSlackorSurplusDualPrice

1200.00001.000000

2300.00000.0000000

3100.00000.0000000

40.00000000.0000000

5400.00000.0000000

6100.00000.0000000

70.00000000.0000000

80.00000000.0000000

3、LINGO程序注解

MODEL:

LINGO模型程序的开始标志。

END:

LINGO模型程序的结束标志。

max=3*x1+4*x2+8*x3-100*y1-150*y2-200*y3:

表明目标函数是,问题为求最大值。

=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);

运行结果:

Localoptimalsolutionfoundatiteration:

124

Objectivevalue:

30.71828

X1.0000003.718280

Y3.00000018.00000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1