  A Bayesian optimization algorithm for the nurse scheduling problem is
presented, which involves choosing a suitable scheduling rule from a set for
each nurses assignment. Unlike our previous work that used Gas to implement
implicit learning, the learning in the proposed algorithm is explicit, ie.
Eventually, we will be able to identify and mix building blocks directly. The
Bayesian optimization algorithm is applied to implement such explicit learning
by building a Bayesian network of the joint distribution of solutions. The
conditional probability of each variable in the network is computed according
to an initial set of promising solutions. Subsequently, each new instance for
each variable is generated, ie in our case, a new rule string has been
obtained. Another set of rule strings will be generated in this way, some of
which will replace previous strings based on fitness selection. If stopping
conditions are not met, the conditional probabilities for all nodes in the
Bayesian network are updated again using the current set of promising rule
strings. Computational results from 52 real data instances demonstrate the
success of this approach. It is also suggested that the learning mechanism in
the proposed approach might be suitable for other scheduling problems.
