[Scip] How to terminate SCIP earlier?

Gerald Gamrath gamrath at zib.de
Thu Sep 25 10:18:30 CEST 2014


Dear Kai Wei,

in which methods did you try it and why didn't it work?

It's a question of the stage SCIP is in, and if you do it in the wrong 
stage, you should get an error message which states quite clearly that 
the method cannot be called in this stage. In the documentation, you 
find the stages in which the method can be called, you can check the 
stage by SCIPgetStage().

Normally, you should call the method right after you created your 
problem, e.g., in the READERREAD callback of your reader or in the 
problem data, if you have a method there which creates the problem.

Best,
Gerald




Am 25.09.2014 um 08:47 schrieb weikaimas at 163.com:
> Dear Gerald,
>
> I have tried 
> SCIPsetObjIntegral() in several places ( main.c , read_col.c, pricer.c) but it could not work.
>
>  Where should SCIPsetObjIntegral() be placed?
>
>
> Thanks,
>
> Kai Wei
>
>     *From:* Gerald Gamrath <mailto:gamrath at zib.de>
>     *Date:* 2014-09-24 17:15
>     *To:* lixiangyong at 163.com <mailto:lixiangyong at 163.com>; Ambros
>     Gleixner <mailto:gleixner at zib.de>
>     *CC:* scip <mailto:scip at zib.de>
>     *Subject:* Re: [Scip] How to terminate SCIP earlier?
>     Dear Xiangyong,
>
>     when using SCIPsetObjIntegral(), you do not need to call
>     SCIPinterruptSolve() yourself, but SCIP will stop because it knows
>     that optimality has been proven as soon as the primal bound is x
>     and the lower bound is greater than  x - 1.
>     Also the LP solving might be sped up, since a smaller cutoff bound
>     can be set (which is irrelevant for branch-and-price, however).
>     Furthermore, also some plugins use this information to improve
>     their algorithms.
>
>     Summing up: If you know that every solution will have an integer
>     value, you should tell SCIP about that. For branch-and-cut, SCIP
>     will automatically detect this, however, for branch-and-price, not
>     all variables are present, so it cannot be detected automatically.
>
>     Best,
>     Gerald
>
>     Am 24.09.2014 um 02:32 schrieb lixiangyong at 163.com:
>>     Dear Dr. Ambros,
>>
>>     I want to know the advantage of  calling SCIPsetObjIntegral() if
>>     at the beginning I know any feasible solution should have an
>>     integer objective value?  Can it speed up the solving process?
>>
>>     Thanks,
>>
>>     Xiangyong Li
>>
>>         *From:* Ambros Gleixner <mailto:gleixner at zib.de>
>>         *Date:* 2014-09-24 08:21
>>         *To:* scip <mailto:scip at zib.de>; lixiangyong at 163.com
>>         <mailto:lixiangyong at 163.com>
>>         *Subject:* Re: [Scip] How to terminate SCIP earlier?
>>         Dear Xiangyong,
>>         Am 24.09.2014 02:08, schrieb lixiangyong at 163.com:
>>         > Dear Dr. Gerald,
>>         >
>>         > Thanks,  I have used SCIPinterruptSolve() to terminate my
>>         solving
>>         > process since I know the current incumbent is the optimal
>>         solution.
>>         >
>>         > BTW, can you tell me the advantage of calling
>>         SCIPsetObjIntegral() if I
>>         > know any feasible solution should have an integer objective
>>         value?  Can
>>         > it speed up the solving process?
>>         Yes.  If (in minimization) the primal bound is x and the
>>         lower bound is
>>         greater than  x - 1, the solution process can be stopped already.
>>         Best regards,
>>         Ambros
>>         >
>>         >
>>         > Thanks,
>>         >
>>         >
>>         > Xiangyong
>>         >
>>         >     *From:* Gerald Gamrath <mailto:gamrath at zib.de>
>>         >     *Date:* 2014-09-23 17:16
>>         >     *To:* lixiangyong at 163.com <mailto:lixiangyong at 163.com>;
>>         scip
>>         > <mailto:scip at zib.de>
>>         >     *Subject:* Re: [Scip] How to terminate SCIP earlier?
>>         >     Dear Xiangyong Li,
>>         >
>>         >     if you know that every feasible solution will have an
>>         integer
>>         >     objective value and therefore want to stop the solving
>>         process when
>>         >     the dualbound is larger than primalbound - 1, you can
>>         just inform
>>         >     SCIP that this is the case by calling SCIPsetObjIntegral().
>>         >
>>         >     Otherwise, you can call SCIPinterruptSolve() to stop
>>         the solving
>>         >     process, but SCIP will then print that it was
>>         interrupted, not that
>>         >     it was solved to optimality.
>>         >
>>         >     Best,
>>         >     Gerald
>>         >
>>         >     Am 23.09.2014 um 10:02 schrieb lixiangyong at 163.com:
>>         >>     Dear all,
>>         >>
>>         >>     I am using SCIP to implement my branch and price
>>         algorithm.
>>         >>     Now I want to terminate the SCIP earlier since I can
>>         judge the
>>         >>     problem has been optimally solved when some condition
>>         is satisfied.
>>         >>     Suppose UB and LB be the objective value of best
>>         incumbent and the
>>         >>     best remaining node in the branch and bound tree.
>>         >>     For my instances considered, SCIP has optimally solved one
>>         >>     instance if UB-LB < 1.
>>         >>
>>         >>     Can you tell me how to set the earlier termination
>>         condition in SCIP?
>>         >>
>>         >>     Thanks,
>>         >>
>>         >>
>>         >>     Xiangyong Li
>>         >>
>>         >>
>>         >>
>>         >>
>>         >> _______________________________________________
>>         >>     Scip mailing list
>>         >> Scip at zib.de
>>         >> http://listserv.zib.de/mailman/listinfo/scip
>>         >
>>         >
>>         >
>>         > _______________________________________________
>>         > Scip mailing list
>>         > Scip at zib.de
>>         > http://listserv.zib.de/mailman/listinfo/scip
>>         >
>>         -- 
>>         ____________________________________________________________
>>         Ambros M. Gleixner
>>         Zuse Institute Berlin - Matheon - Berlin Mathematical School
>>         http://www.zib.de/gleixner
>>
>>
>>
>>     _______________________________________________
>>     Scip mailing list
>>     Scip at zib.de
>>     http://listserv.zib.de/mailman/listinfo/scip
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140925/2925f250/attachment.html>


More information about the Scip mailing list