지난번에 문의했던 문제는 데이터 파일의 문제로 인한 것으로 생각이 됩니다. 다만, CPLEX에서 해를 도출하는 과정에서 변수의 주어진 bound 내의 해가 존재하지 않으면 infeasible로 판정해야 하는 것 같은데, 다른 현상이 발생하는 것에 대해 문의드립니다.
아래에 그 결과를 나타냈습니다.
(참고로, 이것은 interactive optimizer 에서 푼 결과입니다.)
==========================================================
CPLEX> read test.lp
Problem 'test.lp' read.
Read time = 0.14 sec.
CPLEX> optimize
Tried aggregator 1 time.
LP Presolve eliminated 7 rows and 7 columns.
Reduced LP has 19 rows, 69 columns, and 261 nonzeros.
Presolve time = 0.00 sec.
Iteration log . . .
Iteration: 1 Dual objective = 741.818600
Dual simplex - Infeasible: Objective = 1.6251416000e+003
Solution time = 0.00 sec. Iterations = 12 (0)
Infeasible variable = slack c26
CPLEX> display solution variables -
Variable Name Solution Value
x0 1.000000
x1 1.000000
x4 1.000000
x32 1.000000
x39 -1.000000**
x41 1.000000
x43 1.000000
x63 1.000000
x65 1.000000
x66 1.000000
x72 1.000000
x75 1.000000
All other variables in the range 1-76 are 0.
CPLEX> display solution dual -
Constraint Name Dual Price
c3 183.693000
c4 179.833000
c6 178.317000
c7 163.163000
c8 178.317000
c9 183.693000
c11 183.693000
c14 12.422600
c16 178.317000
c19 183.693000
All other dual prices in the range 1-26 are 0.
CPLEX> display solution slacks -
Constraint Name Slack Value
slack c1 -3.000000
slack c2 1.000000**
slack c5 -2.000000
slack c10 -2.000000
slack c13 -2.000000
slack c17 1.000000**
slack c18 1.000000**
slack c21 1.000000**
slack c24 1.000000**
slack c25 1.000000**
slack c26 -3.000000**
All other slacks in the range 1-26 are 0.
==========================================================
결과 내용을 보면 분명 infeasible 입니다.
하지만 변수 중 bound를 벗어난 해를 제시합니다. 즉 음수의 해가 나오는데, infeasible 임에도 불구하고 이런 해를 제시해 주는 이유가 무엇일까요 ???