# SCIP solver presolve

**URL:** https://discourse.julialang.org/t/scip-solver-presolve/63946
**Category:** Optimization (Mathematical)
**Tags:** jump, optimization
**Created:** [July 2, 2021, 3:01pm UTC](https://discourse.julialang.org/t/scip-solver-presolve/63946 "2021-07-02T15:01:55Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![mjanun](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@mjanun](https://discourse.julialang.org/u/mjanun)
#### Post date: [July 2, 2021, 3:01pm UTC](https://discourse.julialang.org/t/scip-solver-presolve/63946/1 "2021-07-02T15:01:56Z")

</div>

SCIP presolve incorrectly returns some MILP and MINLP problems as infeasible or it gets stuck on presolving. I am trying to turn off presolve, but I am not sure which parameter to use. I have tried `concurrent_presolvebefore` and ` lp_presolving`, but it still presolves the problem. Does anyone know how to turn off the presolve?

---

<div class="post-metadata">

### Author: ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)
#### Post date: [July 2, 2021, 10:16pm UTC](https://discourse.julialang.org/t/scip-solver-presolve/63946/2 "2021-07-02T22:16:12Z")

</div>

You could try:

```Julia
set_optimizer_attribute(model, "presolving/maxrounds", 0)

```

See

- [GitHub - scipopt/SCIP.jl: Julia interface to SCIP solver](https://github.com/scipopt/SCIP.jl#setting-parameters)
- [SCIP Doxygen Documentation: List of all SCIP parameters](https://www.scipopt.org/doc-6.0.1/html/PARAMETERS.php)

However:

> SCIP presolve incorrectly returns some MILP and MINLP problems as infeasible

Do you have a reproducible example? This is a correctness bug in SCIP that should be reported and fixed. How do you know it is incorrect?

For the MILP, you can write an MPS file using `JuMP.write_to_file(model, "bug.mps")`. (The next version of JuMP will have an NL writer, but it isn’t released yet.)

cc @mbesancon

---

<div class="post-metadata">

### Author: ![mjanun](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@mjanun](https://discourse.julialang.org/u/mjanun)
#### Post date: [July 3, 2021, 11:34pm UTC](https://discourse.julialang.org/t/scip-solver-presolve/63946/3 "2021-07-03T23:34:25Z")

</div>

Thanks. This resolves the issue for MILP.

> [@odow](#):
>
> How do you know it is incorrect?

Other solvers are able to provide a feasible solution. After turning off presolve using `presolve/maxrounds` parameter, it provides a feasible solution. However, on a pure NLP on which it was getting stuck on presolve, it struggles to find a solution even after hours when I turn-off presolve. IPOPT was able to solve that problem in few seconds.

> [@odow](#):
>
> Do you have a reproducible example?

Unfortunately, issue arises on data which I can’t share and running the same model with dummy data does not reproduces that error.

It looks like similar issues have been reported in the past as in the stackoverflow post and on SCIP mailing list:  
[integer programming - SCIP infeasibility detection with a MINLP - Stack Overflow](https://stackoverflow.com/questions/24702747/scip-infeasibility-detection-with-a-minlp)  
[[Scip] SCIP doesn’t start the solution process after presolving (zib.de)](http://listserv.zib.de/pipermail/scip/2010-August/000504.html)
