0

As far as I can tell, the answer to this is no but I'll ask anyways.

I'm aiming towards providing as much transparency as possible for our "scheduling users". I have domain specific life-cycle events and would like to include the current state of a solver job. Specifically, anything beyond SOLVING_ACTIVE. Knowing if the job is SOLVING_ACTIVE and is in the CH phase or a LS phase provides a little bit of context that can go a long way in my case. Any way to achieve that?

Pezetter
  • 2,783
  • 2
  • 22
  • 40

1 Answers1

1

There isn't a direct way that I can think of, but there are perhaps indirect ways.

Since you already know that the solver is running, you can retrieve the best score. And that best score will only have init score set to anything other than 0 if CH is running.

If for whatever reason you can not retrieve the score directly, you will be able to retrieve the best solution, and that will either have the score, or some uninitialized entities.

And if you can not even access the best solution, that means there isn't one yet, and that is for sure a sign that the solver is very, very early in its run. This last one is probably the only one that is achievable using pure public APIs.

We also provide a whole bunch of metrics that allow you to monitor the runtime of the solver. Current score calculation speeds could be used to show liveness, for example.

Lukáš Petrovický
  • 3,945
  • 1
  • 11
  • 20