优化模型与LINDOLINGO优化软.ppt

上传人:wuy****n92 文档编号:62311472 上传时间:2022-11-22 格式:PPT 页数:68 大小:722.50KB
返回 下载 相关 举报
优化模型与LINDOLINGO优化软.ppt_第1页
第1页 / 共68页
优化模型与LINDOLINGO优化软.ppt_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《优化模型与LINDOLINGO优化软.ppt》由会员分享,可在线阅读,更多相关《优化模型与LINDOLINGO优化软.ppt(68页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、优化模型与优化模型与LINDO/LINGO优化软件优化软件温罗生温罗生重庆大学数理学院重庆大学数理学院 1,从Lindo到Lingo 线性规划是优化方法中最基本,也是最重要的方法,最根本的原因是模型的规范性以及求解的高效率。其最基本的形式如下:当问题比较简单是,利用Lindo可以方便的求解。比如下面的问题 max 2x1+3x2 s.t.x1+x2 2 x1-2x21/2 x1,x2非负 按照Lindo的语法,写成 max 2x1+3x2 s.t.x1+x2 2 x1-2x21/2 end更多的例子可以更多的例子可以参见程序部分参见程序部分使用使用LINDOLINDO的一些注意事项的一些注意事

2、项1.“”(或(或“=”(或(或“=”)功能相)功能相同同2.变量与系数间可有空格变量与系数间可有空格(甚至回车甚至回车),但无运算符但无运算符3.变量名以字母开头,不能超过变量名以字母开头,不能超过8个字符个字符4.变量名不区分大小写(包括变量名不区分大小写(包括LINDO中的关键字)中的关键字)5.目标函数所在行是第一行,第二行起为约束条件目标函数所在行是第一行,第二行起为约束条件6.行号行号(行名行名)自动产生或人为定义。行名以自动产生或人为定义。行名以“)”结结束束7.行中注有行中注有“!”符号的后面部分为注释。如符号的后面部分为注释。如:8.!Its Comment.8.在模型的任何

3、地方都可以用在模型的任何地方都可以用“TITLE”对模型命名对模型命名(最多(最多72个字符),如:个字符),如:TITLE This Model is only an Example9.变量不能出现在一个约束条件的右端变量不能出现在一个约束条件的右端10.表达式中不接受括号表达式中不接受括号“()”和逗号和逗号“,”等任何符等任何符号号,例例:400(X1+X2)需写为需写为400X1+400X211.表达式应化简,如表达式应化简,如2X1+3X2-4X1应写成应写成-2X1+3X212.缺省假定所有变量非负;可在模型的缺省假定所有变量非负;可在模型的“END”语句语句后用后用“FREE n

4、ame”将变量将变量name的非负假定取消的非负假定取消13.可在可在“END”后用后用“SUB”或或“SLB”设定变量上设定变量上下界下界14.例如:例如:“sub x1 10”的作用等价于的作用等价于“x1=10”但用但用“SUB”和和“SLB”表示的上下界约束不计入模表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分析。型的约束,也不能给出其松紧判断和敏感性分析。14.“END”后对后对0-1变量说明:变量说明:INT n 或或 INT name15.“END”后对整数变量说明:后对整数变量说明:GIN n 或或 GIN name使用使用LINDOLINDO的一些注意事项的

5、一些注意事项状态窗口状态窗口(LINDO Solver Status)当前状态:已达最优解当前状态:已达最优解迭代次数:迭代次数:18次次约束不满足的约束不满足的“量量”(不不是是“约束个数约束个数”):0当前的目标值:当前的目标值:94最好的整数解:最好的整数解:94整数规划的界:整数规划的界:93.5分枝数:分枝数:1所用时间:所用时间:0.00秒(太快秒(太快了,还不到了,还不到0.005秒)秒)刷新本界面的间隔刷新本界面的间隔:1(秒秒)选项设置选项设置 Preprocess:预处理:预处理(生成割平面生成割平面);Preferred Branch:优先的分枝方式:优先的分枝方式:“D

6、efault”(缺省方式)、(缺省方式)、“Up”(向上取整优先)、(向上取整优先)、“Down”(向下取整优先);(向下取整优先);IP Optimality Tol:IP最优值允许的误最优值允许的误差上限(一个百分数,如差上限(一个百分数,如5%即即0.05););IP Objective Hurdle:IP目标函数的篱目标函数的篱笆值,即只寻找比这个值更优最优解笆值,即只寻找比这个值更优最优解(如当知道当前模型的某个整数可行解(如当知道当前模型的某个整数可行解时,就可以设置这个值);时,就可以设置这个值);IP Var Fixing Tol:固定一个整数变量:固定一个整数变量取值所依据的

7、一个上限(如果一个整数取值所依据的一个上限(如果一个整数变量的判别数(变量的判别数(REDUCED COST)的)的值很大,超过该上限,则以后求解中把值很大,超过该上限,则以后求解中把该整数变量固定下来)。该整数变量固定下来)。Nonzero Limit:非零系数的个数上限;非零系数的个数上限;Iteration Limit:最大迭代步数;最大迭代步数;Initial Contraint Tol:约束的初始误差上限;约束的初始误差上限;Final Contraint Tol:约束的最后误差上限;约束的最后误差上限;Entering Var Tol:进基变量的进基变量的REDUCED COST的

8、误差限;的误差限;Pivot Size Tol:旋转元的误差限旋转元的误差限Report/Statistics第一行:模型有第一行:模型有5行(约束行(约束4行),行),4个变量,两个整数变量(没有个变量,两个整数变量(没有0-1变量),从第变量),从第4行开始是二次规划的实际约束。行开始是二次规划的实际约束。第二行:非零系数第二行:非零系数19个,约束中非零系数个,约束中非零系数12个个(其中其中6个为个为1或或-1),模型密度为模型密度为0.760(密度密度=非零系数非零系数/行数行数(变量数变量数)。第三行的意思:按绝对值看,系数最小、最大分别为第三行的意思:按绝对值看,系数最小、最大分

9、别为0.3和和277。第四行的意思:模型目标为极小化;小于等于、等于、大于等于约第四行的意思:模型目标为极小化;小于等于、等于、大于等于约束分别有、个;广义上界约束(束分别有、个;广义上界约束(GUBS)不超过个;)不超过个;变量上界约束(变量上界约束(VUBS)不少于个。所谓)不少于个。所谓GUBS,是指一组不,是指一组不含有相同变量的约束;所谓含有相同变量的约束;所谓VUBS,是指一个蕴涵变量上界的约,是指一个蕴涵变量上界的约束,如从约束束,如从约束X1+X2-X3=0可以看出,若可以看出,若X3=0,则,则X1=0,X2=0(因为有非负限制),因此(因为有非负限制),因此X1+X2-X3

10、=0是一个是一个VUBS约束。约束。第五行的意思:只含个变量的约束个数第五行的意思:只含个变量的约束个数=个;冗余的列数个;冗余的列数=个个ROWS=5 VARS=4 INTEGER VARS=2(0=0/1)QCP=4NONZEROS=19 CONSTRAINT NONZ=12(6=+-1)DENSITY=0.760SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE=0.300000 277.000OBJ=MIN,NO.:2 0 2,GUBS=0SINGLE COLS=0 REDUNDANT COLS=0 但是当问题的规模扩大时,前面的方法显得非常

11、不方便甚至是致命的。主要的原因是所含的变量和约束个数太多。另一方面,规划问题本身很有规律,所以我们希望使用循环来实现。引入如下的两个数组(或者向量),C=(c1,c2,cn),X=(x1,x2,xn),b=(b1,b2,bm),我们可以得到下面的对应关系我们可以得到下面的对应关系c1x2+c2x2+cnxns=0for i=1:n s=s+c(i)*x(i)enda11x1+a12x2+a1nxnb1a21x1+a22x2+a2nxnb2 。am1x1+am2x2+amnxnbmfor i=1:m for j=1:n s(i)=s(i)+a(i,j)*x(j)end s(i)b(i)end右边

12、是程序语言的一个比喻写法,为实现右边是程序语言的一个比喻写法,为实现循环结构,循环结构,Lingo中引入了几个循环语句:中引入了几个循环语句:for(),sum(),min(),max.为此,需要定义一个数组(向量)的结构,在Lindo中称之为集合。表征数组的维数的量在循环中有非常重要的作用。在Lindo中如下定义数组。sets:setname/下标起数.下标止数/:数组名;endsets 比如,要实现前面例子的目标函数部分,只要写如下的代码:集合段部分:sets:cargo/1.2/:c,x;endsets 目标函数段:max=sum(cargo(i):c(i)*x(i);其中i为循环变量,

13、cargo指出循环变量变化的范围。对于约束,可以类似的处理如下:集合部分:sets:cargo/1.n/:c,x,a1,a2,am;rhs/1.m/:b;endsets 程序部分:sum(cargo(i):a1(i)*x(i)b(1);sum(cargo(i):a2(i)*x(i)b(2);sum(cargo(i):am(i)*x(i)b(m);可以看到,当m的值比较大时,书写还是感到麻烦,所有,可以考虑在利用循环实现。要实现二重循环,并且其中可以将系数作出一个矩阵(二维数组),所有定义 这是矩阵A的行列数是m和n,可以看成由向量X和b派生。于是为得到约束条件,可以如下的定义集合段和约束部分。

14、集合部分:sets:cargo/1.n/:c,x;rhs/1.m/:b;mat(rhs,cargo):a;endsets 程序部分:for(rhs(j):sum(cargo(i):a(j,i)*x(i)b(j);j为循环变量,rhs指出需要循环的次数。从上面的例子大家看出引入集合的作用以及基本的用法,下面的部分给出Lingo的整体结构和更复杂的例子。2,Lingo程序的结构和语法 一个规划问题,包括下面的一些内容:变量、常量、目标、约束。还是以前面的例子,说明最基本的程序构成。model:linear programming sets:cargo/1.n/:c,x;rhs/1.m/:b;mat

15、(rhs,cargo):a;endsets data c=2,3;b=2,1/2;A=1,1,1,-2;enddata max=sum(cargo(i):c(i)*x(i);for(rhs(j):sum(cargo(i):a(j,i)*x(i)b(j);前面是两个循环语句的用法,函数以“”开头,里面是循环变量以及界定循环变量的变化范围,后面是循环体。还有另外的两个循环函数:min和max,其用法相类似。从一维数组派生二维数组在数学上是常用的,比如运输问题,由顶点集可以派生边,大家可以使用本方法产生标准的运输问题的Lingo程序。可以参考例子。LINGOLINGO模型模型 例:选址问题例:选址问

16、题某公司有某公司有6个建筑工地,位置坐标为个建筑工地,位置坐标为(ai,bi)(单位:公单位:公里里),水泥日用量水泥日用量di(单位:吨)单位:吨)假设:假设:料场料场和工地之间和工地之间有直线道路有直线道路用例中数据计算,最优解为总吨公里数为总吨公里数为总吨公里数为总吨公里数为136.2136.2线性规划模型线性规划模型决策变量:决策变量:ci j(料场料场j到到工地工地i的运量)的运量)12维维选址问题:选址问题:NLPNLP2)改建两个新料场,需要确定新料场位置)改建两个新料场,需要确定新料场位置(xj,yj)和运量和运量cij,在其它条件不变下使总吨公里数最小。,在其它条件不变下使总

17、吨公里数最小。决策变量:决策变量:ci j,(xj,yj)16维维非线性规划模型非线性规划模型locationLINGO模型的构成:模型的构成:4个段个段集合段(集合段(SETS ENDSETS)数据段(数据段(DATA ENDDATA)初始段(初始段(INIT ENDINIT)目标与目标与约束段约束段 局部最优:局部最优:89.8835(吨公里吨公里)LP:移到数据段:移到数据段边界 上面讲到图的问题,但是实际中的图往往是稀疏图,这样的问题尽管可以用前面的方法处理,但是计算量往往非常的大,是不实际的。下面讲由顶点集派生边集的例子。56774968658336C1B1C2B2A1A2A3TS6

18、 前图是有九个顶点组成的图,连线代表顶点之间的边,其上的数字代表边的长度。要求得到所有顶点到顶点T的最短距离。分析Lingo程序。从这个例子得到的知识有:顶点的编号;产生边集(稀疏图);动态规划的思想;循环语句的使用。程序中出现了“i#GT#1:”在循环语句中,这实际上是常见的,也就是我们希望对满足条件的执行循环,否则不执行,称之为逻辑语句。运算符的优先级运算符的优先级 优优先先级级运算符运算符最高最高#NOT#(负负号)号)*/+(减法)(减法)#EQ#NE#GT#GE#LT#LE#AND#OR#最低最低(=)三类运算符:三类运算符:算术运算符算术运算符 逻辑运算符逻辑运算符 关系运算符关系

19、运算符 匹配问题的例子(说明逻辑运算符)某班8名同学准备分成4个调查队(每队两人)前往四个地区进行社会调查,假设这8位同学两两之间组队的效率如表所示(由于对称性,只列出严格上三角部分),问如何组队可以使总效率最高?s1s2s3s4s5s6s7s8s19342156s2173521s344292s41552s5876s623s74 将效率矩阵记为benefit,用match(si,sj)=1表示同学si和同学sj组成一个队,而match(si,sj)=0表示不组队,由对称性,只考虑ij共28个01变量。目标函数为:benefit(si,sj)*match(si,sj)对I,j求和;约束条件为每个

20、同学只能在某一组。得到规划问题:ABS(X)This returns the absolute value of X.COS(X)This returns the cosine of X,where X is an angle in radians.EXP(X)This returns e(2.718281.)raised to the power X.FLOOR(X)This returns the integer part of X.To be specific,if X?0,FLOOR returns the largest integer,I,such that I?X.If X is

21、 negative,FLOOR returns the most negative integer,I,such that I?X.LGM(X)This returns the natural(base e)logarithm of the gamma function of X(i.e.,log of(X-1)!).It is extended to noninteger values of X by linear interpolation.LOG(X)This returns the natural logarithm of X.MOD(X,Y)This returns the valu

22、e of X modulo Y,or,in other words,the remainder of an integer divide of X by Y.POW(X,Y)This returns the value of X rasied to the Y power.SIGN(X)This returns-1 if X 0.Otherwise,it returns+1.SIN(X)This returns the sine of X,where X is the angle in radians.SMAX(X1,X2,.,XN)This returns the maximum value

23、 of X1,X2,.,and XN.SMIN(X1,X2,.,XN)This returns the minimum value of X1,X2,.,and XN.SQR(X)This returns the value of X squared.SQRT(X)This returns the square root of X.TAN(X)This returns the tangent of X,where X is the angle in radiansBIN(variable)This restricts variable to being a binary(0/1)integer

24、 value.BND(lower_bound,variable,upper_bound)This limits variable to being greater-than-or-equal-to lower_bound and less-than-or-equal-to upper_bound.FREE(variable)This removes the default lower bound of zero on variable,allowing it to take any positive or negative value.GIN(variable)This restricts v

25、ariable to integer values(e.g.,0,1,2,.).问题问题1.如何下料最节省如何下料最节省?例例 钢管下料钢管下料 问题问题2.客户增加需求:客户增加需求:原料钢管原料钢管:每根每根19米米 4米米50根根 6米米20根根 8米米15根根 客户需求客户需求节省的标准是什么?节省的标准是什么?由于采用不同切割模式太多,会增加生产和管理成本,由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过规定切割模式不能超过3种。如何下料最节省?种。如何下料最节省?5米米10根根 按照客户需要在一根原料钢管上安排切割的一种组合。按照客户需要在一根原料钢管上安排切割

26、的一种组合。切割模式切割模式余料余料1 1米米 4米米1根根 6米米1根根 8米米1根根 余料余料3米米 4米米1根根 6米米1根根 6米米1根根 合理切割模式合理切割模式的余料应小于客户需要钢管的最小尺寸的余料应小于客户需要钢管的最小尺寸余料余料3米米 8米米1根根 8米米1根根 钢管下料钢管下料 为满足客户需要,按照哪些种合理模式,每种模式为满足客户需要,按照哪些种合理模式,每种模式切割多少根原料钢管,最为节省?切割多少根原料钢管,最为节省?合理切割模式合理切割模式2.所用原料钢管总根数最少所用原料钢管总根数最少 模式模式4米钢管根数米钢管根数6米钢管根数米钢管根数8米钢管根数米钢管根数余

27、料余料(米米)14003231013201341203511116030170023钢管下料问题钢管下料问题1 1 两种两种标准标准1.原料钢管剩余总余量最小原料钢管剩余总余量最小xi 按第按第i 种模式切割的原料钢管根数种模式切割的原料钢管根数(i=1,2,7)约束约束满足需求满足需求 决策变量决策变量 目标目标1(总余量)(总余量)按模式按模式2切割切割12根根,按模式按模式5切割切割15根,余料根,余料27米米 模模式式4米米根数根数6米米根数根数8米米根数根数余余料料14003231013201341203511116030170023需需求求502015最优解:最优解:x2=12,x

28、5=15,其余为其余为0;最优值:最优值:27整数约束:整数约束:xi 为整数为整数cut1a当余料没有用处时,当余料没有用处时,通常以总根数最少为目标通常以总根数最少为目标 目标目标2(总根数)(总根数)钢管下料问题钢管下料问题1 1 约束条约束条件不变件不变 最优解:最优解:x2=15,x5=5,x7=5,其余为其余为0;最优值:最优值:25。xi 为整数按模式按模式2切割切割15根,根,按模式按模式5切割切割5根,根,按模式按模式7切割切割5根,根,共共25根,余料根,余料35米米 虽余料增加虽余料增加8米,但减少了米,但减少了2根根 与与目标目标1的结果的结果“共切割共切割27根,余料

29、根,余料27米米”相比相比 作业作业:将该将该问题进问题进行编程行编程钢管下料问题钢管下料问题2 2对大规模问题,用模型的约束条件界定合理模式对大规模问题,用模型的约束条件界定合理模式增加一种需求:增加一种需求:5米米10根;切割根;切割模式不超过模式不超过3种。种。现有现有4种种需求:需求:4米米50根,根,5米米10根,根,6米米20根,根,8米米15根,用枚举法确定合理切割模式,过于复杂。根,用枚举法确定合理切割模式,过于复杂。决策变量决策变量 xi 按第按第i 种模式切割的原料钢管根数种模式切割的原料钢管根数(i=1,2,3)r1i,r2i,r3i,r4i 第第i 种切割模式下,每根原

30、料钢种切割模式下,每根原料钢管生产管生产4米、米、5米、米、6米和米和8米长的钢管的数量米长的钢管的数量满足需求满足需求模式合理:每根模式合理:每根余料不超过余料不超过3米米整数非线性规划模型整数非线性规划模型钢管下料问题钢管下料问题2 2目标函数(目标函数(总根数)总根数)约束约束条件条件整数约束:整数约束:xi,r1i,r2i,r3i,r4i(i=1,2,3)为整数为整数增加约束,缩小可行域,便于求解增加约束,缩小可行域,便于求解原料钢管总根数下界:原料钢管总根数下界:特殊生产计划:对每根原料钢管特殊生产计划:对每根原料钢管模式模式1:切割成:切割成4根根4米钢管,需米钢管,需13根;根;

31、模式模式2:切割成:切割成1根根5米和米和2根根6米钢管,需米钢管,需10根;根;模式模式3:切割成:切割成2根根8米钢管,需米钢管,需8根。根。原料钢管总根数上界:原料钢管总根数上界:31 模式排列顺序可任定模式排列顺序可任定 钢管下料问题钢管下料问题2 2需求:需求:4米米50根,根,5米米10根,根,6米米20根,根,8米米15根根每根原料钢管长每根原料钢管长19米米LINGOLINGO求解整数非线性规划模型求解整数非线性规划模型Local optimal solution found at iteration:12211 Objective value:28.00000Variable

32、 Value Reduced CostX1 10.00000 0.000000X2 10.00000 2.000000X3 8.000000 1.000000R11 3.000000 0.000000R12 2.000000 0.000000R13 0.000000 0.000000R21 0.000000 0.000000R22 1.000000 0.000000 R23 0.000000 0.000000 R31 1.000000 0.000000 R32 1.000000 0.000000 R33 0.000000 0.000000 R41 0.000000 0.000000 R42 0

33、.000000 0.000000 R43 2.000000 0.000000 模式模式1:每根原料钢管切割成:每根原料钢管切割成3根根4米和米和1根根6米钢管,共米钢管,共10根;根;模式模式2:每根原料钢管切割成:每根原料钢管切割成2根根4米、米、1根根5米和米和1根根6米钢管,米钢管,共共10根;根;模式模式3:每根原料钢管切割成:每根原料钢管切割成2根根8米钢管,共米钢管,共8根。根。原料钢管总根数为原料钢管总根数为28根。根。作业作业:将代码改写成矩阵生成器的形式将代码改写成矩阵生成器的形式cut2A1325801010312012427010881070627030202030450

34、1043017506061942052016804803002202104205006003060195202720690520170690462160320160110290115011001200A2A3A4A5A6A7A8A9A10A11A12A13A14A15S1S2S3S4S5S6S7铁路运价表里程300301350351400401450451500运价2023262932 钢管运输问题钢管运输问题(CUMCM-CUMCM-2000B)2000B)常用解法常用解法:二次规划二次规划先计算最小运费矩阵先计算最小运费矩阵两种运输方式(铁路公路)混合最短路问题两种运输方式(铁路公路)混合

35、最短路问题是普通最短路问题的变种,需要自己设计算法是普通最短路问题的变种,需要自己设计算法 钢管运输问题钢管运输问题(CUMCM-CUMCM-2000B)2000B)fi表示钢厂表示钢厂i是否使用;是否使用;xij是从钢厂是从钢厂i运到节点运到节点j的钢管量的钢管量yj是从节点是从节点j向左铺设的钢管量;向左铺设的钢管量;zj是向右铺设的钢管量是向右铺设的钢管量 钢管运输问题钢管运输问题(CUMCM-CUMCM-2000B)2000B)LINDO/LINGO得到的结果比得到的结果比matlab得到的好得到的好steerpipe值班人员的工作安排问题值班人员的工作安排问题 我们考虑一组约束,它们

36、表示值班人员的工作安排要满足预估计的按小时计算的需要量,因为人员必须安排在某种类型的班里全时值班,假定有许多不同类型的班,我们发现,一般情况下,不可能精确的安排每个时段所需要的值班人员的人数。因为每个时段的需要都在改变,我们会发现有的时段值班人员太多,有的时段值班人员太少,也有值班人员总数正好满足需要的时段。这个问题的目标是,希望把人员安排到各种类型的班,使得超员和缺员的总和最小。我们举例说明这个问题,设有五个时段和六个类型的值班的组合,用下表给出:x1x2x3x4x5x6需要的总人数T11110006T20111105T31001113T41111017T50010118 例如,上表的x1这

37、一列说明安排在第一班值班的人员在第一时段上班工作,第二时段不上班第三和第四时段继续工作,在第五时段开始时就离开,变量bi表示安排在第i班工作的人数。我们用A表示值班矩阵,用x表示变量向量,用b表示 人员需要向量,乘积Ax的第i个分量,即指定在第i个时段值班的人数可以大于、小于或者等于向量b的对应分量bi。这是一个最优化问题,我们如何建立这一模型呢?对每行i我们定义一个符号不受限制的变量ci,它表示 bi与第i个左端分量的离差可以是正的、负的或者零,用 c 表示这些变量的 列向量。通过加入松弛变量的方法,则规划问题是:这种类型的规划问题统称为绝对值优化问题,本身属于非线性规划问题。通常 情况下可

38、以用以下方式转化为线性规划。因为任意实数可以写成两个非负数之差,故令 ci=yi-zi,其中yi0,zi0 且c=y-z。因此我们有线性规划问题:利用Lindo,代入相应数据,运行即可得到结果。(见例子)assignment两辆铁路平板车的装货问题两辆铁路平板车的装货问题MCM1988B 有七种规格的包装箱要装到两辆铁路平板车上去,包装箱的宽和高是一样的,但厚度(t,以厘米计)及重量(w,以公斤计)是不同的。下表给出了每种包装箱的厚度、重量以及数量。每辆平板车有10.2米长的地方可用来装包装箱(象面包片那样),载重为40吨。由于当地货运的限制,对C5,C6,C7类的包装箱的总数有一个特别的限制

39、:这类箱子所占的空间(厚度)不能超过302.7厘米。试把包装箱(见下表)装到平板车上去使得浪费的空间最小。C1C2C3C4C5C6C7T(厘米)48.752.0 61.372.0 48.752.0 64.0W(公斤)200030001000500400020001000K(件数)8796643 这是一个整数规划问题,我们用 ,分别表示两辆车装载各种规格包装箱的件数。(i=1,7)依照条件有以下的关系式:1)各种包装箱的数目不超过总数限制:2)每节车厢的箱子厚度不超过1020厘米:3)每节车厢上包装箱的重量不超过40吨:4)第5,6,7三种箱子的总厚度不超过302.7厘米:5)目标函数相反的可以

40、看成箱子占用的空间最大:其中 ,都取非负整数。利用Lindo,代入相应数据,运行即可得到结果。place露天矿里铲位已分成矿石和岩石露天矿里铲位已分成矿石和岩石:平均铁含量不低于平均铁含量不低于25%的为矿石,否则为岩石。每个铲位的矿石、岩石数的为矿石,否则为岩石。每个铲位的矿石、岩石数量,以及矿石的平均铁含量(称为品位)都是已知的。量,以及矿石的平均铁含量(称为品位)都是已知的。每个铲位至多安置一台电铲,电铲平均装车时间每个铲位至多安置一台电铲,电铲平均装车时间5分钟分钟卡车在等待时所耗费的能量也是相当可观的,原则上在卡车在等待时所耗费的能量也是相当可观的,原则上在安排时安排时不应发生卡车等

41、待不应发生卡车等待的情况。的情况。露天矿生产的车辆安排露天矿生产的车辆安排(CUMCM-2003B)矿石卸点需要的铁含量要求都为矿石卸点需要的铁含量要求都为29.5%1%(品位限制)品位限制),搭配量在一个班次(,搭配量在一个班次(8小时)内满足品位限制即可。小时)内满足品位限制即可。卸点在一个班次内不变。卡车载重量为卸点在一个班次内不变。卡车载重量为154吨,平均时吨,平均时速速28km,平均卸车时间为平均卸车时间为3分钟。分钟。问题:出动几台电铲,分别在哪些铲位上;出动几辆问题:出动几台电铲,分别在哪些铲位上;出动几辆卡车,分别在哪些路线上各运输多少次卡车,分别在哪些路线上各运输多少次?平

42、面示意图问题数据问题数据 距离铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏5.265.194.214.002.952.742.461.900.641.27倒装1.900.991.901.131.272.251.482.043.093.51岩场5.895.615.614.563.513.652.462.461.060.57岩石漏0.641.761.271.832.742.604.213.725.056.10倒装4.423.863.723.162.252.810.781.621.270.50铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石量09510510

43、0105110125105130135125岩石量125110135105115135105115135125铁含量30%28%29%32%31%33%32%31%33%31%问题分析问题分析 与典型的运输问题明显有以下不同:与典型的运输问题明显有以下不同:1.这是运输矿石与岩石两种物资的问题;这是运输矿石与岩石两种物资的问题;2.属于产量大于销量的不平衡运输问题;属于产量大于销量的不平衡运输问题;3.为了完成品位约束,矿石要搭配运输;为了完成品位约束,矿石要搭配运输;4.产地、销地均有单位时间的流量限制;产地、销地均有单位时间的流量限制;5.运输车辆只有一种,每次满载运输,运输车辆只有一种,

44、每次满载运输,154吨吨/车次;车次;6.铲位数多于铲车数意味着要最优的选择不多于铲位数多于铲车数意味着要最优的选择不多于7个个产地作为最后结果中的产地;产地作为最后结果中的产地;7.最后求出各条路线上的派出车辆数及安排。最后求出各条路线上的派出车辆数及安排。近似处理:近似处理:先求出产位、卸点每条线路上的运输量先求出产位、卸点每条线路上的运输量(MIP模型模型)然后求出各条路线上的派出车辆数及安排然后求出各条路线上的派出车辆数及安排模型假设模型假设卡车在一个班次中不应发生等待或熄火后再启动卡车在一个班次中不应发生等待或熄火后再启动的情况;的情况;在铲位或卸点处由两条路线以上造成的冲突问题在铲

45、位或卸点处由两条路线以上造成的冲突问题面前,我们认为只要平均时间能完成任务,就认面前,我们认为只要平均时间能完成任务,就认为不冲突。我们不排时地进行讨论;为不冲突。我们不排时地进行讨论;空载与重载的速度都是空载与重载的速度都是28km/h,耗油相差很大;,耗油相差很大;卡车可提前退出系统,等等。卡车可提前退出系统,等等。如理解为严格不等待,难以用数学规划模型来解如理解为严格不等待,难以用数学规划模型来解 个别参数队找到了可行解个别参数队找到了可行解(略)(略)符号符号xij:从:从i铲位到铲位到j号卸点的石料运量号卸点的石料运量(车)(车)单位:单位:吨;吨;cij:从:从i号铲位到号铲位到j

46、号卸点的距离号卸点的距离 公里;公里;Tij:从从i号铲位到号号铲位到号j卸点路线上运行一个周期平均时间卸点路线上运行一个周期平均时间 分;分;Aij:从号铲位到号卸点最多能同时运行的卡车数:从号铲位到号卸点最多能同时运行的卡车数 辆;辆;Bij:从号铲位到号卸点路线上一辆车最多可运行的次数:从号铲位到号卸点路线上一辆车最多可运行的次数 次;次;pi:i号铲位的矿石铁含量号铲位的矿石铁含量 p=(30,28,29,32,31,33,32,31,33,31)%qj:j号卸点任务需求,号卸点任务需求,q=(1.2,1.3,1.3,1.9,1.3)*10000 吨吨cki:i号铲位的铁矿石储量号铲位

47、的铁矿石储量 万吨万吨cyi:i号铲位的岩石储量号铲位的岩石储量 万吨万吨fi:描述第描述第i号铲位是否使用的号铲位是否使用的0-1变量,取变量,取1为使用;为使用;0为关闭。为关闭。(近似近似)优化模型(1)道路能力道路能力(卡车数卡车数)约束约束(2)电铲能力约束(3)卸点能力约束(4)铲位储量约束(5)产量任务约束(6)铁含量约束(7)电铲数量约束(8)整数约束 xij为非负整数fi 为0-1整数计算结果(计算结果(LINGOLINGO软件)软件)铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿漏131354541111倒42424343岩场70701515岩漏81814

48、343倒13132 27070铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏0.8671.8620.314倒场1.0771.162岩场1.8920.326岩石漏1.8411.229倒场0.6840.11.489cumcm2003b1.lg4计算结果(派车)计算结果(派车)铲位1铲位2铲位3铲位4铲位5铲位6铲位7铲位8铲位9铲位10矿石漏1(29)倒场1(39)1(37)岩场1(37)岩石漏1(44)1(35)倒场1(47)结论:结论:铲位铲位1、2、3、4、8、9、10处各放置一台电铲。处各放置一台电铲。一共使用了一共使用了13辆卡车;总运量为辆卡车;总运量为85628

49、.62吨公里;吨公里;岩石产量为岩石产量为32186吨;矿石产量为吨;矿石产量为38192吨。吨。此外:此外:6辆联合派车(方案略)辆联合派车(方案略)练习题1,1998年全国大学生建模竞赛A题。2,多周期产品安排 McGlassan制造公司 生产两种类型的齿轮:AV7和AV9,下面是三个月的需求表.(单位:件)三月四月五月总计AV7AV9总计8009001,7001,0001,0002,0001,2001,4002,6003,0003,300多周期产品安排成本(元)每件每月的库存费(元)AV7AV930350.30.35要求:1,满足每月的需求要求.2,每月生产的产品总数不超过2200件.3

50、,每月生产的产品不少于1900件.问:如何组织生产计划,使生产成本和库存花费达到最少?3,(运输问题)从Toronto和Detroit两市分别有两批货物途径Chicago和Buffalo最终到达New York、Phila.和St.louis市.之间的路线表述如下图:ToFromChicagoBuffaloSupplyTorontoDetroit$4$5$7$7600500ToFromNew YorkPhila.St.louisChicagoBuffaloDemand$3$1450$2$3350$2$4300 其中Toronto和 Detroit 分别有600和500的货物需要运出,New Y

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com