Распределение предложения в соответствии со спросом в 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

person user2263792    schedule 09.04.2013    source источник
comment
Вероятно, лучше задать этот вопрос на сайтеprogramrs.stackexchange.com, потому что это не конкретная проблема программирования (stackoverflow.com/faq#questions).   -  person Walery Strauch    schedule 10.04.2013


Ответы (1)


Вы можете попробовать генетический алгоритм:

  1. Установите случайное время начала для каждого сотрудника.
  2. Создавайте новые мутации, случайным образом выбирая сотрудников и сдвигая время их начала на 1 час.
  3. Оцените каждую мутацию по баллу различия и выберите лучшую.

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

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

person Matt    schedule 09.04.2013