[SCIP] SCIP and Ipopt

Benjamin Müller benjamin.mueller at zib.de
Wed Feb 14 07:55:20 CET 2018


Hi Vincent,

you did two mistakes:

1. <y#0> should have a coefficient of 1 in the objective.

2. You declared your quadratic constraint to be linear and there were 
also some semantic problems.

Your model should actually look like:

STATISTICS
   Problem name     : test.cip
   Variables        : 5 (0 binary, 5 integer, 0 implicit integer, 0 
continuous)
   Constraints      : 0 initial, 5 maximal
OBJECTIVE
   Sense            : minimize
VARIABLES
   [integer] <c#0b#0>: obj=0, original bounds=[0,1]
   [integer] <c#1b#0>: obj=0, original bounds=[0,1]
   [integer] <c#0b#1>: obj=0, original bounds=[0,1]
   [integer] <c#1b#1>: obj=0, original bounds=[0,1]
   [integer] <y#0>: obj=1, global bounds=[0,4], local bounds=[0,4]
CONSTRAINTS
   [linear] <pack_1>: <c#0b#0>[I] +<c#0b#1>[I] == 1;
   [linear] <pack_2>: <c#1b#0>[I] +<c#1b#1>[I] == 1;
   [linear] <cap_0>: <c#0b#0>[I] +<c#1b#0>[I] <= 1;
   [linear] <cap_1>: <c#0b#1>[I] +<c#1b#1>[I] <= 1;
   [quadratic] <obj_0>: -<c#0b#1>[C] <c#1b#1>[C] -<c#0b#0>[I] 
<c#1b#0>[I] -<y#0>[C] == -4;
END

Please read your instance with SCIP display the problem in order to see 
how SCIP parsed it.

	./bin/scip -c "read test.cip display problem"

Anyway, I think that you might want to use a modelling language instead 
of dealing with our .cip format. You could, e.g., use ZIMPL, AMPL, GAMS, 
...

Best,
Benny

PS: Please don't include the Ipopt mailing any more. Your problems are 
not related to Ipopt.


On 02/14/2018 07:01 AM, Vincent Mirian wrote:
> Hi all.
> 
> Thanks for the reply Benny.
> 
> I created the following input file to the framework.
> STATISTICS
>    Problem name     : test.cip
>    Variables        : 5 (0 binary, 5 integer, 0 implicit integer, 0 
> continuous)
>    Constraints      : 0 initial, 5 maximal
> OBJECTIVE
>    Sense            : minimize
> VARIABLES
>    [integer] <c#0b#0>: obj=0, original bounds=[0,1]
>    [integer] <c#1b#0>: obj=0, original bounds=[0,1]
>    [integer] <c#0b#1>: obj=0, original bounds=[0,1]
>    [integer] <c#1b#1>: obj=0, original bounds=[0,1]
>    [integer] <y#0>: obj=0, global bounds=[0,4], local bounds=[0,4]
> CONSTRAINTS
>    [linear] <pack_1>: <c#0b#0>[I] +<c#0b#1>[I] == 1;
>    [linear] <pack_2>: <c#1b#0>[I] +<c#1b#1>[I] == 1;
>    [linear] <cap_0>: <c#0b#0>[I] +<c#1b#0>[I] <= 1;
>    [linear] <cap_1>: <c#0b#1>[I] +<c#1b#1>[I] <= 1;
>    [linear] <obj_0>: -<c#0b#1>[I]*<c#1b#1>[I]*1 
> -<c#0b#0>[I]*<c#1b#0>[I]*1 +4 -<y#0> == 0;
> END
> 
> The results should assign y#0 to 4. However, I get the following output 
> (snippet of output to reduce length):
> 
> presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):
>   5 deleted vars, 5 deleted constraints, 0 added constraints, 1 
> tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
>   0 implications, 0 cliques
> presolved problem has 0 variables (0 bin, 0 int, 0 impl, 0 cont) and 0 
> constraints
> transformed objective value is always integral (scale: 1)
> Presolving Time: 0.00
> 
> objective value:                                    0
> c#0b#0                                              1 (obj:0)
> c#1b#1                                              1 (obj:0)
> 
> The assignment of c#0b#0 and c#1b#1 are valid solutions. I am confused 
> on the reason that the objective value is 0. I am assume that the 
> objective value is y#0, since it is the only variable not stated. The 
> value of y#0 should be 4.
> 
> Some guidance would be appreciated. Note that I searched the SCIP 
> mailing list archive but I did not find any references for the input 
> format and description of the output.
> 
> Any help would be appreciated. Thank you.
> 
> 
> 
> On Tue, Feb 13, 2018 at 11:38 PM, Benjamin Müller 
> <benjamin.mueller at zib.de <mailto:benjamin.mueller at zib.de>> wrote:
> 
>     Hi Vincent,
> 
>     I would recommend using JSCIPOpt, which is our SCIP-Java interface
>     that can be found here:
> 
>     https://github.com/SCIP-Interfaces/JSCIPOpt
>     <https://github.com/SCIP-Interfaces/JSCIPOpt>
> 
>     All relevant steps for building the interface are listed in the
>     INSTALL.md, but basically, you will need to download the latest SCIP
>     Optimization Suite and compile it with Ipopt. You might want to have
>     a look at the JSCIPOpt/examples/Quadratic, which shows how to model
>     a problem with simple quadratic constraints.
> 
>     Please note that SCIP can't handle a nonlinear objective function.
>     For this reason, you need to add an auxiliary variable z and then
>     model your problem as
> 
>          min z
>          z >= sum_{ij} X_{ij} Y_{ij}
>          ...
> 
>     Best,
>     Benny
> 
>     On 02/13/2018 07:05 PM, Vincent Mirian wrote:
> 
>         HI all.
> 
>         I am new to the SCIP community.
> 
>         I am looking for a non-linear solver to solve:
>         - an objective function similar to 0 <= sum over i and j of X_ij
>         * Y_ij * Constant < max
>         - with constraints similar tosum(X_ij) = 1 and sum(Y_ij) = 1
>         (forcing the values of X_ij and Y_ij to zero or one). A solution
>         would be sufficient (it can be local or global optimal).
> 
>         I would need to interface the solver with Java. I found Google
>         Optimization Tools (OR-Tools) to interface SCIP with java. Note
>         that this work is for academic research.
> 
>         - Would SCIP or Ipopt be suitable for my task? Would anyone have
>         experience integrating SCIP or Ipopt into Java?
>         - I'm using a machine with ubuntu 64-bit. Are there any issues
>         with installing these tools in this machine environment?
>         - What is the manner to describe the constraints and objective
>         function using these tools?
> 
>         Thank you.
>         -- 
>         Vincent Mirian
> 
> 
>         _______________________________________________
>         Scip mailing list
>         Scip at zib.de <mailto:Scip at zib.de>
>         https://listserv.zib.de/mailman/listinfo/scip
>         <https://listserv.zib.de/mailman/listinfo/scip>
> 
> 
>     -- 
>     ______________________________
>     Benjamin Müller
>     Zuse Institute Berlin
>     Takustr. 7, 14195 Berlin
>     benjamin.mueller at zib.de <mailto:benjamin.mueller at zib.de>
>     +49 30 841 85-195 <tel:%2B49%2030%20841%2085-195>
> 
> 
> 
> 
> -- 
> Vincent Mirian

-- 
______________________________
Benjamin Müller
Zuse Institute Berlin
Takustr. 7, 14195 Berlin
benjamin.mueller at zib.de
+49 30 841 85-195


More information about the Scip mailing list