Comment by BossingAround

5 months ago

Honestly, I'm still not sure how I feel about Red Hat/IBM's journey. On one hand, RH killed (i.e. "gave to IBM to rot away") a lot of products I liked (recently, the whole JBoss stack they had, see [1] for more details).

On the other hand, a lot of the products that RH gave to IBM were really painful to use. Let me preface this by saying that I mean no disrespect to Geoffrey and his amazing work! And, also, I suspected I was too dumb to understand OptaPlanner in particular.

But OptaPlanner was definitely amazingly painful to use. The docs seemed horrible to me at the time, and the UX of the product was on the level of "the source code is there, to solve your problem, just understand the code base..." To model your problems meant that ideally, you'd pay for Red Hat's consulting, which would give you indirect access to the dev team, which would help you put your problem model into OptaPlanner.

A lot of the JBoss products I really liked were like that. Now, they'll die by slow death over at IBM with nobody giving a damn. I guess such is life.

I wish Geoffrey all the best with Timefold! I truly hope you'll turn it into whatever you desire, and that you'll always have more customers knocking at your door than you can handle!

[1] https://www.redhat.com/en/blog/evolving-our-middleware-strat...

Our goal is to make planning optimization easy. But planning optimization can be extremely complex. So it took us quite some time to make it easy. Timefold Solver is already a lot easier than OptaPlanner to use. And the Timefold REST APIs are even easier: if you have a vehicle routing or shift scheduling case on your hands, just send in your data and get the solution. But not all cases are easy...

What kind of use case where you trying to solve with OptaPlanner? In the past, I've seen a strong correlation between the ease of solving the problem and the availability of of a quickstart example.

For example, our tech is even used for court scheduling (in different countries), but every single one of those cases was difficult. Other cases are far more simple.

It all depends on the planning problem.

Do you remember any particular pain in your OptaPlanner experience that we can improve going forward? Around which year was this?

  • Not OP, but in the past we experimented with OptaPlanner for manufacturing scheduling. I think the closest available example was project job scheduling, but we struggled to make it work with finer granularity time placement, it seemed to uselessy move jobs back and forth (IIRC because finishing one stage earlier didn't necessarily improve entire job time, but you didn't want it as constraint because sometimes it is useful to have gaps).

    • The Project Job Scheduling example was terrible. We deleted it, and replaced it with the much cleaner Food Packaging quickstart.

      Out of all our quickstarts, Project Job Scheduling is - by far - the one I am least proud of. It was overfitted for a particular problem and - in hindsight - it didn't align well to real-world variants of Job Shop Scheduling that many people face. But before Food Packaging, it was all we had.

      Sorry for the pain. Thanks for sharing these insights.