[SCIP] reoptimization
James Cussens
james.cussens at york.ac.uk
Tue Sep 20 16:59:08 CEST 2016
Hi Jakob,
I got the patch applied by doing:
git apply --check --ignore-space-change --ignore-whitespace
0001-fix-bug-while-separating-previous-optimal-solution-i.patch
And the reoptimization/sepabestsol parameter is now working.
Thanks again for the patch!
James
On 20 September 2016 at 12:00, Jakob Witzig <witzig at zib.de> wrote:
> 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
>
--
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/20160920/91442d89/attachment.html>
More information about the Scip
mailing list