Really not trying to be cheeky... but why? Who is the audience here? I can see maybe academics with small grants and want to do the absolute minimum spend on compute... But that is an audience you will have to fight for every cent.
This doesn't solve or provide guidance for the subtle problems in these otherwise opensource solvers... The first example requires the client to manually disambiguate equivalent variables to get a stable solution... Sure that's a pretty common problem everyone working with optimizers should be familiar with but they're also one of the hardest things to track down in a complex derived model.
6r17 8 hours ago [-]
Hei i'd argue the opposite ; the target you named are actually able to formalize this and spend more time on this because they have the mathematical background - it is not the case for many amateur programmer who would now be exposed to such problematic with a tool that can give them somewhat of an insight - being exposed to the tool it-self alone is huge because it allows an operator to experience and learn - this is all of course almost hyperbolic, reality is that most people won't be doing that - but it allows it, and it's cool !
ge0ffrey 11 hours ago [-]
There is an audience for such platforms - Timefold Platform optimizes 1,000,000 visits and 2,000,000 shifts per week - but only if it's more than just orchestration.
If it handles explainabily, what-if scenarios and insights to fulfill business needs.
And that's where supporting many solvers becomes the blocker.
A lowest common denominator design.
Those solvers are a black box. They don't expose what they're running, why they made certain decisions or how they can scale to large datasets or complex business requirements.
We've picked our poison: one solver, which we've built in the open, in the last 20 years, versatile enough to handle any scheduling problem. That delivers.
throwaway832040 11 hours ago [-]
None of these solvers genuinely focuses on the quality of the features that matter in real-world operations.
Many of them, including Timefold, lack a realistic, financially grounded model of the world. They do not adequately account for traffic, driver preferences, or other factors that require a continuous feedback loop between what actually happened in practice and what the optimizer expected to happen.
A vehicle-routing problem without real-world feedback is little more than a gimmick. Even assuming the world could be modelled perfectly, what happens when an unpredictable event disrupts the plan? Is the supposedly “globally optimal” solution robust enough to adapt, or will it create a backlog that forces the business to hire additional workers because the system failed to build in sufficient redundancy?
Using MILP makes the system even less flexible.
ge0ffrey 11 hours ago [-]
I beg to differ.
Timefold is used daily in real-world operations.
Neither our clusters in the US or EU can afford to go down for a minute, or business operations in logistics, retail and healthcare are impacted.
> They do not adequately account for traffic, driver preferences, or other factors that require a continuous feedback
- Traffic: supported
- Driver preferences: the APIs support
-- Area affinity (soft) and geo fencing (hard)
-- Fairness and load balancing of work (soft)
-- Overtime (soft and hard)
-- Seniors not doing boring junior tasks (soft)
- Continuous feedback: the APIs support
-- Real-time rescheduling (warm starts) as actual execution data comes in.
-- Recommend assignment: scheduling in survival mode
-- Pinning: user stays in control through overriding assignments
-- Explainability: why a certain decision was made
-- Insights: what are the bottlenecks in my schedule - what type of employees should I hire or upskill.
ge0ffrey 10 hours ago [-]
That being said:
I fully agree that the solver industry as a whole has focused for far too long on global optima for academic requirements, instead of real-world use for the actual business requirements, and how to deal with business objective changes each quarter.
throwaway832040 9 hours ago [-]
[dead]
DannyBee 15 hours ago [-]
NEOS will let you run this stuff on cplex/gurobi/etc (IE much faster than the backends behind quicopt), for free, is integrated with pyomo/etc, and has like an 8 hour time limit.
Often, the difference on "harder" problems is 10x or more.
I have problems that gurobi solves in 30 seconds that take 15 minutes or more for ~every non-commercial solver (or-tools, HIGHS, ipopt, etc).
But right now, this wouldn't even be interesting to me to use even if they actually were fronting commercial solvers, because they can't actually run it any faster and having this ".solve" API does nothing - pyomo already does that for me in practice.
genxy 11 hours ago [-]
I worked at a place that basically never bought software, and they used gurobi for scheduling. It is apparently best in class for lots of problems.
MILP 6 hours ago [-]
Just curious, what kind of problems are you solving?
DannyBee 32 minutes ago [-]
In this particular case they are power usage and rate optimization problems to do peak shaving/demand shifting with a combination of batteries and optionally, solar. It tells you the max you can save, the amount of battery/solar you should have (including the pareto front because sometimes it's like 2x the battery for $5 more in savings), and how to program the inverters.
For free, mind you, this is not part of a paid offering on my part.
These are easy for the case of non-demand rates (IE the rate just changes at x hour to x price), and can be solved by HIGHS/et al in a second or two. You can actually prove there is at least one optimal solution that only changes inverter programming at a rate change point.
They are actually quite complex when the rate has a demand charge (IE you are charged not just for x price per kwh, but also some amount * max demand usage of any single hour in a month).
The max demand charge is usually 80% of the bill.
The complexity is because recharging the batteries (particularly without solar) is the same as any other load from a demand perspective. So they have to be trickled (or charged from solar), etc. On top of that, lots of inverters have a limited amount of TOU slots you can use (for example, sol-ark inverters only support 6 periods). Which constrains it painfully. Gurobi can solve it in about 30 seconds. HIGHS takes around 15 minutes to solve it for 2 years of hourly history data.
raverbashing 10 hours ago [-]
Gurobi probably has good heuristics and gives you a good enough answer instead of gnawing at a bone like every other MIP solver
akoboldfrying 12 hours ago [-]
> But right now, this wouldn't even be interesting to me to use even if they actually were fronting commercial solvers, because they can't actually run it any faster
So you use NEOS, but another service offering the same thing as NEOS would not be useful?
DannyBee 40 minutes ago [-]
Not if i have to pay for it and use a different API?
Remember, NEOS is both free, and pyomo already supports it natively without me changing anything - i can use both neos and local without any issue.
Why would i move to something with a different API that i have to pay for?
ge0ffrey 12 hours ago [-]
Sounds similar to Timefold Platform: app.timefold.ai
That's our Solver as a Service for scheduling problems (vehicle routing problem, shift scheduling, job scheduling, etc). It runs scheduling problems implemented with our open source solver: solver.timefold.ai
But this post is such a service for formula problems instead (think master capacity planning, portfolio optimization, etc), due to the choice of MILP solvers underneath. Similar to NextMv, Neos, etc.
shoo 18 hours ago [-]
I'm not a potential customer for this, but i have worked on a few commercial projects involving combinatorial optimisation.
Misc thoughts:
- I'm not familiar with the LABS problem, but the LABS benchmark page is interesting & compares against Gurobi. I'd be curious to see how an existing commercial non-mip approximate solver such as Hexaly (formerly LocalSolver) compares here.
- the other two benchmarks aren't very convincing as they don't compare against other methods or show running times
- the front page mentions peer reviewed methodology - consider linking to the publications
- good idea to have case studies of applications. I was a bit confused to see this listed under 'References' but on comparison the Gurobi & Hexaly marketing websites also do this (references -> case studies & references -> customer stories, respectively)
- re the client API, you may want to make the server URL have a default, so your trial users / customers don't have to specify it. It may be easier for you to roll out changes to your server URL in future if you can do it by changing the default server URL in a new version of your client library rather than requiring your customers to update their source code.
All the best!
LPisGood 17 hours ago [-]
Does anyone use Hexaly for any serious work? If so, why? There seem to be many better alternatives out there.
tirutiru 13 hours ago [-]
I'm curious too. And what are the far better alternatives in your opinion?
Hexaly claims to go far beyond MIP. Amazon uses it for packing VMs into servers. This video by one of their research scientists was widely circulated at the time [1].
I work on combinatorial optimization too but a specific problem so we write the heuristics from scratch. Seems exact solvers are doing a lot more these days?
Gurobi is far better for almost every instance I’ve seen. There are also custom heuristics which win in almost every case. Finally, while I have not tried them, there are some apparently high quality options like TimeFold which exist.
luiwammus 13 hours ago [-]
The main reason why companies might prefer Hexaly is their emphasis on quickly finding high Quality feasible primal solutions.
LPisGood 5 hours ago [-]
I get that this is their goal, however they aren’t particularly strong in this area compared to free alternatives, traditional MIP, and custom heuristics.
luiwammus 13 hours ago [-]
Amazon has been quite vocal about using Hexaly.
whatever1 13 hours ago [-]
All vendors just need 1 engineer in a BigCorp to have used their software to claim "Trusted by BigCorpName"
LPisGood 5 hours ago [-]
This is essentially my understanding of the situation. The OR applications are extremely diverse there; they use most wvery solver and technique under the sun for something.
jwally 8 hours ago [-]
For whatever its worth I built this about a decade ago because I am a non academic who can't think in tableaus, but still wanted to solve optimization problems.
I created a json like schema/struct/whatever to describe the problem. Maybe adopt something like this and more people will be able to see how they could use your tool:
This could be interesting, but it badly needs systematic benchmarking results. It is not difficult to get Claude Code or Codex to install and run a solver locally, so the tool’s current value proposition is fairly muddled.
If there were evidence that it offered better performance, I might consider running larger workloads on it.
whatever1 13 hours ago [-]
We do have standard benchmarks in the field. Hans Mittelman maintains a library. No idea why they did not bother to run them.
Their website has just 3 cherry picked instances and claim complete dominance.
ge0ffrey 10 hours ago [-]
We run the Mittelman VRPLib benchmarks at Timefold (and beat other open source solvers like or-tools in 95%+ of the X datasets).
But they are not representive of the real world, at all.
The Mittelman VRPLib benchmarks have only 1-2 constraints. Skills? No need. Working hours? Unlimited. Maps integretion? Cars can fly and the earth is a flat Euclidean space.
Any VRP algorithm optimized for the vrplib datasets is overfitted and not the best one in reality.
Take HGS for instance. Brilliant for CVRPTW. Crumbles to dust in field service routing for telco operations etc.
whatever1 32 minutes ago [-]
That is fair, which is why you should not over-index on academic benchmarks. But a frontier solver should be within a small margin from the competitors in these benchmarks. If you are 10x slower, there is no way you can catch up (at least not without a ton of work from the practitioner side).
quantum_state 18 hours ago [-]
This may be useful for small demos. For large scale MIP with millions of variables, one needs to have the solver at hand to support custom algos with techniques such as column generation, etc. to achieve time to solution and economics of compute resources. A remote API will not fit.
amelius 9 hours ago [-]
What are the open source equivalents, and how far are they behind/ahead?
amelius 9 hours ago [-]
Do you still pay if the solver cannot find a solution?
paddi91 4 days ago [-]
Keep it simple, just one call to solve every model.
uoaei 19 hours ago [-]
*sigh* We really need to teach this new crop the term "no free lunch". Again.
cchianel 18 hours ago [-]
I personally disagree with "no free lunch"; (for the uninitiated, "no free lunch" refer to the fact for any deterministic algorithm, there exist a problem that will force the algorithm to go through the entire solution space to find the optimal solution, with every single other possible algorithm beating it (https://en.wikipedia.org/wiki/No_free_lunch_theorem)). For many planning problems, finding a good enough solution is sufficient, and there are many optimization algorithms that work for a wide variety of problems and provide a good enough solution in reasonable time. Different algorithms are better for different problems (ex: Metaheuristic (ex: Late Acceptance) Solvers beats MIP Solvers on vehicle routing, whereas MIP Solvers beat Metaheuristic Solvers on Employee Scheduling and Bin Packing. But both Metaheuristic and MIP Solvers provider good enough solutions for both vehicle routing and bin packing.
uoaei 18 hours ago [-]
No free lunch theorem has nothing to say about approximate solutions, so I'm really not sure what you're going on about.
OR-tools is almost exclusively linear programming which according to its strict assumptions converges more or less trivially, assuming a correctly composed program.
Which means if you're paying for it "as a service" you all but deserve to lose that money.
> Different algorithms are better for different problems
So... why does your rhetorical style have such oppositional tone if you're just going to reaffirm the no free lunch theorem?
cchianel 16 hours ago [-]
Look at it this way: I am arguing against "No Free Lunch theorem says an optimization algorithm cannot solve all problems because for some problems it performs worse than other algorithms"; I am arguing approximate solutions are good enough, and in practice a wide variety of optimization algorithms find good enough solutions despite being worse than others algorithms for the problem class. Moreover, some algorithms/solvers can be configured, which fundamentally change the direction the solving takes (for example, a custom phase that uses your domain knowledge of the particular problem to get a good enough initial solution to be improved upon) (Side note: I am NOT affiliated with this post/project; from the website I don't really see a value add for it, especially since the site is lacking so many details).
uoaei 11 hours ago [-]
Approximate solutions are good enough, but approximate solutions are not part of the solution space for the kinds of problems covered by OP.
greatony 18 hours ago [-]
looks interesting, how large problem can it solve?
cchianel 18 hours ago [-]
It seems to just be a wrapper over or-tools and other solvers from their landing page, with the difference being it run on their servers versus your hardware. Their website does not mention what hardware is allocated per model (which determine speed of solving) nor any limit on model size.
ge0ffrey 11 hours ago [-]
Our version of a Solver as a Service deals with cases of up to 390'000 shifts in a single dataset for shift scheduling and 30'000 visits for vehicle routing problems.
Some our customers want to go even higher, and we're working on that.
mulmboy 10 hours ago [-]
Very difficult to take seriously when the entire site appears to be AI-written.
Rendered at 18:27:38 GMT+0000 (Coordinated Universal Time) with Vercel.
This doesn't solve or provide guidance for the subtle problems in these otherwise opensource solvers... The first example requires the client to manually disambiguate equivalent variables to get a stable solution... Sure that's a pretty common problem everyone working with optimizers should be familiar with but they're also one of the hardest things to track down in a complex derived model.
If it handles explainabily, what-if scenarios and insights to fulfill business needs.
And that's where supporting many solvers becomes the blocker.
A lowest common denominator design.
Those solvers are a black box. They don't expose what they're running, why they made certain decisions or how they can scale to large datasets or complex business requirements.
We've picked our poison: one solver, which we've built in the open, in the last 20 years, versatile enough to handle any scheduling problem. That delivers.
Many of them, including Timefold, lack a realistic, financially grounded model of the world. They do not adequately account for traffic, driver preferences, or other factors that require a continuous feedback loop between what actually happened in practice and what the optimizer expected to happen.
A vehicle-routing problem without real-world feedback is little more than a gimmick. Even assuming the world could be modelled perfectly, what happens when an unpredictable event disrupts the plan? Is the supposedly “globally optimal” solution robust enough to adapt, or will it create a backlog that forces the business to hire additional workers because the system failed to build in sufficient redundancy?
Using MILP makes the system even less flexible.
Neither our clusters in the US or EU can afford to go down for a minute, or business operations in logistics, retail and healthcare are impacted.
> They do not adequately account for traffic, driver preferences, or other factors that require a continuous feedback
- Traffic: supported
- Driver preferences: the APIs support
-- Area affinity (soft) and geo fencing (hard)
-- Fairness and load balancing of work (soft)
-- Overtime (soft and hard)
-- Seniors not doing boring junior tasks (soft)
- Continuous feedback: the APIs support
-- Real-time rescheduling (warm starts) as actual execution data comes in.
-- Recommend assignment: scheduling in survival mode
-- Pinning: user stays in control through overriding assignments
-- Explainability: why a certain decision was made
-- Insights: what are the bottlenecks in my schedule - what type of employees should I hire or upskill.
Often, the difference on "harder" problems is 10x or more.
I have problems that gurobi solves in 30 seconds that take 15 minutes or more for ~every non-commercial solver (or-tools, HIGHS, ipopt, etc).
But right now, this wouldn't even be interesting to me to use even if they actually were fronting commercial solvers, because they can't actually run it any faster and having this ".solve" API does nothing - pyomo already does that for me in practice.
For free, mind you, this is not part of a paid offering on my part.
These are easy for the case of non-demand rates (IE the rate just changes at x hour to x price), and can be solved by HIGHS/et al in a second or two. You can actually prove there is at least one optimal solution that only changes inverter programming at a rate change point.
They are actually quite complex when the rate has a demand charge (IE you are charged not just for x price per kwh, but also some amount * max demand usage of any single hour in a month).
The max demand charge is usually 80% of the bill.
The complexity is because recharging the batteries (particularly without solar) is the same as any other load from a demand perspective. So they have to be trickled (or charged from solar), etc. On top of that, lots of inverters have a limited amount of TOU slots you can use (for example, sol-ark inverters only support 6 periods). Which constrains it painfully. Gurobi can solve it in about 30 seconds. HIGHS takes around 15 minutes to solve it for 2 years of hourly history data.
So you use NEOS, but another service offering the same thing as NEOS would not be useful?
Remember, NEOS is both free, and pyomo already supports it natively without me changing anything - i can use both neos and local without any issue.
Why would i move to something with a different API that i have to pay for?
That's our Solver as a Service for scheduling problems (vehicle routing problem, shift scheduling, job scheduling, etc). It runs scheduling problems implemented with our open source solver: solver.timefold.ai
But this post is such a service for formula problems instead (think master capacity planning, portfolio optimization, etc), due to the choice of MILP solvers underneath. Similar to NextMv, Neos, etc.
Misc thoughts:
- I'm not familiar with the LABS problem, but the LABS benchmark page is interesting & compares against Gurobi. I'd be curious to see how an existing commercial non-mip approximate solver such as Hexaly (formerly LocalSolver) compares here.
- the other two benchmarks aren't very convincing as they don't compare against other methods or show running times
- the front page mentions peer reviewed methodology - consider linking to the publications
- good idea to have case studies of applications. I was a bit confused to see this listed under 'References' but on comparison the Gurobi & Hexaly marketing websites also do this (references -> case studies & references -> customer stories, respectively)
- re the client API, you may want to make the server URL have a default, so your trial users / customers don't have to specify it. It may be easier for you to roll out changes to your server URL in future if you can do it by changing the default server URL in a new version of your client library rather than requiring your customers to update their source code.
All the best!
Hexaly claims to go far beyond MIP. Amazon uses it for packing VMs into servers. This video by one of their research scientists was widely circulated at the time [1].
I work on combinatorial optimization too but a specific problem so we write the heuristics from scratch. Seems exact solvers are doing a lot more these days?
[1] https://www.youtube.com/watch?v=GIh6d3rb0_4
I created a json like schema/struct/whatever to describe the problem. Maybe adopt something like this and more people will be able to see how they could use your tool:
https://github.com/JWally/jsLPSolver/blob/master/API.md
I need to re go through the docs, but you get the gist.
Here is the Berlin Airlift problem for example:
const model = { optimize: "capacity", opType: "max", constraints: { plane: { max: 44 }, person: { max: 512 }, cost: { max: 300000 }, }, variables: { brit: { capacity: 20000, plane: 1, person: 8, cost: 5000 }, yank: { capacity: 30000, plane: 1, person: 16, cost: 9000 }, }, };
If there were evidence that it offered better performance, I might consider running larger workloads on it.
https://plato.asu.edu/guide.html
Their website has just 3 cherry picked instances and claim complete dominance.
But they are not representive of the real world, at all.
The Mittelman VRPLib benchmarks have only 1-2 constraints. Skills? No need. Working hours? Unlimited. Maps integretion? Cars can fly and the earth is a flat Euclidean space.
Any VRP algorithm optimized for the vrplib datasets is overfitted and not the best one in reality.
Take HGS for instance. Brilliant for CVRPTW. Crumbles to dust in field service routing for telco operations etc.
OR-tools is almost exclusively linear programming which according to its strict assumptions converges more or less trivially, assuming a correctly composed program.
Which means if you're paying for it "as a service" you all but deserve to lose that money.
> Different algorithms are better for different problems
So... why does your rhetorical style have such oppositional tone if you're just going to reaffirm the no free lunch theorem?
Some our customers want to go even higher, and we're working on that.