[Scip] first dual bound

Tobias Achterberg achterberg at zib.de
Mon Nov 9 18:24:07 MET 2009


Hi Tuomo,

either you can disable all cuts and set the branching rule to one that does not apply 
strong branching, and then use your approach (2) + SCIPgetDualboundRoot(scip). Or you can 
install an FIRSTLPSOLVED event and display SCIPgetLocalDualbound(scip) in the very first 
call to your event handler.

Probably, there are other alternatives as well, including writing the presolved problem 
into a file, read this into CPLEX, change probtype to LP, and solve it with CPLEX. But in 
this case, you also have to check the objective shift that comes from presolve.


Tobias


Tuomo Takkula wrote:
> Hi,
>
> how can I get hold of the first "dualbound" value that Scip prints during it's run, that is, the
> dual bound after presolving. My first attempts were
>
> (1) Call SCIPpresolve, and then try one of
>
> SCIPgetLPObjval(scip)
> SCIPgetLPRootObjval(scip)
> SCIPgetLPColumnObjval(scip)
> SCIPgetLocalDualbound(scip)
> SCIPgetLocalLowerbound(scip)
> SCIPgetDualboundRoot(scip)
> SCIPgetDualbound(scip)
> SCIPgetLowerbound(scip)
> SCIPgetLowerboundRoot(scip)
>
> (2) Call SCIPpresolve, solve one node and try one of the methods in (1).
>
> Both attempts were in vain though. The only nontrivial value was the first one (LP bound), and this
> was still far worse than the first "dualbound" output.
>
>
> So, how should I do it?
>
>
> Best regards
> Tuomo
>
>


More information about the Scip mailing list