Наука о данных. Алгоритмы. Искусственный интеллект. Оптимизация
Эволюция вашего кода. Часть 2. Как решить проблему распределения персонала с помощью генетического алгоритма
Решение задачи распределения кадровых ресурсов с использованием генетического алгоритма
Введение
Если вы пришли сюда из моей предыдущей статьи Эволюция в вашем коде: понимание и кодирование генетического алгоритма с нуля — часть 1, добро пожаловать обратно.
Если вы здесь новичок, я рекомендую прочитать первую часть, так как это облегчит понимание интуитивного понимания кода, который мы собираемся написать ниже.
В этой статье давайте попробуем решить задачу распределения ресурсов в ресторане быстрого питания, которая является одним из самых популярных типов задач, изучаемых на занятиях по оптимизации.
Распределение ресурсов в задаче быстрого питания
Предположим, ресторан решает, как распределить свои ресурсы между тремя основными разделами:
- Готовка
- Сборка
- Обслуживание
Целью этих задач является максимизация удовлетворенности клиентов, что в нашем случае, как мы предполагаем, зависит от эффективности этих разделов.
По этим секциям будут перемещаться 15 сотрудников, и на каждую секцию требуется минимум 3 сотрудника.
У каждого сотрудника свой коэффициент эффективности для каждого раздела в диапазоне от 0 до 1, где более высокая эффективность означает большую пригодность для этого раздела.
Удовлетворенность клиентов рассчитывается как произведение средних показателей эффективности сотрудников каждого отдела.
Вот наши дополнительные предположения:
- Все сотрудники работают в одинаковые часы.
- Эффективность отдела — это просто среднее значение эффективности его сотрудников.
- Количество сотрудников в разделе не влияет на его эффективность, за исключением индивидуальной эффективности сотрудника — это означает, что нет ни уменьшающейся отдачи, ни синергии, реализуемой с большим количеством сотрудников.