Home Features Why didn't the optimizer allocate all classes?

Why didn't the optimizer allocate all classes?

Last updated on Jul 13, 2026

When an optimization process does not allocate all classes, PowerCubus makes no effort toward secondary objectives (such as minimizing gaps, distributing daily classes, etc.). Therefore, before anything else, ensure that allocation reaches 100%.

Why isn't it always possible to allocate everything?

PowerCubus allocates all classes without ever violating:

  • Class group availability

  • Classroom availability

  • Class slot availability

It tries to respect teacher availability. When it cannot allocate within available slots, it minimizes violations. When there is no other option, it allocates in unavailable slots — always minimizing those violations — to show the user the best path to negotiate availability with teachers.

What if the optimizer still can't allocate everything?

This means there is no possible combination that can allocate all teachers simultaneously. The result is mathematical: PowerCubus uses an exact method in the first allocation, guaranteeing the result is the best possible among all solutions.

Illustrative example

Suppose class 9A has 6 periods per day. The curriculum has Geography, History and English with 3 weekly periods each, taught by John, Charles and Robert. If all three teachers are only available on Monday, we have:

  • 9 classes to allocate in only 6 available periods on Monday.

  • It is mathematically impossible to allocate all without violating at least one availability.

What to do?

Review the registered availabilities — for class groups, classrooms, teachers and classes — to identify which constraints are preventing full allocation.