there are two milp problems. When I use gurobi optimizer they are calculated quite quickly: 263s for matrix 1 and 139s for matrix 2. If I use scip optimizer with parallel extension fiberscip the solution cannot be found. If we take into account that both matrices are equal in variables and constraints, one scip presolving matrix on the presolve is 9 s and the second is 933 s. It was found that most of the presolver time is occupied by the components presolver. How does the components presolver heuristics works and how can I speed it up? How can I speed up SCIP optimizer for this problem?

files here: https://www.dropbox.com/scl/fo/qnw9bvit52h0wykd29ezq/h?rlkey=pccho59csdvni0m4onpd3tkj1&dl=0

Hi @mrFox, welcome to the forum.

In general, MILPs can be very difficult to solve, and different solvers will perform differently.

On some benchmarks, SCIP is roughly an order of magnitude slower than Gurobi: https://plato.asu.edu/ftp/milp.html (But is is on average across that particular benchmark set. It might be different for your model.)

You can find a list of the SCIP options here:

https://www.scipopt.org/doc/html/PARAMETERS.php

I haven’t tried running your model so you will need to experiment, but searching the options for `components presolver`

suggests that this option might disable that particular part:

```
set_attribute(model, "constraints/components/maxprerounds", 0)
```

@mbesancon might have other suggestions.

2 Likes