Live data from Hacker News

Ask HN: Do you use an optimization solver? Which one? Do you like it?

news.ycombinator.com

141–150 of 158 posts

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#141
post #90

Earlier quoted context omitted.

would you be able to offer some examples and some discussion of how to choose?

https://link.springer.com/book/10.1007/978-1-4419-1665-5

> Handbook of Metaheuristics

There is a third edition, 9 years later: https://link.springer.com/book/10.1007/978-3-319-91086-4

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#142
post #63

At Zoba we use CLP, CBC, NLOpt, and OR-tools. Used to use Gurobi. * CLP/CBC: open source makes deployment and devops easy, which is great. Linear models are nice in that you "know what you're getting." Performance is at times a pain point. * Gurobi: super fast, but the licensing was just impossible. Partly that was due to high cost, but ultimately we could have borne the cost; the inability to do something like have…

I noticed that your comment contains no complaint about Gurobi's performance. For comparable problems, was Gurobi superior in solution convergence speed or the quality of the solution itself? Gurobi, AFAIK, is considered the leading edge of the field, and other tools, especially open-source ones, do not perform as well. I cannot speak specifically for your firm and use cases, but in my experience, if the use cases ar…

Gurobi had excellent speed for us, but we didn't notice a difference between Gurobi and open source tools on final solution quality; all the linear solvers we've tried get to certifiable optimality on our problems, some just faster than others.

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#143
post #42
post #2

I would love to use one or more but the process to convert business logic to solver is painful so I ended up having to write a simulated annealing algo in Rust instead. I tried solver.com, Google OR-Tools, and a few other utilities. It was much easier to build a score-calculator for min/max based on user-tweaked parameters, then, jiggle the data, re-calculate score, and keep doing it until there was significant impro…

> so I ended up having to write a simulated annealing algo I think there are much better algorithms in metaheuristic search than just simulated annealing.

Doesn't have to be the best, just has to be good enough.

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#144

I've used custom made implementation in Java ( proprietary based on the owner thesis ) to optimize train crossings for big mining companies like Vale, BHP and Rio tinto, it was stressful but super fun work! Lot's of money to be made on it too if you guys are interested, but it's super niche and hard to get into. There is a huge resistence from train controllers and other workers. I actually understand it because of t…

That's awesome. A comment on a recent thread about a train IT failure went on a bit of an interesting tangent about ahead-of-time network scheduling in (IIUC) the Netherlands' TURNI system - https://news.ycombinator.com/item?id=30902585 (The whole thread was a bit of a wide-spectrum ramble, as one might expect for a downtime event.) So you're saying you were actually doing JIT routing as opposed to AOT? The linked sy…

So we thankfully didn't have to worry about conductor schedules another system our company built did it and we just worked on the assumption that the cow was spherical, this alone made a world of difference in segmenting whose head was exploding at which time.

All the rest was on us, failures, breakages, crashes (We never had one!!!), blocks were super interesting btw!.

So I got on it by chance, I just did interviews as a sport when I was in my early 30's so at some point I passed on this position, pay was awesome, lot's of travel involved, etc... So I joined and learned it all there, it was a small mom and genious software house that specialized on all types of JIT planning for railroads.

JIT was actually "THE" solution to it, because the controllers could just try it during the day, so let's say they new 18:00 was the worst and there was a huge trains comming in at that time with priority, he would just throw shit at the system to see how to same the most time sometimes, of course he knew how to do it by heart, but was it the "Best way" we could help him answering it super fast.

P.S: I am not ducth but I lived there for a while, I remember thinking about how much of a bad day it would have been if it was me, I knew exactly what the NS people were felling :D

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#146
post #76

You're probably looking for a performance comparison. Look here: http://plato.asu.edu/bench.html This one stays pretty well updated. On the MIP side: * COPT * SCIP * HiGHS seem to be top performers (of the OSS variety). IIRC OR-Tools often by default uses SCIP for its MILP backend.

The latest results show HiGHS to be significantly better than vanilla SCIP. If "OSS" means "Open Source Solvers" then COPT isn't open-source and SCIP isn't open source for commercial purposes. Hence the warning given by OR-Tools. HiGHS is very much the best bet going forward for open-source MIP

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#147

At Zoba we use CLP, CBC, NLOpt, and OR-tools. Used to use Gurobi. * CLP/CBC: open source makes deployment and devops easy, which is great. Linear models are nice in that you "know what you're getting." Performance is at times a pain point. * Gurobi: super fast, but the licensing was just impossible. Partly that was due to high cost, but ultimately we could have borne the cost; the inability to do something like have…

Do consider HiGHS. MIP performance is way ahead of Cbc now. For LP, our simplex solver is comparable with Clp, and our interior point solver is well ahead of any open-source solver.

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#148

I loved the JuMP package in Julia for being able to write models once, then swap in different solvers. Most open-source solvers don't handle parallelization well, and they lack the latest research on techniques like branch-cutting and heuristics that can speed things up significantly. In my experience, Gurobi is still leader for linear and MiP solving. But, it's really expensive and the licensing terms seem anachroni…

HiGHS is now the default open-source LP/MIP solver in JuMP documentation. Performance-wise, for MIP HiGHS is way ahead of Cbc

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#149

For MIP and LP I have used CPLEX, Gurobi and to a lesser extent Cbc. I used those three using JuMP (Julia package for mathematical programming) and Gurobi via pulp and pyomo. Of all three, I think Gurobi has a very accessible documentation, note that I am not saying better or more complete which in that case it would go to CPLEX, and the integration with Python straight out of the box is very useful. Cbc is a lifesav…

For open-source, the HiGHS MIP solver vastly out-performs Cbc now, and is easily called from JuMP

Re: Ask HN: Do you use an optimization solver? Which one? Do you like it?

#150
post #78

CPLEX, XPRESS and Gurobi are the gold standard for solving an MIP of a meaningful scale (relative performance will depend on the specific problem but you cannot go wrong with either of these three). Unfortunately there is a big gap between performance of open source v/s commercial solvers in OR space. Type of problems I need to solve are usually unsolvable on open source solvers (very large scale supply chain problem…

The HiGHS open-source MIP solver is vastly better than Cbc now - and getting better rapidly - although we've got a way to go to be competitive with the best commercial solvers.
Post reply on HN