[SCIP] reoptimization

James Cussens james.cussens at york.ac.uk
Thu Sep 15 16:47:30 CEST 2016


Dear Jakob,


On 15 September 2016 at 14:14, Jakob Witzig <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
>> 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
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> 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
> Fax  : +49 (0)30 84185-269
> email: 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20160915/8b466462/attachment.html>


More information about the Scip mailing list