<div dir="ltr"><div>Hi Ambros.</div><div><br></div><div>Thank you for your response. Your explanation was aligned with my assumption... Thank you for clarifying.</div><div><br></div><div>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.</div><div><br></div><div>For reference, I am using SCIP from interactive/batch(script) mode. I installed SCIP using the binaries posted on the website.</div><div><br></div><div>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?</div><div><br></div><div>Thank you in advance.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 20, 2018 at 1:49 AM, Ambros Gleixner <span dir="ltr"><<a href="mailto:gleixner@zib.de" target="_blank">gleixner@zib.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vincent,<br>
<br>
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.<br>
<br>
Best,<br>
Ambros<span class=""><br>
<br>
<br>
Am 20.02.2018 um 03:40 schrieb Vincent Mirian:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Hi Benny.<br>
<br>
Thank you for your response. Currently, I am using the LP format with SCIP.<br>
<br>
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?<br>
<br>
Regards.<br>
<br></span><div><div class="h5">
On Wed, Feb 14, 2018 at 1:55 AM, Benjamin Müller <<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.de</a> <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>>> wrote:<br>
<br>
    Hi Vincent,<br>
<br>
    you did two mistakes:<br>
<br>
    1. <y#0> should have a coefficient of 1 in the objective.<br>
<br>
    2. You declared your quadratic constraint to be linear and there<br>
    were also some semantic problems.<br>
<br>
    Your model should actually look like:<br>
<br>
    STATISTICS<br>
       Problem name     : test.cip<br>
       Variables        : 5 (0 binary, 5 integer, 0 implicit integer, 0<br>
    continuous)<br>
       Constraints      : 0 initial, 5 maximal<br>
    OBJECTIVE<br>
       Sense            : minimize<br>
    VARIABLES<br>
       [integer] <c#0b#0>: obj=0, original bounds=[0,1]<br>
       [integer] <c#1b#0>: obj=0, original bounds=[0,1]<br>
       [integer] <c#0b#1>: obj=0, original bounds=[0,1]<br>
       [integer] <c#1b#1>: obj=0, original bounds=[0,1]<br>
       [integer] <y#0>: obj=1, global bounds=[0,4], local bounds=[0,4]<br>
    CONSTRAINTS<br>
       [linear] <pack_1>: <c#0b#0>[I] +<c#0b#1>[I] == 1;<br>
       [linear] <pack_2>: <c#1b#0>[I] +<c#1b#1>[I] == 1;<br>
       [linear] <cap_0>: <c#0b#0>[I] +<c#1b#0>[I] <= 1;<br>
       [linear] <cap_1>: <c#0b#1>[I] +<c#1b#1>[I] <= 1;<br>
       [quadratic] <obj_0>: -<c#0b#1>[C] <c#1b#1>[C] -<c#0b#0>[I]<br>
    <c#1b#0>[I] -<y#0>[C] == -4;<br>
    END<br>
<br>
    Please read your instance with SCIP display the problem in order to<br>
    see how SCIP parsed it.<br>
<br>
             ./bin/scip -c "read test.cip display problem"<br>
<br>
    Anyway, I think that you might want to use a modelling language<br>
    instead of dealing with our .cip format. You could, e.g., use ZIMPL,<br>
    AMPL, GAMS, ...<br>
<br>
    Best,<br>
    Benny<br>
<br>
    PS: Please don't include the Ipopt mailing any more. Your problems<br>
    are not related to Ipopt.<br>
<br>
<br>
<br>
    On 02/14/2018 07:01 AM, Vincent Mirian wrote:<br>
<br>
        Hi all.<br>
<br>
        Thanks for the reply Benny.<br>
