Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа-1.docx
Скачиваний:
0
Добавлен:
05.11.2025
Размер:
41.79 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Московский институт электронной техники»

Институт физики и прикладной математики

Курсовая работа

по дисциплине «Методы моделирования экономики»

«Оптимальное назначение сотрудников IT-компании «Инфопорт»

Выполнил студент группы

Научный руководитель

Ревякин Александр Михайлович

Содержание

1. Постановка задачи ……………………………………………………………… 3

2. Решение задачи ………………………………………………………………….. 6

3. Выводы .....………………………………….…………….………………………. 9

4. Список литературы …………………………………………….………………... 10

  1. Постановка задачи

В 2025 году в Казани начала работу IT-компания «Инфопорт». С началом работы появилась проблема набора сотрудников. Есть 5 вакансий и 5 кандидатов на данные должности. Каждый кандидат предъявил свою цену за выполнение определенного вида работы. Причем один сотрудник не может занимать более одной должности. Для IT-компании необходимы такие кадры, как: разработчик, программист, тестировщик, креативный директор, дизайнер.

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

Для упрощения процесса назначения сотрудников составлена таблица, где в столбцах будут занесены свободные должности (Yj), а в строках – кандидаты на эти должности (Xi).

Минимальная оплата за труд работника, подходящая ему (тыс. руб)

Разработчик

(Y1)

Программист

(Y2)

Тестировщик

(Y3)

Креативный директор

(Y4)

Дизайнер

(Y5)

X1

150

250

100

200

250

X2

100

300

250

100

150

X3

250

300

150

150

250

X4

100

250

200

100

200

X5

250

150

300

200

300

Таблица 1

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

Данная задача является задачей о назначении. Такой тип задач можно решить с помощью венгерского алгоритма. Его мы возьмем за основу, решая данную задачу.

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

Мы знаем, что задача о назначениях является частным случаем транспортной задачи, соответствующим единичным значениям параметров a_i и b_i . Поэтому для решения задачи о назначениях можно воспользоваться любым алгоритмом линейного программирования или симплексным алгоритмом для транспортной задачи. Однако метод, описанный ниже, является более эффективным, поскольку он использует специфику математической постановки данной задачи.

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

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

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

2.3. Выполнять пункты 1 и 2 до тех пор, пока не будет вычеркнуто максимально возможное число нулевых элементов. Если построенное назначение полное, то оно является оптимальным.

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

Если нельзя найти полного назначения, то необходима дальнейшая модификация матрицы стоимостей, а именно, перейти к шагу 3.

3. Для редуцированной матрицы стоимостей нужно сделать следующее:

3.1. Вычислить число нулей в каждой невычеркнутой строке и каждом невычеркнутом столбце.

3.2. Вычеркнуть строку или столбец с максимальным числом нулей.

3.3. Выполнять пункты 1 и 2 до тех пор, пока не будут вычеркнуты все нули.

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

3.5. Перейти к шагу 2.