-
Lingo solution
report
中各项的含义
(一)优化模型的组成
优化模型包括
以下
3
部分:
l Objective Function
:目标函数是一个
能准确表达所要优化问题的公式。
l
Variables
:
Decision variables
(决策变量)
,在模型中所使用的变量。
l
Constraints
:约束条件。
(二)
Lingo
软件使用的注意事项
(
1
)
L
INGO
中不区分大小写字母,变量(和行名)可以使用不超过
32
个字
符表示,且必须以字母开头。
(
2
)在命令方式下(
Command
Window
中)
< br>,必须先输入
MODEL
:表示开始输
< br>入模型。
LINGO
中模型以“MODEL:”开始,以
“END”结束。对简单的模型,这
两个语句也可以省略。
<
/p>
(
3
)
LING
O
中的语句的顺序是不重要的,因为
LINGO
总是根据“MAX=”或
“MIN=”语句寻找目标函数,而其它语句都是约束
条件(当然注释语句和
TITLE
除外)
。
(
4
)
LINGO
模型是由一系列语句组成,每个语句以分号“;”结
束。
(
5
)
LINGO
中以感叹号“!”开始的是说明语句(说明语句也需
要以分号
“;”结束)
。
(
6
)
LINGO
中解优化模型时假定所有变量非负(除非用限定变量函数
@free<
/p>
或
@sub
或
s
lb
另行说明)
。
(三)
Solution
Report
各项的含义
例
1
将以下模型粘贴到
Lingo
中求解
,
其中第
一行
MODEL
和最后一行
END
p>
在
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.0000
Infeasibilities:
0.000000
!指矛盾约束的数目;
Total solver iterations: 2
Model Class: LP
Total
variables: 2
Nonlinear variables: 0
Integer variables: 0
Total
constraints: 4
Nonlinear constraints: 0
Total nonzeros: 7
Nonlinear
nonzeros: 0
Variable Value Reduced Cost
X1 250.0000 0.000000
X2
100.0000 0.000000
Row Slack or Surplus
Dual Price
1 800.0000 -1.000000
2 0.000000 -4.000000 !
模型第一行表示目标函数,第二行对应第一个约束
;
3 150.0000 0.000000
4
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
给出最优解中各变量
(V
ariable)
的值
: X1=250.0000,
X2=100.0000.
Reduced Cost
实
际上是与最优单纯形表中的检验数相差一个负号的一个
数。注意
下面的
A'y = z
Reduced Cost
指为了使某个变量在解中的数值增加
一个单位,目标函数值
必须付出的代价。如果一个变量的
Red
uced Cost
值为
8
,为了使该
变量增加一
个单位,在最大化(最小化)问题中,目标函数值将减少(增大)
8
个单位。
在一个最大值的模型中,
Reduced Cost
对应的非基变量增加一个单位,目标值
会有减少
Reduced
Cost
;在一个最小值模型中,
Reduced Cost<
/p>
对应的非基变量
增加一个单位,目标值会增大
Reduced Cost
。
Reduced Cost
它也可以认为是:在最优化问题中,
要使某个变量进入基,
该变量在目标函数中的系数
应该改变的数
量。
(
在
Min
问题中要选单纯形表最后
一行中最大的正的判别数对应的列为主列
[
此列对应的变量是进基变量
]
,
其目标
是使所有的判别数都非正
;
p>
在
Max
问题中要选单纯形表最后一行最小
的负数对应
的变量作为进基变量,其目标是使所有的判别数都非负
)
例如:在一个最大化(最小化)问题中,如果一个变量的
Reduced Cost
值
为
8
p>
,则为了使该变量进基,目标函数中该变量的系数就必须增加(减少)
8
个
单位。
非基向量要进入基必须将
它对应的检验数消为
0
,直观的将该非基向量的
检验数取个负号加到最后一行即可
,
对应在方程上实际
上是此检验数乘以该非基
变量后的结果加到最后一行,所以前边有了系数这一说
。
Reduced Cost
给出最优的单纯形表中
目标函数行
中变量对应的系数
.
其中基变
量的
Reduced Cos
t
值一定为
0;
对于非基变量
(
非基变量本身的取值一定为
0)
和
max
问题
,
相应的
Reduced Cost
值表示当该非基
变量增加一个单位
(
其它非基变
量保持
不变
)
时目标函数的减少的量。
这估计
也是
Reduced
Cost
的
reduced
所
在,很直观。
在这个例子中最优解中两个变量都是基向量
,
因此对应的
Reduced
Cost
的值都为
0.
Slack or Surplus
表示接近等于的程度。在约
束条件是
<=
中,通常叫做松
弛变量,
在约束条件是
>=
中,通常叫过剩变量。如果约束条件是
=
,则
Slack
or
Surplus
为
0
,该约束是个紧约束
(
或
有效约束
)
。如果一个约束条件错误,作为
一个不可行解,
Slack or
Surplus
为负数。
Slack or Surplus<
/p>
表示的是:约束
离相等还差多少。如果一个约束是矛盾的
(模型无可行解)
,则
Slack
or
surplus
的值是负数。知
道这些,可以帮助我们发现在一个不可实行的模型
(指没有存在
同时满足所有约束条件的变量集合)
中的错误的约束条件。第
2
和第
4
行松弛变
量均为
0,
说明对于最优解来讲
,<
/p>
两个约束
(
第
2
和
4
行
)
p>
均取等号
,
即都是紧约束
< br>.
Dual
Price
(Shadow
price)
给出对
偶价格的值。表示每增加一个单位
(
约束右边
< br>的常数
)
,
目标值改变的数量(
在最大化问题中目标函数值是增加,在最小化问
题中目标函数值是减少)
。
比如
,
在上一个
Min
模型中第四行的
1
,
表示
2*x1
+
x2
<=
600
增加一个单位到
2*x1 + x2 <= 601
p>
,可以使目标值增加
-1(
因为第一行是<
/p>
目标函数的
Dual Price
是
p>
-1)
,即
Objective
value = 799;
增加
-1
个单位到
599
会使目标值增加到
80
1
。
对偶价格补充一例:
max=100*x+150*y;
!
约束条件
;
x<=80;
y<=100;
x*2+y<=180;
Global optimal solution found.
Objective value: 19000.00
Infeasibilities: 0.000000
Total solver iterations: 1
Model Class: LP
Total variables: 2
Nonlinear
variables: 0
Integer variables:
0
Total constraints: 4
Nonlinear constraints: 0
Total nonzeros: 6
Nonlinear
nonzeros: 0
Variable Value
Reduced Cost
X 40.00000 0.000000
Y 100.0000 0.000000
Row Slack or Surplus Dual Price
1 19000.00 1.000000
2
40.00000 0.000000
3 0.000000 100.0000
4 0.000000 50.00000
< br>对偶变量值也叫影子价格,这是由于它们表示可以用多大的价格去购买(租用)
单
位资源。上面的模型显示,某人最多愿意花
100
元购买(租用
)一个
Y
。
例
2 <
/p>
某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆
< br>工。生产数据如下表所示:
现有资源
每个书桌
每个餐桌
每个椅子
总数
木料
漆工
木工
成
品
单价
若要求桌子的生产量不超过
5
件
,
如何安排三种产品的生产可使利润最大?
用
DESKS
、
TABLES
和
CHAIRS
p>
分别表示三种产品的生产量,建立
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.0000
Infeasibilities:
0.000000
Total solver iterations: 2
8
单位
4
单位
2
单位
60
单位
6
单位
2
单位
1.5
单位
30
单位
1
单位
1.5
单位
0.5
单位
20
单位
48
单位
20
单位
8
单位
Model Class: LP
Total
variables: 3
Nonlinear variables: 0
Integer variables: 0
Total
constraints: 5
Nonlinear constraints: 0
Total nonzeros: 13
Nonlinear
nonzeros: 0
Variable Value Reduced Cost
DESKS 2.000000 0.000000
TABLES 0.000000 5.000000
CHAIRS 8.000000 0.000000
Row
Slack or Surplus Dual Price
1 280.0000
1.000000
2 24.00000 0.000000
3 0.000000 10.00000
4
0.000000 10.00000
5 5.000000 0.000000
“Objective
value:280.0000”表示
最优目标值为
280
。
“Value”给出最优解
中各变量的值:造
2
p>
个书桌
(
desks
)
,
0
个餐桌
(
tables
)
,
8
个椅子
(
chairs
)
。
所以
de
sks
、
chairs
是基变量(非<
/p>
0
)
,
tabl
es
是非基变量(
0
)
。
观察单纯性表
的最后一行
(f
行
)
,当
所有的检验数都非负,单纯形表左侧的行基向量对应的主
列确实是非零的。
还要注意最优解的基变量中无松弛变量(松弛变量的引入将
不等式变为等式约束)
“Slack or
Surplus”给出松驰变量的值:
第
1
行松驰变量
=280
(模型第
一行表示目标函数,所以第二行对应第一个
约束)
第
2
行松驰变量
=24
第
3
行松驰变量
=0
第
4
行松驰变量
=0
第
5
行松驰变量
=5
“Reduced
Cost
”列出最优单纯形表中判别数所在行的变量的系数,表示当
变量有微小变动时
,
目标函数的变化率。其中基变量的
reduced
cost
值应为
0
,
p>
对于非基变量
Xj,
相应的
reduced
cost
值表示当某个变量
Xj
增加一个单位时
目标函数减少的量
(
max
型问题
)
。本例中:变量
tables
对应的
reduced cos
t
值为
5
,表示当非基变量
tables
的值从
0
变
为
1
时(此时假定其他非基变量保
持
不变
,
但为了满足约束条件,基变量显然会发生变化)
,最优的目标函数值
=
280 - 5 =
275
。
“DUAL
PRICE”(对偶价格)表示当对应约束有微小变动时
,
目标函数的变
-
-
-
-
-
-
-
-
-
上一篇:Lingo solution 各项的含义
下一篇:北京市餐饮业菜单英文译法