为什么基本最优变量具有正的降低成本?

时间:2018-04-03 17:42:47

标签: linear-programming cplex

为什么基本最优变量在最小化问题中降低了成本?

lp模型如下:

\ENCODING=ISO-8859-1
\Problem name: IloCplex

Minimize
obj: 325255008 y(1) + 207016000 y(2) + 511.284124007454 x(1,2,1,2,1,1,1,1,1,1)
  + 511.284124007454 x(1,2,1,2,1,2,1,1,2,2)
  + 511.284124007454 x(1,2,1,2,2,2,2,2,2,2)
  + 511.284124007454 x(1,2,2,3,1,1,2,2,2,2)
  + 511.284124007454 x(1,2,2,3,1,2,2,2,3,3)
  + 511.284124007454 x(1,2,2,3,2,2,3,3,3,3)
  + 511.284124007454 x(1,2,3,1,1,1,3,3,3,3)
  + 511.284124007454 x(1,2,3,1,1,2,3,3,1,1)
  + 511.284124007454 x(1,2,3,1,2,2,1,1,1,1)
  + 511.284124007454 x(2,1,1,2,1,1,2,2,2,2)
  + 511.284124007454 x(2,1,1,2,2,1,1,1,2,2)
  + 511.284124007454 x(2,1,1,2,2,2,1,1,1,1)
  + 511.284124007454 x(2,1,2,3,1,1,3,3,3,3)
  + 511.284124007454 x(2,1,2,3,2,1,2,2,3,3)
  + 511.284124007454 x(2,1,2,3,2,2,2,2,2,2)
  + 511.284124007454 x(2,1,3,1,1,1,1,1,1,1)
  + 511.284124007454 x(2,1,3,1,2,1,3,3,1,1)
  + 511.284124007454 x(2,1,3,1,2,2,3,3,3,3) + 4201096 lambda(1)
  + 8400658 lambda(2) + 21000220 lambda(3)

Subject To

r_beta_1_2:             x(1,2,1,2,1,1,1,1,1,1) + x(1,2,1,2,1,2,1,1,2,2)
                     + x(1,2,1,2,2,2,2,2,2,2) + x(1,2,2,3,1,1,2,2,2,2)
                     + x(1,2,2,3,1,2,2,2,3,3) + x(1,2,2,3,2,2,3,3,3,3)
                     + x(1,2,3,1,1,1,3,3,3,3) + x(1,2,3,1,1,2,3,3,1,1)
                     + x(1,2,3,1,2,2,1,1,1,1)  = 1

r_beta_2_1:             x(2,1,1,2,1,1,2,2,2,2) + x(2,1,1,2,2,1,1,1,2,2)
                     + x(2,1,1,2,2,2,1,1,1,1) + x(2,1,2,3,1,1,3,3,3,3)
                     + x(2,1,2,3,2,1,2,2,3,3) + x(2,1,2,3,2,2,2,2,2,2)
                     + x(2,1,3,1,1,1,1,1,1,1) + x(2,1,3,1,2,1,3,3,1,1)
                     + x(2,1,3,1,2,2,3,3,3,3)  = 1

r_delta_1_2_1:          - y(1) + x(1,2,1,2,1,1,1,1,1,1)
                     + x(1,2,1,2,1,2,1,1,2,2) + x(1,2,2,3,1,1,2,2,2,2)
                     + x(1,2,2,3,1,2,2,2,3,3) + x(1,2,3,1,1,1,3,3,3,3)
                     + x(1,2,3,1,1,2,3,3,1,1) <= 0

r_delta_1_2_2:          - y(2) + x(1,2,1,2,1,2,1,1,2,2)
                     + x(1,2,1,2,2,2,2,2,2,2) + x(1,2,2,3,1,2,2,2,3,3)
                     + x(1,2,2,3,2,2,3,3,3,3) + x(1,2,3,1,1,2,3,3,1,1)
                     + x(1,2,3,1,2,2,1,1,1,1) <= 0

r_delta_2_1_1:          - y(1) + x(2,1,1,2,1,1,2,2,2,2)
                     + x(2,1,1,2,2,1,1,1,2,2) + x(2,1,2,3,1,1,3,3,3,3)
                     + x(2,1,2,3,2,1,2,2,3,3) + x(2,1,3,1,1,1,1,1,1,1)
                     + x(2,1,3,1,2,1,3,3,1,1) <= 0

r_delta_2_1_2:          - y(2) + x(2,1,1,2,2,1,1,1,2,2)
                     + x(2,1,1,2,2,2,1,1,1,1) + x(2,1,2,3,2,1,2,2,3,3)
                     + x(2,1,2,3,2,2,2,2,2,2) + x(2,1,3,1,2,1,3,3,1,1)
                     + x(2,1,3,1,2,2,3,3,3,3) <= 0

r_piI_1_2:              y(1) + x(1,2,1,2,2,2,2,2,2,2) + x(1,2,2,3,2,2,3,3,3,3)
                     + x(1,2,3,1,2,2,1,1,1,1) <= 1

r_piI_2_1:              y(2) + x(2,1,1,2,1,1,2,2,2,2) + x(2,1,2,3,1,1,3,3,3,3)
                     + x(2,1,3,1,1,1,1,1,1,1) <= 1

r_piJ_1_2:              y(2) + x(1,2,1,2,1,1,1,1,1,1) + x(1,2,2,3,1,1,2,2,2,2)
                     + x(1,2,3,1,1,1,3,3,3,3) <= 1

r_piJ_2_1:              y(1) + x(2,1,1,2,2,2,1,1,1,1) + x(2,1,2,3,2,2,2,2,2,2)
                     + x(2,1,3,1,2,2,3,3,3,3) <= 1

