[SCIP] Scip and pricer

Luca Mencarelli mencarelli at lix.polytechnique.fr
Wed Oct 14 10:40:10 CEST 2015


Thanks very much for the answer. To be more precise, I have an MILP problem
and a code to solve it via branch-and-price. I have all the data structures
for this problem, the solver for the master problem and the pricer. Now, I
would like to use the SCIP machinery, more explicitly CGC, to solve it. I
would like to maintain the pricer and all the data structures. Now I have two
questions:

I think I could include all the data structures and the methods for the
pricer
in a .h and include it in the pricer file for SCIP. Now I would like how to
interface the SCIP structure (e.g. the SCIP type of the variable). For
instance,
I have a specific data structure for the column.

I would like to pass to SCIP the column I generated with my pricer. Is it
possible?
There is any example, in which it is used an "external" pricer, I mean a
complex
pricer written in C++.

Thanks very much,
Luca

-- 
"Qu'est-ce qu'un homme révolté ? Un homme qui dit non. Mais s'il refuse,
il ne renonce pas : c'est aussi un homme qui dit oui, dès son premier
mouvement." Albert Camus, L'Homme Révolté (1951).
---------------------------------------------------------
Luca Mencarelli
PhD Candidate at LIX (UMR 7161), Ecole Polytechnique
91128 Palaiseau CEDEX, France
Office: 2072 (Bâtiment Alan Turing, second floor)
LIX e-mail address: mencarelli at lix.polytechnique.fr
INRIA e-mail address:  luca.mencarelli at inria.fr
Twitter: @l_mencarelli

> Hi Luca,
>
> To solve your problem by column generation using SCIP you must implement
> a variable pricer. There are two fundamental callbacks for a variable
> pricer, PRICERREDCOST and PRICERFARKAS. Descriptions of the fundamental
> callbacks are given in http://scip.zib.de/doc/html/PRICER.php.
>
> Taking the PRICERREDCOST as an example, what must occur in this callback
> is: identify whether a variable exists with negative reduced cost; if
> one exists, then add that variable to the master problem. The way to
> identify whether a variable with negative reduced cost exists is purely
> up to you. As such, it is possible to execute algorithms that are
> implemented in external libraries to perform this task.
>
> What I would suggest is to write a header file containing all
> declarations related to the pricer that you have already implemented in
> C. Then you can include this header file in the variable pricer that you
> write for your SCIP implementation. This will allow you to call your own
> variable pricer from within the PRICERREDCOST callback to identify
> variables with negative reduced cost.
>
> Cheers,
>
> Steve
>
> On 07/10/15 12:42, Luca Mencarelli wrote:
>> Dear SCIP user,
>>
>> I want to implement a column generator in SCIP and I have already
>> the pricer implemented in C. Since the pricer is quite complicated,
>> I would ask you if there is a way (and what I need) to create an
>> interface between the price routine and SCIP, without explicetly
>> implement, for instace, the static method SCIP_RETCODE initPricing.
>>
>> Thanks in advance,
>> Luca
>>
>




More information about the Scip mailing list