R для промышленных инженеров

Исследование операций с помощью R - проблема присваивания

Изучение пакета R «lpSolve»

Проблема с назначением

Задача о назначении - это частный случай задачи линейного программирования; это одна из фундаментальных проблем комбинационной оптимизации в области оптимизации или исследования операций в математике. Его цель состоит в том, чтобы назначить m ресурсов (обычно рабочих) для n задач (обычно рабочих мест) один к одному, минимизируя при этом затраты на назначение. Как правило, все работы должны выполняться ровно одним работником, и каждый работник должен быть назначен исключительно на одну работу. Любой работник может быть назначен для выполнения любой работы, что требует определенных затрат, которые могут варьироваться в зависимости от назначения работы.

Базовое обозначение:

  • m = количество рабочих (i = 1… m)
  • n = количество заданий (j = 1… n)
  • c i, j = удельная стоимость назначения работника i на работу j
  • x i, j = работник i, назначенный заданию j (1, если назначено, 0 в противном случае)

Примечание. m (количество рабочих) должно быть равно n (количество рабочих мест).

Состав:

Пакет lpSolve от R содержит специальные функции для решения задач линейного программирования. В следующем примере давайте рассмотрим следующую математическую модель, которую необходимо решить:

Давайте посмотрим на R-код!

Решение:

Общая стоимость задания: 27 долларов США.

В приведенной выше таблице показана оптимальная комбинация рабочего i, назначенного для задания j, при соблюдении ограничений. Сотрудник 1 должен быть назначен на задание 2, рабочий 2 - на задание 1, а рабочий 3 - на задание 3 соответственно. Нет другой возможной комбинации назначений, которая приведет к более низкой стоимости назначения.

Заключительные мысли

Задача назначения представляет собой частный случай задачи линейного программирования, используемой для оптимального распределения ресурсов (в основном рабочей силы); это очень полезный инструмент для менеджеров по эксплуатации и проектов для оптимизации затрат. Пакет lpSolve R позволяет нам решать проблемы назначения LP с помощью всего лишь нескольких строк кода. Хотя существуют и другие бесплатные программы оптимизации (например, GAMS, AMPL, TORA, LINDO), сохранение R-кода проблемы назначения LP в вашей личной библиотеке кода может сэкономить вам значительное количество времени, поскольку вам не придется писать формулировку с нуля. , но вместо этого нужно только изменить коэффициенты и знаки соответствующей матрицы.

— —

Если вы нашли эту статью полезной, не стесняйтесь загрузить мои личные коды на GitHub. Вы также можете написать мне по электронной почте [email protected] и найти меня в LinkedIn. Хотите узнать больше о приложениях для анализа данных, анализа данных и машинного обучения в инженерной сфере? Изучите мои предыдущие статьи, посетив мой профиль на Медиуме. Спасибо за внимание.

- Роберт