Распределение поставок в соответствии со спросом в 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. Установите случайное время запуска для каждого сотрудника.
  2. Создание новых мутаций путем случайного выбора сотрудников и переноса их времени начала на 1 час.
  3. Оцените каждую мутацию по разнице и выберите лучшую.

Это может привести к локальным минимумам, поэтому рекомендуется запускать его несколько раз с другими случайными вариантами.

Вам также необходимо определить разницу. Это может быть сумма / средняя разница, но возможна и максимальная разница.

Другие вопросы по тегам