[SCIP] SCIP and Ipopt

Vincent Mirian vince.mirian at gmail.com
Wed Feb 21 00:16:26 CET 2018


Hi Ambros.

Thank you for your response. Your explanation was aligned with my
assumption... Thank you for clarifying.

SCIP searches for an optimal solution. For some MINLP problem, I would like
SCIP to return a solution (the first solution it may find is sufficient). I
was reading that IPOPT is integrated within SCIP, however I was unable to
trigger ipopt for these problem. Any help would be appreciated.

For reference, I am using SCIP from interactive/batch(script) mode. I
installed SCIP using the binaries posted on the website.

Also, I would like to know if it is possible to pause SCIP and retrieve its
state and, then, continue from the saved state from the
interactive/batch(script) mode. If so, how?

Thank you in advance.

On Tue, Feb 20, 2018 at 1:49 AM, Ambros Gleixner <gleixner at zib.de> wrote:

> Hi Vincent,
>
> SCIP (like virtually all solvers based on floating-point arithmetics) uses
> tolerances to check feasibility and integrality.  Anything with a
> fractionality below 1e-9 (parameter numerics/epsilon) is consider integral,
> so also the value 0.999999999999998 that you saw in your solution.  You can
> use SCIPisIntegral() to check or SCIPround() to round solution values in
> the C API.
>
> Best,
> Ambros
>
>
> Am 20.02.2018 um 03:40 schrieb Vincent Mirian:
>
>> Hi Benny.
>>
>> Thank you for your response. Currently, I am using the LP format with
>> SCIP.
>>
>> I create a problem (attached). In the problem I defined a
>> variable AssignC4BLK0 and AssignC10BLK1 as binaries. However, the output
>> assigns a non-binary to these variables. Is there something that I am doing
>> incorrectly? Or is this natural behavior from SCIP?
>>
>> Regards.
>>
>> On Wed, Feb 14, 2018 at 1:55 AM, Benjamin Müller <benjamin.mueller at zib.de
>> <mailto:benjamin.mueller at zib.de>> wrote:
>>
>>     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>
>>         <mailto: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>
>>              <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> <mailto:Scip at zib.de
>>         <mailto:Scip at zib.de>>
>>         https://listserv.zib.de/mailman/listinfo/scip
>>         <https://listserv.zib.de/mailman/listinfo/scip>
>>                  <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>
>>         <mailto:benjamin.mueller at zib.de <mailto:benjamin.mueller at zib.de>>
>>         +49 30 841 85-195 <tel:%2B49%2030%20841%2085-195>
>>         <tel:%2B49%2030%20841%2085-195>
>>
>>
>>
>>
>>         --         Vincent Mirian
>>
>>
>>     --     ______________________________
>>     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
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>>
>>
> --
> Ambros Gleixner, Research Group Mathematical Optimization Methods at Zuse
> Institute Berlin, http://www.zib.de/gleixner
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>



-- 
Vincent Mirian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20180220/7c767b38/attachment.html>


More information about the Scip mailing list