[Cbc] Correct solving of problem with SOS only
Kish Shen
kisshen at cisco.com
Wed Oct 24 13:18:09 EDT 2012
Hi,
Some additional information to my last post:
I noticed an error in the objective I gave for the problem:
On 22/10/2012 20:51, Kish Shen wrote:
> Objective: -2*X1*X2*X3
This is wrong -- it should be minimise -2*X1-X2-X3, i.e. a normal linear
objective.
So when the SOS1 for X1,X2,X3 is ignored, the variables are all set to 1
(giving an objective value of -4). When the SOS1 is taken into account,
only X1 is set to 1.
The incorrect solution with SOS1 ignored is generated unless I post some
'normal' constraints to the problem. This happens when the addObjects()
call happens before or after CbcMain0().
>It seems that the 'No Integer variables' warning message comes from
>the call to addObjects(), and not CbcMain0() as I thought.
Thinking more about this -- isn't this warning incorrect? As the object
being added is an SOS1, which I understand is a type of branching in the
MIP search like integer variables are, so adding them should imply a MIP
search, even if there are no integer variables (and normal constraints
in this case), i.e. there is something to do (rather than Nothing to do,
as the message states).
Thanks and cheers,
Kish
More information about the Cbc
mailing list