<br>
        I created the following input file to the framework.<br>
        STATISTICS<br>
            Problem name     : test.cip<br>
            Variables        : 5 (0 binary, 5 integer, 0 implicit<br>
        integer, 0 continuous)<br>
            Constraints      : 0 initial, 5 maximal<br>
        OBJECTIVE<br>
            Sense            : minimize<br>
        VARIABLES<br>
            [integer] <c#0b#0>: obj=0, original bounds=[0,1]<br>
            [integer] <c#1b#0>: obj=0, original bounds=[0,1]<br>
            [integer] <c#0b#1>: obj=0, original bounds=[0,1]<br>
            [integer] <c#1b#1>: obj=0, original bounds=[0,1]<br>
            [integer] <y#0>: obj=0, global bounds=[0,4], local bounds=[0,4]<br>
        CONSTRAINTS<br>
            [linear] <pack_1>: <c#0b#0>[I] +<c#0b#1>[I] == 1;<br>
            [linear] <pack_2>: <c#1b#0>[I] +<c#1b#1>[I] == 1;<br>
            [linear] <cap_0>: <c#0b#0>[I] +<c#1b#0>[I] <= 1;<br>
            [linear] <cap_1>: <c#0b#1>[I] +<c#1b#1>[I] <= 1;<br>
            [linear] <obj_0>: -<c#0b#1>[I]*<c#1b#1>[I]*1<br>
        -<c#0b#0>[I]*<c#1b#0>[I]*1 +4 -<y#0> == 0;<br>
        END<br>
<br>
        The results should assign y#0 to 4. However, I get the following<br>
        output (snippet of output to reduce length):<br>
<br>
        presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):<br>
           5 deleted vars, 5 deleted constraints, 0 added constraints, 1<br>
        tightened bounds, 0 added holes, 0 changed sides, 0 changed<br>
        coefficients<br>
           0 implications, 0 cliques<br>
        presolved problem has 0 variables (0 bin, 0 int, 0 impl, 0 cont)<br>
        and 0 constraints<br>
        transformed objective value is always integral (scale: 1)<br>
        Presolving Time: 0.00<br>
<br>
        objective value:                                    0<br>
        c#0b#0                                              1 (obj:0)<br>
        c#1b#1                                              1 (obj:0)<br>
<br>
        The assignment of c#0b#0 and c#1b#1 are valid solutions. I am<br>
        confused on the reason that the objective value is 0. I am<br>
        assume that the objective value is y#0, since it is the only<br>
        variable not stated. The value of y#0 should be 4.<br>
<br>
        Some guidance would be appreciated. Note that I searched the<br>
        SCIP mailing list archive but I did not find any references for<br>
        the input format and description of the output.<br>
<br>
        Any help would be appreciated. Thank you.<br>
<br>
<br>
<br>
        On Tue, Feb 13, 2018 at 11:38 PM, Benjamin Müller<br>
        <<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.de</a> <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>><br></div></div>
        <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a><div><div class="h5"><br>
        <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>>>> wrote:<br>
<br>
             Hi Vincent,<br>
<br>
             I would recommend using JSCIPOpt, which is our SCIP-Java<br>
        interface<br>
             that can be found here:<br>
<br>
        <a href="https://github.com/SCIP-Interfaces/JSCIPOpt" rel="noreferrer" target="_blank">https://github.com/SCIP-Interf<wbr>aces/JSCIPOpt</a><br>
        <<a href="https://github.com/SCIP-Interfaces/JSCIPOpt" rel="noreferrer" target="_blank">https://github.com/SCIP-Inter<wbr>faces/JSCIPOpt</a>><br>
             <<a href="https://github.com/SCIP-Interfaces/JSCIPOpt" rel="noreferrer" target="_blank">https://github.com/SCIP-Inter<wbr>faces/JSCIPOpt</a><br>
        <<a href="https://github.com/SCIP-Interfaces/JSCIPOpt" rel="noreferrer" target="_blank">https://github.com/SCIP-Inter<wbr>faces/JSCIPOpt</a>>><br>
<br>
             All relevant steps for building the interface are listed in the<br>
             INSTALL.md, but basically, you will need to download the<br>
        latest SCIP<br>
             Optimization Suite and compile it with Ipopt. You might<br>
        want to have<br>
             a look at the JSCIPOpt/examples/Quadratic, which shows how<br>
        to model<br>
             a problem with simple quadratic constraints.<br>
