0

Is it possible to manually set/adjust the pessimistic bound for branch and bound?

In my case I know a solution exists with score = 0 (but I don't know the solution itself yet, only the score and that it exists), so I want to use this advance knowledge to prune the search space.

Jens Wagemaker
  • 354
  • 3
  • 13
  • 1
    You can apply some methods to narrow search space and you can affect the speed of convergence to the feasible solution. All approaches are told and compared in Optaplanner's documentation. You should read [Optaplanner Documentation](https://docs.optaplanner.org/latest/optaplanner-docs/html_single) chapter 9, 10, 11, 12 an 13. – Ismail Durmaz Jan 04 '21 at 18:43

1 Answers1

0

You can set the pessimistic bound for branch and bound if you know the solution (= variable state) too, not just the actual bound score. (*)

Do this by calling solve(problem) with the problem already initialized to that solution state. (*)

(*) This should work and if it doesn't it's an issue and we need to fix it. Branch and bound is very rarely used, so an issue there could have survived.

Geoffrey De Smet
  • 26,223
  • 11
  • 73
  • 120
  • Thanks for the reply. But as I stated in my question, I don't know the solution itself, only it's score. – Jens Wagemaker Jan 07 '21 at 08:54
  • 1
    Hmm, then we current don't support telling that information to OptaPlanner. Interesting. If you're intrested in diving into the code, take a look at `ExhaustiveSearchDecider.processMove()`. Clearly you want that score that you know to be returned by `phaseScope.getBestPessimisticBound()` (until a better one is found). – Geoffrey De Smet Jan 07 '21 at 09:33