<div dir="ltr"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Thank you for your responses Stefan and Ambros.</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">I changed the script to:</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><div>read SCIPConstraint.lp display problem</div><div>set constraints quadratic replacebinaryprod 0</div><div>set presolving inttobinary maxrounds 12</div><div>set limits solutions 4</div><div>set limits time 4194</div><div>set limits nodes 4</div><div>optimize</div><div>display solution</div><div>write solution  scriptOutput</div><div>quit</div></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">I would like to constraint the solver further to produce a solution as early as possible. I am looking into the heuristics and presolving. Is there documentation that can guide this process? Or does anyone have any suggestions?</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-style:initial;text-decoration-color:initial">Thank you.</div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 21, 2018 at 2:25 PM, 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"><span class="">>> Also, I would like to know if it is possible to pause SCIP and<br>
>> retrieve its<br>
>> state and, then, continue from the saved state from the<br>
>> interactive/batch(script) mode. If so, how?<br>
><br>
> No.<br>
<br></span>
Well, I would say you can do that to some extent by setting any parameter that limits the effort spent for solving, e.g., limits/nodes, limits/solutions, limits/time, ...<br>
<br>
For continuing after SCIP stopped, simply increase the limit and type optimize again.<br>
<br>
Best,<br>
Ambros<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
Am 21.02.2018 um 11:41 schrieb Stefan Vigerske:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
On 02/21/2018 12:16 AM, Vincent Mirian wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Ambros.<br>
<br>
Thank you for your response. Your explanation was aligned with my<br>
assumption... Thank you for clarifying.<br>
<br>
SCIP searches for an optimal solution. For some MINLP problem, I would like<br>
SCIP to return a solution (the first solution it may find is sufficient). I<br>
was reading that IPOPT is integrated within SCIP, however I was unable to<br>
trigger ipopt for these problem. Any help would be appreciated.<br>
</blockquote>
<br>
There are a few primal heuristics in SCIP that may call out to Ipopt. One that runs rather frequently is the "subNLP" heuristic, but it will not run when there are no continuous variables in the nonlinear part of your problem. Otherwise, you may change its parameters to make it run more often.<br>
However, with the information given, it's hard to say why SCIP didn't call Ipopt.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For reference, I am using SCIP from interactive/batch(script) mode. I<br>
installed SCIP using the binaries posted on the website.<br>
<br>
Also, I would like to know if it is possible to pause SCIP and retrieve its<br>
state and, then, continue from the saved state from the<br>
interactive/batch(script) mode. If so, how?<br>
</blockquote>
<br>
No.<br>
<br>
Stefan<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thank you in advance.<br>
<br>
On Tue, Feb 20, 2018 at 1:49 AM, Ambros Gleixner <<a href="mailto:gleixner@zib.de" target="_blank">gleixner@zib.de</a>> wrote:<br>
<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<br>
tolerances to check feasibility and integrality.  Anything with a<br>
fractionality below 1e-9 (parameter numerics/epsilon) is consider integral,<br>
so also the value 0.999999999999998 that you saw in your solution.  You can<br>
use SCIPisIntegral() to check or SCIPround() to round solution values in<br>
the C API.<br>
<br>
Best,<br>
Ambros<br>
<br>
<br>
Am 20.02.2018 um 03:40 schrieb Vincent Mirian:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Benny.<br>
<br>
Thank you for your response. Currently, I am using the LP format with<br>
SCIP.<br>
<br>
I create a problem (attached). In the problem I defined a<br>
variable AssignC4BLK0 and AssignC10BLK1 as binaries. However, the output<br>
assigns a non-binary to these variables. Is there something that I am doing<br>
incorrectly? Or is this natural behavior from SCIP?<br>
<br>
Regards.<br>
<br>
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><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>
     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<br>
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:                        <wbr>            0<br>
         c#0b#0                        <wbr>                      1 (obj:0)<br>
         c#1b#1                        <wbr>                      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>
         <mailto:<a href="mailto:benjamin.mueller@zib.de" target="_blank">benjamin.mueller@zib.d<wbr>e</a><br>
<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<br>
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>
         <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><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>
              --     ______________________________<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>
         <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>>><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>
     --     ______________________________<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>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<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>
<br>
<br>
</blockquote>
-- <br>
Ambros Gleixner, Research Group Mathematical Optimization Methods at Zuse<br>
Institute Berlin, <a href="http://www.zib.de/gleixner" rel="noreferrer" target="_blank">http://www.zib.de/gleixner</a><br>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<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>
<br>
</blockquote>
<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<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>
<br>
</blockquote>
<br>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<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>
</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><br>
______________________________<wbr>_________________<br>
Scip mailing list<br>
<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>
</div></div></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>