ОК - хотя у вас есть ответ, позвольте мне сделать снимок.
Давайте возьмем общую проблему: 7 дней х 3 смены = 21 разные смены для заполнения
Существует 7 возможных расписаний сотрудников, выраженных в днях (1) и выходных (0)
ПВСЧПСВ
0011111
1001111
1100111
1110011
1111001
1111100
0111110
Мы хотим минимизировать количество запланированных сотрудников, которое соответствует количеству требуемых часов.
У меня есть матрица числа сотрудников каждого типа в смену, и это число является целочисленной переменной. Моя модель оптимизации:
Мин (количество сотрудников)
В зависимости от: суммы (# emp emphed * расписание сотрудников) = персонал, необходимый для каждой смены
и
количество сотрудников запланировано целым числом
Вы можете изменить знак = в первом ограничении на>>. Тогда вы получите реальное решение с дополнительным персоналом. Вы можете решить эту проблему в Excel с помощью основного надстройки SOLVER.
Допустим, мне нужно по четыре сотрудника на каждый день в смену, но я готов терпеть дополнительный персонал.
Решение с использованием приведенных выше графиков:
Численность персонала по типу расписания: 0,2,0,2,0,2,0
Типы расписаний 0011111,1001111,1100111,1110011,1111001,1111100,0111110
(Другими словами, 2 с графиками 1001111, 2 с графиками 1111001 и еще 2 с графиками 1111100)
В результате получается один день (понедельник) с двумя дополнительными сотрудниками и 4 сотрудниками во все остальные дни.
Конечно, это не уникальное решение. Есть как минимум 6 других решений с двумя дополнительными сотрудниками. Программирование с ограничениями будет лучшим и более быстрым подходом, поскольку часто будет много выполнимых расписаний.