[Scip] linear constraint turns into nonlinear

Shahin Gelareh shahin.gelareh at gmail.com
Wed Apr 16 23:21:37 CEST 2014


Dear SCIPers

in CG:
in scip_init
I do the following:
SCIP_CALL( SCIPgetTransformedCons(scip, m_con_MasterOnly[i],
&m_con_MasterOnly[i]) );

where these constraints are declared as
           true,                   /* initial */
            false,                  /* separate */
            true,                   /* enforce */
            true,                   /* check */
            true,                   /* propagate */
            false,                  /* local */
            false,                  /* modifiable */
            false,                  /* dynamic */
            false,                  /* removable */
            false) );               /* stickingatnode */
in the master problem (non-modifiable because they do not contain any
column of pricing problem).  The transformation is done successfully.
But when it arrives first time in the pricing problem and I ask
dual_MasterOnly.push_back(SCIPgetDualsolLinear(scip, m_con_MasterOnly[i]));
then I get an error message that the constraint is not linear!
Moreover, when I look at the  constraint it s name has changed to
"andgate_0" which does not correspond with the original constraint (and the
rest of elements of array have name field equal to "NULL").

The strange thing is that the first element of this array is correct but
the second up to end have changed.

instead I have a set of constraints which are linking constraints and I
have declared them as

                                            true,                   /*
initial */
                                            false,                  /*
separate */
                                            true,                   /*
enforce */
                                            true,                   /*
check */
                                            true,                   /*
propagate */
                                            false,                  /*
local */
                                            true,                  /*
modifiable */
                                            false,                  /*
dynamic */
                                            false,                  /*
removable */
                                            false) );               /*
stickingatnode */

to be modified upon need (adding  new col).
Everything is fine with this set of constraints. and I can get the dual
values.

Now the question is that I have a set of constraint which need to be
extended by adding new columns (linking constraints, master-only and priced
vars) , a set of masterOnly constraints (constraints made of master-only
variables) and a set of convexity constraints.


What should be the way of declaring each set of such constraints? Is there
something wrong?

Cheers
Shahin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140416/552d08d0/attachment.html>


More information about the Scip mailing list