<br>
             Please note that SCIP can't handle a nonlinear objective<br>
        function.<br>
             For this reason, you need to add an auxiliary variable z<br>
        and then<br>
             model your problem as<br>
<br>
                  min z<br>
                  z >= sum_{ij} X_{ij} Y_{ij}<br>
                  ...<br>
<br>
             Best,<br>
             Benny<br>
<br>
             On 02/13/2018 07:05 PM, Vincent Mirian wrote:<br>
<br>
                 HI all.<br>
<br>
                 I am new to the SCIP community.<br>
<br>
                 I am looking for a non-linear solver to solve:<br>
                 - an objective function similar to 0 <= sum over i and<br>
        j of X_ij<br>
                 * Y_ij * Constant < max<br>
                 - with constraints similar tosum(X_ij) = 1 and<br>
        sum(Y_ij) = 1<br>
                 (forcing the values of X_ij and Y_ij to zero or one). A<br>
        solution<br>
                 would be sufficient (it can be local or global optimal).<br>
<br>
                 I would need to interface the solver with Java. I found<br>
        Google<br>
                 Optimization Tools (OR-Tools) to interface SCIP with<br>
        java. Note<br>
                 that this work is for academic research.<br>
<br>
                 - Would SCIP or Ipopt be suitable for my task? Would<br>
        anyone have<br>
                 experience integrating SCIP or Ipopt into Java?<br>
                 - I'm using a machine with ubuntu 64-bit. Are there any<br>
        issues<br>
                 with installing these tools in this machine environment?<br>
                 - What is the manner to describe the constraints and<br>
        objective<br>
                 function using these tools?<br>
<br>
                 Thank you.<br>
                 --         Vincent Mirian<br>
<br>
<br>
                 ______________________________<wbr>_________________<br>
                 Scip mailing list<br></div></div>
        <a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a> <mailto:<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>> <mailto:<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><span class=""><br>
        <mailto:<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>>><br>
        <a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailma<wbr>n/listinfo/scip</a><br>
        <<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailm<wbr>an/listinfo/scip</a>><br>
                 <<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailm<wbr>an/listinfo/scip</a><br>
        <<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailm<wbr>an/listinfo/scip</a>>><br>
<br>
<br>
             --     _____________________________<wbr>_<br>
             Benjamin Müller<br>
             Zuse Institute Berlin<br>
             Takustr. 7, 14195 Berlin<br>
        <a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.de</a> <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>><br></span>
        <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a> <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>>><span class=""><br>
        <a href="tel:%2B49%2030%20841%2085-195" value="+493084185195" target="_blank">+49 30 841 85-195</a> <tel:%2B49%2030%20841%2085-195<wbr>><br>
        <tel:%2B49%2030%20841%2085-195<wbr>><br>
<br>
<br>
<br>
<br>
        --         Vincent Mirian<br>
<br>
<br>
    --     _____________________________<wbr>_<br>
    Benjamin Müller<br>
    Zuse Institute Berlin<br>
    Takustr. 7, 14195 Berlin<br>
    <a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.de</a> <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a>><br>
    <a href="tel:%2B49%2030%20841%2085-195" value="+493084185195" target="_blank">+49 30 841 85-195</a> <tel:%2B49%2030%20841%2085-195<wbr>><br>
<br>
<br>
<br>
<br>
-- <br>
Vincent Mirian<br>
<br>
<br></span><span class="">
______________________________<wbr>_________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
</span><a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailma<wbr>n/listinfo/scip</a><br>
<br>
</blockquote>
<br>
-- <br>
Ambros Gleixner, Research Group Mathematical Optimization Methods at Zuse Institute Berlin, <a href="http://www.zib.de/gleixner" rel="noreferrer" target="_blank">http://www.zib.de/gleixner</a><span class=""><br>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
</span><a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailma<wbr>n/listinfo/scip</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div>Vincent Mirian</div></div></div></div>
</div>