资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Lingo solution report中各项的含义 (一)优化模型的组成优化模型包括以下3部分:l Objective Function:目标函数是一个能准确表达所要优化问题的公式。l Variables:Decision variables(决策变量),在模型中所使用的变量。l Constraints:约束条件。(二)Lingo软件使用的注意事项(1)LINGO中不区分大小写字母,变量(和行名)可以使用不超过32个字符表示,且必须以字母开头。(2)在命令方式下(Command Window中),必须先输入MODEL:表示开始输入模型。LINGO中模型以“MODEL:”开始,以“END”结束。对简单的模型,这两个语句也可以省略。(3)LINGO中的语句的顺序是不重要的,因为LINGO总是根据“MAX=”或“MIN=”语句寻找目标函数,而其它语句都是约束条件(当然注释语句和TITLE除外)。(4)LINGO模型是由一系列语句组成,每个语句以分号“;”结束。(5)LINGO中以感叹号“!”开始的是说明语句(说明语句也需要以分号“;”结束)。(6)LINGO中解优化模型时假定所有变量非负(除非用限定变量函数free或sub或slb另行说明)。(三)Solution Report各项的含义例1 将以下模型粘贴到Lingo中求解,其中第一行MODEL和最后一行END在Lingo Model 窗口下可以不要。MODEL:min = 2*x1 + 3*x2;x1 + x2 = 350;x1 = 100;2*x1 + x2 = 600;END得到如下的结果报告Global optimal solution found.Objective value: 800.0000Infeasibilities: 0.000000 !指矛盾约束的数目;Total solver iterations: 2Model Class: LPTotal variables: 2Nonlinear variables: 0Integer variables: 0Total constraints: 4Nonlinear constraints: 0Total nonzeros: 7Nonlinear nonzeros: 0Variable Value Reduced CostX1 250.0000 0.000000X2 100.0000 0.000000Row Slack or Surplus Dual Price1 800.0000 -1.000000 2 0.000000 -4.000000 ! 模型第一行表示目标函数,第二行对应第一个约束; 3 150.0000 0.0000004 0.000000 1.000000下面对Solution Report(LINGO的结果报告窗口)的各个部分进行说明:Global optimal solution found 表示全局最优解找到.Objective value: 800.0000 表示最优目标值为800.0000.Total solver iterations: 2 表示用单纯行法进行了两次迭代.Variable 表示变量, 此问题中有两个变量X1, X2.Value 给出最优解中各变量(Variable)的值: X1=250.0000, X2=100.0000. Reduced Cost 实际上是与最优单纯形表中的检验数相差一个负号的一个数。注意下面的Ay = zReduced Cost指为了使某个变量在解中的数值增加一个单位,目标函数值必须付出的代价。如果一个变量的Reduced Cost值为8,为了使该变量增加一个单位,在最大化(最小化)问题中,目标函数值将减少(增大)8个单位。在一个最大值的模型中,Reduced Cost 对应的非基变量增加一个单位,目标值会有减少Reduced Cost;在一个最小值模型中,Reduced Cost对应的非基变量增加一个单位,目标值会增大Reduced Cost。Reduced Cost它也可以认为是:在最优化问题中,要使某个变量进入基,该变量在目标函数中的系数应该改变的数量。(在Min问题中要选单纯形表最后一行中最大的正的判别数对应的列为主列此列对应的变量是进基变量,其目标是使所有的判别数都非正;在Max问题中要选单纯形表最后一行最小的负数对应的变量作为进基变量,其目标是使所有的判别数都非负)例如:在一个最大化(最小化)问题中,如果一个变量的Reduced Cost值为8,则为了使该变量进基,目标函数中该变量的系数就必须增加(减少)8个单位。非基向量要进入基必须将它对应的检验数消为0,直观的将该非基向量的检验数取个负号加到最后一行即可,对应在方程上实际上是此检验数乘以该非基变量后的结果加到最后一行,所以前边有了系数这一说。Reduced Cost 给出最优的单纯形表中目标函数行中变量对应的系数. 其中基变量的Reduced Cost值一定为0;对于非基变量(非基变量本身的取值一定为0)和max问题,相应的Reduced Cost值表示当该非基变量增加一个单位(其它非基变量保持不变)时目标函数的减少的量。这估计也是Reduced Cost的reduced 所在,很直观。在这个例子中最优解中两个变量都是基向量, 因此对应的Reduced Cost的值都为0. Slack or Surplus表示接近等于的程度。在约束条件是=中,通常叫过剩变量。如果约束条件是=,则Slack or Surplus为0,该约束是个紧约束(或有效约束)。如果一个约束条件错误,作为一个不可行解,Slack or Surplus为负数。Slack or Surplus表示的是:约束离相等还差多少。如果一个约束是矛盾的(模型无可行解),则Slack or surplus的值是负数。知道这些,可以帮助我们发现在一个不可实行的模型(指没有存在同时满足所有约束条件的变量集合)中的错误的约束条件。第2和第4行松弛变量均为0,说明对于最优解来讲,两个约束(第2和4行)均取等号,即都是紧约束.Dual Price (Shadow price)给出对偶价格的值。表示每增加一个单位(约束右边的常数),目标值改变的数量(在最大化问题中目标函数值是增加,在最小化问题中目标函数值是减少)。比如,在上一个Min模型中第四行的1,表示2*x1 + x2 = 600增加一个单位到2*x1 + x2 = 601,可以使目标值增加-1(因为第一行是目标函数的Dual Price是-1),即Objective value = 799; 增加-1个单位到599会使目标值增加到801。对偶价格补充一例:max=100*x+150*y;!约束条件;x=80;y=100;x*2+y=180;Global optimal solution found.Objective value: 19000.00Infeasibilities: 0.000000Total solver iterations: 1Model Class: LPTotal variables: 2Nonlinear variables: 0Integer variables: 0Total constraints: 4Nonlinear constraints: 0Total nonzeros: 6Nonlinear nonzeros: 0Variable Value Reduced CostX 40.00000 0.000000Y 100.0000 0.000000Row Slack or Surplus Dual Price1 19000.00 1.0000002 40.00000 0.0000003 0.000000 100.00004 0.000000 50.00000对偶变量值也叫影子价格,这是由于它们表示可以用多大的价格去购买(租用)单位资源。上面的模型显示,某人最多愿意花100元购买(租用)一个Y。例2 某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。生产数据如下表所示:每个书桌每个餐桌每个椅子现有资源总数木料8单位6单位1单位48单位漆工4单位2单位1.5单位20单位木工2单位1.5单位0.5单位8单位成品单价60单位30单位20单位若要求桌子的生产量不超过5件,如何安排三种产品的生产可使利润最大?用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。max=60*desks+30*tables+20*chairs;8*desks+6*tables+chairs=48;4*desks+2*tables+1.5*chairs=20;2*desks+1.5*tables+.5*chairs=8;tables=5;求解这个模型,查看报告窗口(Reports Window):Global optimal solution found.Objective value: 280.0000Infeasibilities: 0.000000Total solver iterations: 2Model Class: LPTotal variables: 3Nonlinear variables: 0Integer variables: 0Total constraints: 5Nonlinear constraints: 0Total nonzeros: 13Nonlinear nonzeros: 0Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000Row Slack or Surplus Dual Price1 280.0000 1.0000002 24.00000 0.0000003 0.000000 10.000004 0.000000 10.000005 5.000000 0.000000“Objective value:280.0000”表示最优目标值为280。 “Value”给出最优解中各变量的值:造2个书桌(desks), 0个餐桌(tables), 8个椅子(chairs)。所以desks、chairs是基变量(非0),tables是非基变量(0)。 观察单纯性表的最后一行(f行),当所有的检验数都非负,单纯形表左侧的行基向量对应的主列确实是非零的。 还要注意最优解的基变量中无松弛变量(松弛变量的引入将不等式变为等式约束)“Slack or Surplus”给出松驰变量的值:第1行松驰变量 =280(模型第一行表示目标函数,所以第二行对应第一个约束)第2行松驰变量 =24第3行松驰变量 =0第4行松驰变量 =0第5行松驰变量 =5“Reduced Cost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应为0, 对于非基变量 Xj, 相应的 reduced cost值表示当某个变量Xj 增加一个单位时目
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号