[Scip] help

Gregor Hendel hendel at zib.de
Fri Jun 6 16:47:52 CEST 2014


Dear Abdelkader Ouali,

welcome to the SCIP mailing list.
SCIP only accepts linear objective functions as input, every nonlinear 
(or in your case piecewise linear) objective
has to be modeled via additional constraints.

The first attempt I would do in your situation is a linearization of all
|f_i x_i - f_j x_j| by adding two continuous variables y^(+)_{ij} >= 0, 
y?_{ij} >= 0 and a constraint
f_i x_i - f_j x_j = y^(+)_{ij} - y?_{ij}. Then replace your objective 
function by \sum \sum y^(+)_{ij} + y?_{ij}, and
you obtain the desired result.

Best regards,
Gregor



Am 06.06.2014 11:34, schrieb Abdelkader Ouali:
> Dear Scip users,
>
> I'am newer in SCIP solver, i know the basic steps to model and solve MIP
> using cpp wrapper for column generation.
>
> My question concern the objective function in SCIP. When adding 
> variables to the problem.
> In the original problem, each time we use SCIPaddVar(), SCIP construct 
> the objective as
> follow (notation in latex format) :
>
> *\min   z = **\sum{i \invars} C_ivars_i*, where *C_i* is the objective 
> of variable, and *vars_i* its associated variable.
>
> In my case, i don't want to use this formula to construct my objective 
> function. To be more clear,
> my objective function has the form :
>
> *\min   z=\sum_{I\in  X}\sum_{J\in  X}|f_I  X_I  -f_J  X_J|*,  where X is set of  boolean variables, f_I
> their associated objective values.
> I want to know if there some c++ SCIP functions, that allow me, to express my objective function
> as i want ?
>
> Thank you for any response or documentations about this question
>
> ---
> Abdelkader Ouali
>
>
> _______________________________________________
> 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/20140606/a73153c4/attachment.html>


More information about the Scip mailing list