[Scip] Fractional Solution

Bahareh Eghtesadi b.eghtesadi at gmail.com
Tue Jul 28 19:44:02 CEST 2015


Dear Benny,

Thanks for the reply.

I have the reformulated  variables and another set of binary variables
(psi). I have defined the psi variables as binary from the beginning, and I
have a branching rule that branches when there is any fractional psi.
However, the reformulated variables are defined continuous, and I check the
integrality of the original variables in the CONSENFOLP method. Is this a
wrong place to check that? Should I do it in the CONSCHECK method?

What I learned is the the cutoff bound changes(to 5.29, the current optimal
objective value that it returns) in the root node while the objective value
in the root node is 3.5. Note that the true optimal objective value is
6.11. I thought it might obtain the cutoffbound from some heuristics. So I
disabled the heuristics, and it returns 6.11.
Is there a reason for happening this? Because this means the heuristic does
not notice the conditions in the constraint handler? I am now suspicious
that I may need to check the integrality in the CONSCHECK method.

Best,
Bahar


On Tuesday, July 28, 2015, Benjamin Müller <benjamin.mueller at zib.de> wrote:

>  Dear Bahereh,
>
> so your problem contains only the reformulated (binary) psi variables?
> Your problem is that you do not want to accept all integer psi solutions
> because they might correspond to a fractional solution of the original
> problem? If that is the case, do you decline such a solution in CONSCHECK?
> How do you branch in the CONSENFOLP after you registered that the current
> solution belongs to a fractional one in the original space? Do you set the
> result pointer to SCIP_BRANCHED?
>
>
> Best,
>
> Benny
>
>
> On 07/27/2015 03:36 AM, Bahareh Eghtesadi wrote:
>
>  Dear all,
>
>  I am implementing a b&p algorithm. In my problem, I have a set of binary
> variables (beside  the decomposition variables) in my master problem, call
> them psi,  for which I have a branching rule. In my branching rule, the
> options for constructor is:
> ObjBranchrule( scip, name, "branchs on Original vars", 50000 , -1 , 1.0)
>
>  I also want to check the integrality of the original variables(call x).
> For that, I have a conshdlr with following options:
>
> ObjConshdlr(scip, name, "....",-10000 , 50000 , 10000, -1,  -1 , 1 , 0 ,
> FALSE , FALSE , FALSE , FALSE , SCIP_PROPTIMING_BEFORELP)
>
>  In this conshdlr, in the CONSENFOLP method, I find the values of the
> original variables and if they are not integer, I call SCIPcreateChild.
>
>  However, in the optimal solution, all the psi variables are binary, but
> the original variables are continuous. The objective function value is also
> less than the optimal obj. value(I already know it).
>  I have tried to track down the b&b tree, and it seems whenever all the
> binary variables(psi) are binary, it takes it as the optimal solution
> eventhough there are some fractional x.
>  I also changed the priority of the conshdlr to be less than the
> branching rule's. Then, the same solution is caught with less number of
> nodes(quicker).
>
>  I am not sure how to check what happens after the psi s are binary, and
> why it doesnt go to the CONSENFOLP method after that. Is there a reason for
> happening this?
>  I attached the output file with statistics and the branching statistics.
>
>  Thanks in advance.
>
>
>
>
> _______________________________________________
> Scip mailing listScip at zib.dehttp://listserv.zib.de/mailman/listinfo/scip
>
>
> --
> ______________________________
> Benjamin Müller
> Zuse Institute Berlin
> Takustr. 7, 14195 Berlinbenjamin.mueller at zib.de+49 30 841 85-195
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20150728/d5e4cb38/attachment.html>


More information about the Scip mailing list