[SCIP] reoptimization

Jakob Witzig witzig at zib.de
Tue Sep 20 13:00:42 CEST 2016


Hi James!

Please use the attached patch to fix the issue in your SCIP installation.

Please check whether the patch is applicable first:

   git apply --check 
0001-fix-bug-while-separating-previous-optimal-solution-i.patch

If everything works, execute the command again without '--check' and 
compile your SCIP installation subsequently.

Cheers,
Jakob


Am 15.09.2016 um 17:19 schrieb Jakob Witzig:
> Hi James,
>
> this sounds strange. Which SCIP version do you use? Could you send me
> the original problem file? Otherwise it is hard to see what goes wrong.
>
> Cheers,
> Jakob
>
>
> Am 15.09.2016 um 16:47 schrieb James Cussens:
>> Dear Jakob,
>>
>>
>> On 15 September 2016 at 14:14, Jakob Witzig <witzig at zib.de
>> <mailto:witzig at zib.de>> wrote:
>>
>>     Hi James,
>>
>>     what do you mean exactly with you suspect you doing it wrong? Do you
>>     got wrong results?
>>
>>     Yes, the parameter mentioned below should exactly do the same as you
>>     are doing by hand. Do you observe any differences between using the
>>     parameter and separating OPTSOL by hand?
>>
>>
>>
>> I do observe a difference. When I set reoptimization/sepabestsol = TRUE
>> and just do:
>> Do k times:
>> ---Solve problem    SCIP_CALL( SCIPsolve(scip) );
>> ---Inspect best solution: SCIP_CALL( SCIPprintSol(scip,
>> SCIPgetBestSol(scip), NULL, FALSE) );
>> ---Inspect best solution another way: SCIP_CALL( SCIPprintSol(scip,
>> SCIPgetReoptLastOptSol(scip), NULL, FALSE) );
>> ---SCIP_CALL( SCIPfreeTransform(scip) );
>>
>> With one exception, I just get the same optimal solution on each
>> iteration. It is as if the parameter is having no effect.
>> The exception is that the first call to SCIP_CALL( SCIPprintSol(scip,
>> SCIPgetReoptLastOptSol(scip), NULL, FALSE) );  prints out an infeasible
>> solution.
>>
>> Perhaps I am looking in the wrong place for optimal solutions for k>1 or
>> somehow preventing the best solutions from each iteration being
>> separated.
>>
>> James
>>
>>
>>
>>
>>     Cheers,
>>     Jakob
>>
>>
>>     Am 15.09.2016 um 14:03 schrieb James Cussens:
>>
>>         Dear SCIPers,
>>
>>         I am using reoptimization to solve a series of binary IPs, and I
>>         suspect
>>         I am doing it wrong.
>>
>>         My problem is analogous, I think, to the k-Constrained
>> Shortest Path
>>         Problem mentioned in Section 4.2 of Jakob Witzig's master
>>         thesis. For my
>>         original IP I want to get the optimal solution, then the 2nd
>>         best, then
>>         3rd best and so on. The objective function never changes.
>>
>>         I have set reoptimization/enable to TRUE and then do the
>> following:
>>
>>         Do k times:
>>         ---Solve problem    SCIP_CALL( SCIPsolve(scip) );
>>         ---store information sufficient to identify optimal solution
>> OPTSOL
>>         ---SCIP_CALL( SCIPfreeTransform(scip) );
>>         ---add in constraint ruling out just OPTSOL
>>
>>         I notice that there is a parameter
>>         # separate the optimal solution, i.e., for constrained
>> shortest path
>>         # [type: bool, range: {TRUE,FALSE}, default: FALSE]
>>         reoptimization/sepabestsol = FALSE
>>
>>         which, I suspect, can be used to do what I am doing 'by hand'.
>>         Is this
>>         the case?
>>
>>         More generally, I would appreciate knowing the correct recipe
>>         for doing
>>         this sort of thing (when using the SCIP callable library).
>>
>>         James
>>
>>         --
>>         James Cussens
>>         Dept of Computer Science &
>>         York Centre for Complex Systems Analysis
>>         Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904
>>         325371 <tel:%2B44%20%280%291904%20325371>
>>         University of York                                        Fax
>> +44
>>         (0)1904 500159
>>         York YO10 5GE, UK
>>          http://www.cs.york.ac.uk/~jc
>>         http://www.york.ac.uk/docs/disclaimer/email.htm
>>         <http://www.york.ac.uk/docs/disclaimer/email.htm>
>>
>>
>>         _______________________________________________
>>         Scip mailing list
>>         Scip at zib.de <mailto:Scip at zib.de>
>>         http://listserv.zib.de/mailman/listinfo/scip
>>         <http://listserv.zib.de/mailman/listinfo/scip>
>>
>>
>>
>>     --
>>     Jakob Witzig
>>
>>     Zuse Institute Berlin (ZIB)
>>
>>     Division Mathematical Optimization and Scientific Information
>>     Research Group Mathematical Optimization Methods
>>
>>     Takustrasse 7
>>     14195 Berlin
>>
>>     Tel. : +49 (0)30 84185-416 <tel:%2B49%20%280%2930%2084185-416>
>>     Fax  : +49 (0)30 84185-269 <tel:%2B49%20%280%2930%2084185-269>
>>     email: witzig at zib.de <mailto:witzig at zib.de>
>>
>>
>>
>>
>> --
>> James Cussens
>> Dept of Computer Science &
>> York Centre for Complex Systems Analysis
>> Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371
>> University of York                                        Fax  +44
>> (0)1904 500159
>> York YO10 5GE, UK
>> http://www.cs.york.ac.uk/~jc
>> http://www.york.ac.uk/docs/disclaimer/email.htm
>
>


-- 
Jakob Witzig

Zuse Institute Berlin (ZIB)

Division Mathematical Optimization and Scientific Information
Research Group Mathematical Optimization Methods

Takustrasse 7
14195 Berlin

Tel. : +49 (0)30 84185-416
Fax  : +49 (0)30 84185-269
email: witzig at zib.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-fix-bug-while-separating-previous-optimal-solution-i.patch
Type: text/x-patch
Size: 6684 bytes
Desc: not available
URL: <http://listserv.zib.de/pipermail/scip/attachments/20160920/0f73a199/attachment.bin>


More information about the Scip mailing list