62
votes
Accepted
What are the advantages of commercial solvers like Gurobi or Xpress over open source solvers like COIN-OR or CVXPY?
Disclaimer: I am currently working for a commercial solver company (Gurobi) and have worked before on another commercial solver (IBM CPLEX). Hence, my opinion may be biased, but still I am trying to ...
40
votes
How to select a Constraint Programming Solver
@Rob wrote a great and extensive answer, but I would like to add two systems.
MiniZinc is a high level CP system that is great for learning CP, prototyping problems as well as testing different ...
30
votes
How to select a Constraint Programming Solver
... Do you have a set constraint programming solver that you always use, no matter which global constraint you actually need (implementing the needed global constraint yourself if needed)?
Find one ...
28
votes
Feeding known lower bounds to solvers
Interesting topic (the question was raised several times by my students as well).
My short answer is that adding the lower bound through a cut seems a good idea at first glance, but it creates a ...
27
votes
What instances can be solved today by modern solvers (pure LP)?
For sure Julian Hall meant sparse problems.
It is possible to solve huge sparse LP problems. If they have sufficiently nice structure your can solve problems with up 231 constraints or variables.
...
23
votes
What are the advantages of commercial solvers like Gurobi or Xpress over open source solvers like COIN-OR or CVXPY?
No, the situation isn´t the same for OR libraries. There are several reasons for this, among them being
Performance: The difference is relevant, with an emphasis on Mixed Integer Programming (linear ...
23
votes
Accepted
How Close Is Linear Programming Class to What Solvers Actually Implement for Pivot Algorithms
There was an excellent lecture by Bob Bixby in 2015 at the Zuse Institute Berlin (ZIB) as part of Combinatorial Optimization at Work 2015. Bixby founded CPLEX and Gurobi, 2 of the 3 leading commercial ...
22
votes
What are the advantages of commercial solvers like Gurobi or Xpress over open source solvers like COIN-OR or CVXPY?
I think the short answer is: speed.
Most optimization problems solved in the OR world are computationally intractable, they cannot be solved in reasonable time as the size of the data increases. A ...
20
votes
Simplex-Implementations in professional Solvers
There is a series of three lectures of Robert Bixby (the Bi in Gurobi) on Solving Linear Programs: The Dual Simplex Algorithm. Have a look at the third part Implementing the algorithm where he talks ...
20
votes
When to use indicator constraints versus big-M approaches in solving (mixed-)integer programs
Here is the advice in the IBM CPLEX documentation. So this pertains to CPLEX. I don't know to what extent it applies to other solvers.
First of all, indicator constraints may not be available in all ...
20
votes
Accepted
Where can I find open source LP solvers?
OpenSolver is an LP/IP/NLP solver that plugs into Microsoft Excel. I used it for some classroom stuff a while back and was quite pleased with it.
If you are interested in metaheuristics, there are ...
20
votes
Accepted
"Best practices" for formulating MIPs
This is an extremely interesting question. I agree with @Richard that you have to try it out. I have seen that tiny changes to a model can make huge differences, but in my experience, more general ...
20
votes
How to evaluate the performance of open source solver?
The pitfall is to only focus on performance, will ignoring scalability, maintenance, integration and reliability. Some of these are easier to measure than others:
Performance: if I give 2 constraint ...
19
votes
Stochastic programming MIP solvers
If you have access to MATLAB, I can recommend Marietta (I am a developer of this toolbox), with which you can solve general risk-averse optimal control problems (a ...
19
votes
Where can I find open source LP solvers?
Mittelmann benchmarks a number of (LP-)Solvers, some of which are open source. A recent new open source solver is HiGHS.
19
votes
What instances can be solved today by modern solvers (pure LP)?
Hans Mittelmann maintains a well-respected website with benchmarks for optimization software.
For LP problems, both simplex and barrier methods are compared. The first instance on the barrier page is ...
18
votes
Accepted
Difference between lazy callbacks and using lazy constraints directly
Lazy constraints will only be checked when an MIP solution satisfying all other constraints, including integrality, is found.
If you provide all your lazy constraints in advance to CPLEX, for ...
18
votes
Accepted
Simplex-Implementations in professional Solvers
First of all, usually implementations are centered around the revised dual simplex, not the primal (even though solvers will still use a primal simplex method implementation for some tasks in the ...
18
votes
"Best practices" for formulating MIPs
I’m assuming that we want our models to be solved as quickly as possible. If that is the case, then the honest answer is: you need to try the models out and see.
To give you a concrete example (see ...
17
votes
Accepted
When to use indicator constraints versus big-M approaches in solving (mixed-)integer programs
For Gurobi there seems to be a dual advantage of using general constraints (http://www.gurobi.com/documentation/8.1/refman/constraints.html#subsubsection:GeneralConstraints):
Benefit number one - ...
17
votes
What instances can be solved today by modern solvers (pure LP)?
A couple years ago, I solved an integer program with more than 11,000,000 variables as part of a Kaggle competition. To solve the IP, the MIP solver first solved the LP relaxation, which took about 45 ...
17
votes
Is there a Linear Programming Library that natively supports fractions instead of floating point arithmetic?
QSopt-Exact by Applegate, Cook, Dash, and Espinoza
16
votes
Where can I find open source LP solvers?
I compiled a list of solvers I could find last year. Several are COIN-OR-affiliated, but others include Mini-CP, DSP, BiqBin, OSQP, ECOS, and Dakota. (Edit - not all are dedicated LP, see comments ...
16
votes
How to evaluate the performance of open source solver?
For the evaluation of several solvers you need
several solvers
a testset of instances
a performance measure
Several solvers you probably already have in mind. The testset of instances is a bit ...
16
votes
How to progress with CPLEX/Gurobi
You may be interest in the blog by @prubin, which has many interesting CPLEX posts: OR in an OB World.
I think the best way to become better at using solvers, is by actually using them in your own ...
16
votes
What do solvers like Gurobi and CPLEX do when they run into hard instances of MIP?
The term "local optimum" is a little misleading here. Assuming your MIP is linear (or at least convex), every local minimum is also a global minimum, so there is no such thing as "getting stuck in a ...
15
votes
Presolve is cutting down a lot of binary variables. Should I rethink my formulation?
First of all, the log output of a solver should not change your mind about the formulation you use. Most of the times, one can not imagine how such geometric spaces look like and it is hard to guess ...
15
votes
Accepted
Sum of Max terms maximization
If your problem is reasonably small then one relatively simple approach is to reformulate the objective as a MIP, under a big-M assumption.
Suppose that our objective is to maximize $$\sum_i g_i(x),$$...
15
votes
Which GPUs to get for Mathematical Optimization (if any)?
I've not seen any efficient use from GPU's for metaheuristics - only experiments that proved their inefficiency for these algorithms. So not the right tool for the job, apparently. Maybe there's a ...
14
votes
Accepted
Solver rounding precision vs programming language rounding precision
Numerical stability (computations going sideways) and numerical tolerances are related but not identical. Floating point arithmetic being subject to rounding and truncation errors (unavoidably), every ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
solver × 203mixed-integer-programming × 47
optimization × 43
linear-programming × 34
cplex × 33
python × 27
gurobi × 21
pyomo × 18
modeling × 16
integer-programming × 16
nonlinear-programming × 16
excel × 11
constraint-programming × 10
convex-optimization × 10
reference-request × 8
software × 8
constraint × 7
binary-variable × 6
quadratic-programming × 6
api × 6
linearization × 5
or-tools × 5
nonconvex-programming × 5
heuristics × 5
simplex × 5