Распределение поставок в соответствии со спросом в Excel
Это небольшая логическая головоломка, над которой я работал, и мне любопытно посмотреть, какие решения предлагает SO-сообщество. У меня есть 24 случайно сгенерированных значения спроса, по одному на каждый час дня. У меня есть штат из 15 человек, каждый из которых должен работать в 8 часов смены, но может начинать работу в любое время суток. Я ищу формулу, которая минимизирует общую разницу в спросе и предложении за 24-часовой период. Результат может выглядеть аналогично таблице ниже, учитывая, что формула присваивает "1" для каждого часа в оптимальной восьмичасовой смене персонала.
Hour Demand Staff 1 Staff 2 ... Staff 15 Total Staff Difference
0 4 1 1 0 4 0
1 3 1 1 0 4 0
...
23 6 0 0 1 5 1
1 ответ
Вы можете попробовать генетический алгоритм:
- Установите случайное время запуска для каждого сотрудника.
- Создание новых мутаций путем случайного выбора сотрудников и переноса их времени начала на 1 час.
- Оцените каждую мутацию по разнице и выберите лучшую.
Это может привести к локальным минимумам, поэтому рекомендуется запускать его несколько раз с другими случайными вариантами.
Вам также необходимо определить разницу. Это может быть сумма / средняя разница, но возможна и максимальная разница.