[Scip] SCIP behavior in nonlinear vs linear cases

Ambros Gleixner gleixner at zib.de
Wed May 15 17:01:44 MEST 2013


Dear Ahmad,

the difference is that SCIP will not stop with the secant, but explore 
(a relaxation of) the feasible region completely.

The static approximation may give you a point which is infeasible (or 
suboptimal in the case where a concave objective function is the only 
nonlinearity present).  Take the example min -x*x s.t. -1 <= x <= 1, 
reformulated as

    min z s.t. z >= -x*x, -1 <= x <= 1.

If you underestimate -x*x by the secant z >= -1 going through points 
x=-1 and x=1 and solve the (MI)LP, you might get x=0, which is 
suboptimal for the original MINLP.  Of course, you can choose the static 
underestimation smart enough that this will not happen in this simple 
example (use z >= x and z >= -x), but in general there is no static 
approximation that would guarantee you getting a fully feasible and 
optimal solution.

"Dynamic approximation" is probably not a good term for what SCIP does. 
  SCIP does not build a piecewise linear approximation of the problem 
and certainly does not force the solution to be on a piecewise linear 
approximation, not even a dynamically refined one.  It encloses the 
feasible solutions in a linear relaxation and tries to fully explore 
this relaxation by branch-and-bound (branching also on continuous 
variables).  It would not introduce auxiliary binary variables to 
formulate a non-convex underestimator.

In the example above, e.g., if the relaxation yields x = 0 at the root 
node, SCIP would create two children: in the left child, z >= x is added 
to the relaxation, in the right child, z >= -x is added.  Hence, the 
point x=0,z=-1 is no longer feasible in both children.  Solving the 
relaxation of the left child would give x=-1,z=-1, which is feasible for 
the original nonlinear constraint z >= -x*x and also globally optimal.

I hope this helps,

Ambros




Am 15.05.2013 15:54, schrieb Ahmad Moradi:
> Dear all,
>
> I am working on a network design problem with concave cost function and
> linear constraints. I implemented the problem in the following two forms
>
> 1. I directly added the concave cost objective function through expression
> trees as nonlinear constraints. lets call this case "dynamic approximation".
>
> 2. I approximated the objective function with piecewise linear functions
> (with fixed number of breakpoints) and then I have given the resulting MILP
> to SCIP. lets call this case "static approximation".
>
> I know that SCIP in dynamic case, will convexify the feasible region by
> linearizing the nonlinear constraint (uses only two breakpoints and makes
> the linearization by replacing a simple secant instead of the nonlinear
> constraint ).
>
> Now, I want to know, what is essentially the different between
> SCIP's behavior on this two cases?
>
> bests, Ahmad
>
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>

-- 
____________________________________________________________
Ambros M. Gleixner
Zuse Institute Berlin - Matheon - Berlin Mathematical School
http://www.zib.de/gleixner


More information about the Scip mailing list