Live data from Hacker News

Planner programming blows my mind

hillelwayne.com

51–60 of 75 posts

Re: Planner programming blows my mind

#51

Earlier quoted context omitted.

If feasibility is your goal then cp/sat solvers/heuristics should be your tool of choice. I you have optimality requirements (aka from the feasible solutions find the absolutely best) then optimization is the way to go

I think that you've misunderstood what I said. For large instances of this specific problem (and when the time limit is too short to allow either CP-SAT or CPLEX to prove optimality) the best integer feasible solution found by CP-SAT is generally of better quality (w.r.t. the objective value) than the best integer feasible solution found by CPLEX. Furthermore, in some cases, CP-SAT can offer a certificate of optimali…

Well these are generic solvers, meaning that they are tuned to perform on a variety of problems well, so you can easily find cases where you get unexpectedly low performance.

My advice is if you are on the clock, just use whatever works best out of the box.

Now if you plan to solve this problem thousands of times daily, then I would invest in writing custom callbacks in CPLEX to inject feasible solutions during the search since its heuristics are suffering in your problem case.

Re: Planner programming blows my mind

#52

Earlier quoted context omitted.

If feasibility is your goal then cp/sat solvers/heuristics should be your tool of choice. I you have optimality requirements (aka from the feasible solutions find the absolutely best) then optimization is the way to go

can't you just use the strong duality theorem to reframe an integral optimization problem as a system of integer inequalities? I thought you usually don't do that because the satisfaction problem is harder in practice.

No unfortunately strong duality does not hold for integer problems.

But your intuition is right, this is roughly how IP optimizers work. They relax the problem to a continuous one (aka convert the {0,1} to [0,1]), solve this super easy linear problem and try to find integral solutions close this linear optimum. If not, start branching on the integers and solve smaller and smaller linear problems until you prove optimality.

Re: Planner programming blows my mind

#53
post #35

Earlier quoted context omitted.

Are the commercial offerings you mentioned better than TimeFold? [0] (formerly known as OptaPlanner before the main developers forked it) TimeFold's heuristics-based approach makes fast solutions to even highly-complex scenarios within the reach of anyone who can write Java or Python expressions that evaluate to true when constraints are satisfied. [0] https://timefold.ai/

I just hate it when you go to the pricing page and theres NO PRICING. None.

Just fork the community edition and add your own implementation of "nearby selection" and "multithreaded solving"... in effect, you get the enterprise edition for free, you just have to pay your own developers. Believe it or not, there are software companies that would go this route. I worked for one... as a developer, my time was far less important than the penny pinching and the heavy bureaucracy required for procurement.

It would cost less to pay Timefold whatever price they quote.

Re: Planner programming blows my mind

#54
post #31

Really hating the trend of putting half of the document behind series of “click here to unhide the content” dropdowns.

Funny, I actually appreciated that. I only wanted broad strokes and didn’t want to dig into detail, so having the explanation hidden made it easier for me to read.

Re: Planner programming blows my mind

#56

Earlier quoted context omitted.

I think that you've misunderstood what I said. For large instances of this specific problem (and when the time limit is too short to allow either CP-SAT or CPLEX to prove optimality) the best integer feasible solution found by CP-SAT is generally of better quality (w.r.t. the objective value) than the best integer feasible solution found by CPLEX. Furthermore, in some cases, CP-SAT can offer a certificate of optimali…

Hmmm...for this problem, have you tried Hexaly? Just curious.

Yes, highly recommended. There is abit of a gap in modeling approaches to classic MILP but the team are very proactive to make it work.

Also very permissive license with unlimited deployment and cores!

Re: Planner programming blows my mind

#57
post #33

Earlier quoted context omitted.

Are the commercial offerings you mentioned better than TimeFold? [0] (formerly known as OptaPlanner before the main developers forked it) TimeFold's heuristics-based approach makes fast solutions to even highly-complex scenarios within the reach of anyone who can write Java or Python expressions that evaluate to true when constraints are satisfied. [0] https://timefold.ai/

I found Optaplanner to be nice, but supremely unergonomic to use. I could replicate their example problems and not much else. > All OptaPlanner features are part of Community Edition, except for Multithreaded Solving Of course, because why not. If you can take features away from an existing thing to make more money.

Could you elaborate on how OptaPlanner/Timefold wasn't ergonomic?

I 'd love to understand this better, so we can improve it in Timefold Community. To help deal with new problems, we're creating out-of-the-box quickstarts for common use cases: https://github.com/TimefoldAI/timefold-quickstarts

As for the Community/Enterprise split - we want to continue the open source project, but we need to eat too :)

Geoffrey (Timefold co-founder / OptaPlanner creator)

Re: Planner programming blows my mind

#58
post #34

Earlier quoted context omitted.

Are the commercial offerings you mentioned better than TimeFold? [0] (formerly known as OptaPlanner before the main developers forked it) TimeFold's heuristics-based approach makes fast solutions to even highly-complex scenarios within the reach of anyone who can write Java or Python expressions that evaluate to true when constraints are satisfied. [0] https://timefold.ai/

Huh, didn't know Optaplanner was forked. Bit sad, you would have thought it was good fit for IBM to all the enterprisey business automation stuff. Does Optaplanner have anyone left working on IBM(/RH) side? Anyways, I wish the best for Timefold team, hopefully they can find success independently. With all the money sloshing around for all sorts of dumb AI projects, I think Timefold definitely deserves a portion too.

There are little to no commits on the optaplanner repo since May 2023, apart from CI/build changes.

Re: Planner programming blows my mind

#59
post #6

Looks Prolog-ish. Interesting, thanks for sharing.

AFAICT Picat is a direct descendant of B-Prolog and shares a lot of idioms (like tabling) with it. https://en.wikipedia.org/wiki/B-Prolog

Yes, the underlying engine of Picat is - a slightly altered- B-Prolog, which is available as the "bp" module, from which one can use many of traditional Prolog constructs, for example `bp.length/2` instead of Picat's `length/1` function. This can help when porting Prolog programs to Picat. In fact, quite a few Prolog programs can be run directly in Picat, perhaps with just some few adjustment.

For some example of the available predicates in the bp module, see my http://hakank.org/picat/v3_utils.pi . Also, see http://hakank.org/picat/#v3 for some examples of ported Prolog programs.

Re: Planner programming blows my mind

#60
post #35

Earlier quoted context omitted.

Are the commercial offerings you mentioned better than TimeFold? [0] (formerly known as OptaPlanner before the main developers forked it) TimeFold's heuristics-based approach makes fast solutions to even highly-complex scenarios within the reach of anyone who can write Java or Python expressions that evaluate to true when constraints are satisfied. [0] https://timefold.ai/

I just hate it when you go to the pricing page and theres NO PRICING. None.

Sorry. We're working on it... we're a startup.

We're still figuring out a good, clear, honest pricing model for Enterprise that works well across company sizes (small - big), industries (healthcare vs telecom vs ...) and usage frequency (strategic vs operational planning).

We're happy to send you our pricing table version 1 (use contact us form on Timefold website), but we need your feedback if it fits your business model, deployment model, usage model, etc to validate our pricing model.

Post reply on HN