Эволюция в вашем коде Часть 2 Как решить проблему распределения персонала с помощью генетического алгоритма

Эволюция в коде проблема распределения персонала и генетический алгоритм

Наука о данных. Алгоритмы. Искусственный интеллект. Оптимизация

Решение проблемы распределения сотрудников с использованием генетического алгоритма

Введение

Фото Kentaro Toma на Unsplash

Если вы пришли сюда из моей предыдущей статьи “Эволюция в вашем коде: Понимание и написание генетического алгоритма с нуля — Часть 1”, то добро пожаловать назад.

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

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

Проблема распределения ресурсов в быстром питании

Предположим, что ресторан решает, как распределить свои ресурсы между своими тремя основными секциями:

  • Приготовление
  • Сборка
  • Обслуживание

Цель этих проблем – максимизировать удовлетворенность клиентов, которую, в нашем случае, мы будем считать зависящей от эффективности этих секций.

Всего будет 15 сотрудников, которых нужно перемещать между этими секциями, и каждая секция требует минимум 3 сотрудника.

Каждый сотрудник имеет разную эффективность для каждой секции, которая варьируется от 0 до 1, где более высокая эффективность означает большую пригодность для этой секции.

Удовлетворенность клиентов рассчитывается как произведение средних показателей эффективности сотрудников в каждой секции.

Вот наши дополнительные предположения:

  • Все сотрудники работают одинаковое количество часов.
  • Эффективность секции просто является средним показателем эффективности ее сотрудников.
  • Количество сотрудников в секции не влияет на ее эффективность за пределами индивидуальной эффективности сотрудников — это означает, что нет убывающей отдачи, а также нет реализуемых синергий при большем количестве сотрудников.