<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Dear SCIP team,</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I am trying to solve a relatively simple convex MINLP of the shape:</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
min c^t x</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
s.t.:    g_i(x,y) \leq 0      i \in 1..m</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
           Ax + By \leq d</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
           x \in R^n, y \in B^n'                </div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
with all functions g_i convex (cf "Convex MINLP" in <a href="https://www.scipopt.org/doc/html/WHATPROBLEMS.php">
https://www.scipopt.org/doc/html/WHATPROBLEMS.php</a> ).</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I try to solve the MINLP (with variables y in {0,1}, and its convex relaxation (with variables y in [0,1]   ).</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
In the documentation, a parameter "constraints/nonlinear/assumeconvex" is described, which allows assuming that all constraint functions are convex.</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The convex relaxed NLP with y \in [0,1]: </div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":2}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "- ";">
<div class="elementToProof" role="presentation">is easily solved by SCIP when the  "constraints/nonlinear/assumeconvex" parameter equals TRUE</div>
</li><li style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "- ";">
<div class="elementToProof" role="presentation">is not easily solved by SCIP (several minutes for a toy instance with a few variables and constraints) when  "constraints/nonlinear/assumeconvex" equals FALSE ;  from the logs, it seems SCIP can't prove the complexity
 of the constraints and runs a spatial branch-and-bound (several nodes are generated, despite having only continuous variables).</div>
</li></ul>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The MINLP with y \in {0,1}:</div>
<ul data-editing-info="{"applyListStyleFromLevel":false,"unorderedStyleType":2}" style="margin-top: 0px; margin-bottom: 0px;">
<li style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "- ";">
<div class="elementToProof" role="presentation">is not correctly solved when "constraints/nonlinear/assumeconvex" is true: a feasible solution, with values of the binary variable y fixed "randomly", is returned by SCIP.</div>
</li><li style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); list-style-type: "- ";">
<div class="elementToProof" role="presentation">is very slow when "constraints/nonlinear/assumeconvex" is false</div>
</li></ul>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
So it seems the  "constraints/nonlinear/assumeconvex" parameters not only controles the convexity of the constraints in the NLP relaxation, but also the convexity of the variables' domains - which would make it improper to solve an MINLP.</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is this understanding correct and, if so, is there a way to solve a MINLP when all constraints are known to be convex - but the variables domain isn't ? (for instance by stating, for each nonlinear constraint, that it should be considered as convex?)</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Many thanks,</div>
<div class="elementToProof" style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Guilaume</div>
</body>
</html>