Fastest open-licensed solver for integer problems

I’m trying to compare solve times for a large mixed-integer linear problem on 1) Gurobi, 2) a fast open-licensed solver. I’m currently using Cbc.jl, but I’d like to know if there is another alternative that is significantly faster. What has your personal experience been in applying open-licensed solves to MILPs?

(It’d be a bonus if the installation process was not too involved!)

I’d be happy to hear about alternatives but I’ve only found Cbc.jl and GLPK.jl, with Cbc vastly outperforming GLPK on my problems. Those problems have only binary variables, usually with 10k-100k variables and 3k-30k constraints.

SCIP is quite good for MIP. The license is halfway between a typical free and commercial options.

Gunnar, I’m just curious — if you only use binary variables, why don’t you use a SAT solver instead?

How does the license for SCIP differ from that for Gurobi? It looks like both are commercial products that have a free academic license.

For SCIP the source is available and there is no license server. It’s basically an honors system not to use it for commercial purposes. I have never purchased SCIP but I would guess it is cheaper than other commercial offerings.

2 Likes

Possibly ignorance. If a SAT solver lets me maximize the sum of my binary variables subject to linear constraints with integer coefficients, I’d be happy to give it a try. But losing upper bounds from LP relaxation would be a big drawback.

You may find this method interesting, The IntSat Method for Integer Linear Programming | SpringerLink

3 Likes

Definitely interesting but too far from my areas of knowledge to have any reasonable chance of applying the theory. If someone who masters SAT solving could adapt the code in GitHub - GunnarFarneback/LongestPaths.jl: Julia package for finding the longest simple path in a graph. to call a SAT solver instead of Cbc to solve the linear program with binary variables, then I’d be even more interested. :slight_smile: