[SCIP] Does SCIP use Ipopt as NLP local solver?

Stefan Vigerske svigerske at gams.com
Sat Apr 10 20:54:18 CEST 2021


Hi,

On 4/10/21 3:00 PM, Angel Manuel Gonzalez Rueda wrote:
> Thank you very much for the quick response Stefan.
> 
> So if we want to ensure to build scip with Ipopt, we must specify the flag
> IPOPT=TRUE in the installation. But, the source code of the SCIPOptSuite

It is IPOPT=true.
https://www.scipopt.org/doc/html/MAKE.php
https://www.scipopt.org/doc/html/CMAKE.php

> that we can download from the web:
> [image: image.png]
> Does also include the source code of Ipopt so it is immediately to do the
> installation with it? Or does we need to install previously Ipopt from
> other source?

The SCIP source doesn't include the Ipopt source. You need to install 
Ipopt first: https://coin-or.github.io/Ipopt/INSTALL.html

Stefan

> 
> Thank you very much,
> Ángel
> 
> 
> El sáb, 10 abr 2021 a las 11:11, Stefan Vigerske (<svigerske at gams.com>)
> escribió:
> 
>> Hi,
>>
>> it depends on your build of SCIP whether you have included any or
>> several NLP solvers. SCIP mentions early in the log which external codes
>> it is linked with, so Ipopt would show up there if you have build SCIP
>> with Ipopt.
>>   From the 3 choices, Ipopt has highest priority, so you won't have to
>> set nlp/solver.
>>
>> SCIP solves LP relaxations and runs primal heuristics. There are plenty
>> of the latter that look for feasible solutions to the MIP relaxation (LP
>> relaxation + integrality requirements). If such a solution is also
>> feasible for the nonlinear constraints, then the upper bound is updated.
>> The better the LP relaxation, the higher the chance that this happens.
>> Having a NLP solver enables additional primal heuristics that explicitly
>> take the nonlinear constraints into account, so the strength of the LP
>> relaxation is less crucial for the upper bound.
>>
>> Stefan
>>
>> On 4/10/21 9:02 AM, Angel Manuel Gonzalez Rueda wrote:
>>> Dear SCIP developers,
>>>
>>> I want to solve a Non-Linear Programming Problem with SCIP and I would
>> like
>>> to know what is the default Non-Linear Local solver that SCIP calls at
>> each
>>> step in order to obtain upper bounds during the branch and bound
>> procedure.
>>>
>>> We have installed the SCIP Optimization Suite version 7.0.2 using the
>>> source code for LINUX. It seems that by default the Ipopt solver is
>>> installed (I am not sure about this), so I suppose that this is the one
>>> that SCIP used by default.
>>>
>>> However, I have reviewed the list of all scip parameters, and I have
>> found
>>> the following parameter:
>>> # solver to use for solving NLPs; leave empty to select NLPI with highest
>>> priority
>>> # [type: string, advanced: FALSE, default: ""]
>>> nlp/solver = ""
>>>
>>> Thus, I do not have clear if it is mandatory to specify in this parameter
>>> "Ipopt". Furthermore, in case Ipopt is not installed (even any NLPs
>>> solver), how does SCIP to obtain upper bounds?
>>>
>>> Thank you in advance,
>>> Ángel M. González Rueda
>>>
>>>
>>> _______________________________________________
>>> Scip mailing list
>>> Scip at zib.de
>>> https://listserv.zib.de/mailman/listinfo/scip
>>>
>>
>>
> 



More information about the Scip mailing list