All possible loading patterns for a nuclear reactor core are searched and optimized
for compliance with design constraints. The fuel inventory is divided into a few
batches according to coarse levels of reactivity. A recursive enumeration process
identifies patterns meeting selected core position constraints, which can be user
modified to adjust the search space size. For the batch loading patterns satisfying
the constraints, the batches are divided into several smaller batches. A sensitivity
matrix linearizing the relationship between fuel assembly position and the depletion
model is processed through mixed integer linear programming with branching and
bounding to identify an optimal daughter loading pattern. The process is repeated
through several levels of batch refinement and selection of optimal daughter patterns,
including a level where burnable absorbers are assigned to feed assemblies, until
the individual fuel assembly level is reached. The multiple optimal patterns remaining
provide a range of solutions.