r_gamma_1_2_1_2:        17.7232875823975 x(1,2,1,2,1,1,1,1,1,1)
                     + 17.7232875823975 x(1,2,1,2,1,2,1,1,2,2)
                     + 17.7232875823975 x(1,2,1,2,2,2,2,2,2,2)
                     - 200 lambda(1) - 300 lambda(2) - 500 lambda(3) <= 0

r_gamma_1_2_2_3:        17.7232875823975 x(1,2,2,3,1,1,2,2,2,2)
                     + 17.7232875823975 x(1,2,2,3,1,2,2,2,3,3)
                     + 17.7232875823975 x(1,2,2,3,2,2,3,3,3,3) <= 0

r_gamma_1_2_3_1:        17.7232875823975 x(1,2,3,1,1,1,3,3,3,3)
                     + 17.7232875823975 x(1,2,3,1,1,2,3,3,1,1)
                     + 17.7232875823975 x(1,2,3,1,2,2,1,1,1,1) <= 0

r_gamma_2_1_1_2:        17.7232875823975 x(2,1,1,2,1,1,2,2,2,2)
                     + 17.7232875823975 x(2,1,1,2,2,1,1,1,2,2)
                     + 17.7232875823975 x(2,1,1,2,2,2,1,1,1,1) <= 0

r_gamma_2_1_2_3:        17.7232875823975 x(2,1,2,3,1,1,3,3,3,3)
                     + 17.7232875823975 x(2,1,2,3,2,1,2,2,3,3)
                     + 17.7232875823975 x(2,1,2,3,2,2,2,2,2,2)
                     - 200 lambda(1) - 300 lambda(2) - 500 lambda(3) <= 0

r_gamma_2_1_3_1:        17.7232875823975 x(2,1,3,1,1,1,1,1,1,1)
                     + 17.7232875823975 x(2,1,3,1,2,1,3,3,1,1)
                     + 17.7232875823975 x(2,1,3,1,2,2,3,3,3,3) <= 0

c17:                    lambda(1) - Rgc17  = 0
c18:                    lambda(2) - Rgc18  = 0
c19:                    lambda(3) - Rgc19  = 0

r_casamento_y_lambda_1: y(1) - lambda(1) - lambda(2) - lambda(3) <= 0
r_casamento_y_lambda_2: y(2) - lambda(1) - lambda(2) - lambda(3) <= 0

Bounds

0 <= y(1) <= 1
0 <= y(2) <= 1
0 <= x(1,2,1,2,1,1,1,1,1,1) <= 1
0 <= x(1,2,1,2,1,2,1,1,2,2) <= 1
0 <= x(1,2,1,2,2,2,2,2,2,2) <= 1
0 <= x(1,2,2,3,1,1,2,2,2,2) <= 1
0 <= x(1,2,2,3,1,2,2,2,3,3) <= 1
0 <= x(1,2,2,3,2,2,3,3,3,3) <= 1
0 <= x(1,2,3,1,1,1,3,3,3,3) <= 1
0 <= x(1,2,3,1,1,2,3,3,1,1) <= 1
0 <= x(1,2,3,1,2,2,1,1,1,1) <= 1
0 <= x(2,1,1,2,1,1,2,2,2,2) <= 1
0 <= x(2,1,1,2,2,1,1,1,2,2) <= 1
0 <= x(2,1,1,2,2,2,1,1,1,1) <= 1
0 <= x(2,1,2,3,1,1,3,3,3,3) <= 1
0 <= x(2,1,2,3,2,1,2,2,3,3) <= 1
0 <= x(2,1,2,3,2,2,2,2,2,2) <= 1
0 <= x(2,1,3,1,1,1,1,1,1,1) <= 1
0 <= x(2,1,3,1,2,1,3,3,1,1) <= 1
0 <= x(2,1,3,1,2,2,3,3,3,3) <= 1
0 <= lambda(1) <= 1
0 <= lambda(2) <= 1
0 <= lambda(3) <= 1
0 <= Rgc17 <= 3
0 <= Rgc18 <= 3
0 <= Rgc19 <= 3

End

我担心lambdas vairables。

当我使用cplex直接通过终端解决这个模型时,我可以得到这个信息:

显示解决方案的哪个部分:减少 显示变量的成本:变量:lambda(1) 变量名称降低成本 lambda(1)-4199562.000000

CPLEX&GT;显示解决方案减少 显示变量的成本:变量:lambda(2) 降低成本'lambda(2)'为0。

CPLEX&GT;显示解决方案减少 显示变量的成本:变量:lambda(3) 变量名称降低成本 lambda(3)12599562.000000

CPLEX&GT;显示解决方案变量 显示哪个变量的值:lambda(1) 变量名称解决方案值 lambda(1)1.000000

CPLEX&GT;显示解决方案变量 显示哪个变量的值:lambda(2) 变量'lambda(2)'为0。

CPLEX&GT;显示解决方案变量 显示变量的值:lambda(3) 变量'lambda(3)'为0。

可以吗?

1 个答案:

答案 0 :(得分:1)

如果变量位于其边界之一(即下限或上限),则该变量可以是非基本的。 (细节:自由变量是特殊的:它们在边界之间可以是非基本的 - 有时称为超基础)。因此,当我们查看这些值时,所有变量λ都可能是非基本的。降低的成本表明λ1和λ3必须是非基本的,λ2可以是基本的或非基本的(如果解是退化的)。使用display solution basis查找所有基本变量。

降低成本的标志取决于变量是非基本上限还是非基本上限。它基本上表明如果相应的绑定发生变化,目标如何变化。 λ3的正rc看起来很好。 (这似乎是非基本的而不是基本的。)