With respect to this post it is interesting to see how Cplex presolves these split QCP constraints produced by the GAMS link. I suspected from the final model statistics (rows, columns etc.) that Cplex could not presolve this away. The Cplex model before presolving looks like:
\Problem name: gamsmodel
Minimize
obj: z + 0 x
Subject To
_e: z - y - linear_part_of_e = 0
QCP_row_for_e: linear_part_of_e + [ - x ^2 ] >= 0
Bounds
z Free
x Free
y >= 1
linear_part_of_e Free
End
After presolving it looks like:
\Problem name: x2.lp
Minimize
obj: 0 x + 2 QCV0
Subject To
QCR1: QCV0 - QCV1 = 1
QCP_row_for_e: [ x ^2 - QCV0 ^2 + QCV1 ^2 ] <= 0
Bounds
x Free
QCV1 Free
End
This raises some questions. It is not completely obvious to me why this is a good transformation. And what is the reason to print terms like 0 × x in the objective?
No comments:
Post a Comment