0

I have a question related to OptaPlanner's Strongest Fit alogirthm. In the documentation one can find Strongest Fit algorithm description, that is:

Like First Fit, but uses the strong planning values first, because the strong planning values are more likely to have a lower soft cost to use. So it sorts the planning values on decreasing strength.

I wonder what does "more likely to have a lower soft cost to use" exactly mean. I'm trying to understand all the construction heuristics on example of employee rostering and I don't understand what the soft cost to use is. I do also wonder how exactly does the Strongest Fit Decreasing algorithm works, which is described as a combination of First Fit Decreasing and Strongest Fit.

gadzix90
  • 744
  • 2
  • 13
  • 28

1 Answers1

0

For example in Cloud Balancing, computers are stronger if they have more CPU/RAM/network. With Strongest Fit, we're going to try to use the biggest computers first. With Weakest Fit, we're going to try to use the smallest computers first.

The "Decreasing" suffix applies to the processes: processes are more difficult if they need more CPU/RAM/network. Any type of Fit Decreasing will assign the biggest processes first.

Geoffrey De Smet
  • 26,223
  • 11
  • 73
  • 120
  • That's something I do understand, but I still wonder what the `"lower soft cost to use"` is? – gadzix90 Dec 08 '15 at 14:09
  • In the employee rostering, the planning value is an employee. So I wonder how the stronger employee has a `lower cost to use`? – gadzix90 Dec 08 '15 at 14:17
  • It depends on the domain. In employee rostering, you can say that a weaker employee (= less rare skills) is better to use (=> Weakest Fit) as it frees up the rare skilled employees. But you might also find out that a stronger employee does the same task faster, so using stronger employees gives you a lower makespan. It all depends on the domain and what you decide as being weak or strong. – Geoffrey De Smet Dec 10 '15 at 08:59
  • In my experience, the difference between Fit and Fit Decreasing is big (4% for cloud balancing for example) in almost every use case, but the difference between First Fit and Weakest Fit and Strongest Fit often doesn't matter, except for a few use cases where it does make a good difference. – Geoffrey De Smet Dec 10 '15 at 09:01