Описание общего дохода к решению задачи о назначении
При этом рассмотренная задача является частным проявлением задачи о назначении. Если учесть, что исследуемая компания Yandex будет активно развиваться, открывать новые филиалы и выходить на международный рынок, то структура управления компанией будет усложняться, и возникнет необходимость в решении аналогичной задачи, но для других людей и других должностей. Для этого целесообразно рассмотреть общий подход к решению задачи, описать основные действия, которые позволят при их применении оперативно распределить должности между потенциальными кандидатами так, чтобы общие затраты на оплату труда были минимальны.
В общем виде задача о назначении направлена на выбор такого распределения ресурсов по объектам, при котором общая стоимость назначений минимальна. При этом предполагается, что каждый ресурс назначается только один раз, и каждому объекту должен соответствовать только один ресурс. В качестве ресурса могут выступать рабочие, грузовые автомобили, станки и т.д., а в качестве объектов – рабочие места (должности), маршруты, участки производственных линий и другие элементы. При этом, с математической точки зрения, данная задача является частным проявлением транспортной задачи. Однако в задаче о назначении опорная таблица должна быть квадратной (число строк должно быть равно числу столбцов). Для решения задачи применяется венгерский алгоритм.
Рассмотрим матрицу 𝑊 = (𝑤𝑖𝑗), которая состоит из m строк и n столбцов. Разберем случай, когда 𝑚 = 𝑛. Тогда последовательность действий состоит из следующих шагов:
1. Определение нулей. Для каждого столбца 𝑌𝑗 определяем наименьший элемент этого столбца, и из всех элементов j-ого столбца вычитаем наименьший элемент j-ого столбца. В результате формируется матрица с элементами 𝑤𝑖𝑗(2) = 𝑤𝑖𝑗 − min𝑤𝑖𝑗. Затем проводим аналогичные вычисления со строками – из каждого элемента i-той строки вычитаем наименьший элемент данной i-той строки. В результате формируется матрица с элементами 𝑤𝑖𝑗(2) = 𝑤𝑖𝑗(1) − min𝑤𝑖𝑗. Матрица 𝑊(2) = (𝑤𝑖𝑗(1)) имеет нуль в каждой строке и каждом столбце.
2. Определение максимального паросочетания. Для полученной матрицы проводим проверку относительно того, имеется ли в каждой строке и каждом столбце матрицы ровно один нуль. Если ситуация выполняется, то оптимальное решение найдено (ему будут соответствовать элементы исходной матрицы W, на месте которых в матрице 𝑊(2) стоят нули. В противном случае для нахождения наиболее оптимального решения сначала проводим определенные действия с первой строкой матрицы 𝑊(2), а именно - отмечаем один из нулей в этой строке. При этом оставшиеся нули в первой строке, а также другие нули того столбца, где отмечен нуль, зачёркиваем. Далее переходим ко второй строке. В случае, если в ней содержится незачеркнутый нуль, стоит отметить его, а затем следует зачеркнуть все нули во второй строке, а также в столбце, в котором стоит отмеченный нуль. После этого проводим аналогичные действия с каждой строкой матрицы. Если в результате описанных действий в каждой строке и каждом столбце матрицы будет содержаться отмеченный нуль, то полученное решение будет оптимальным. Если такого решения не найдено, то следует перейти к продолжить алгоритм далее. Для дальнейшего поиска максимального паросочетания, следует отметить каждую строку и столбец матрицы, которые содержат отмеченные нули. В каждом неотмеченном столбце находим невыделенный нуль, который расположен в отмеченной строке. Применительно к данной строке находим в ней невыделенный нуль, расположенный в том же столбце и неотмеченной строке. Если это удаётся сделать, то появляется возможность увеличить число выделенных нулей. Если такое действие совершить нельзя, то следует найти невыделенный нуль в том же столбце и отмеченной строке и, исходя из выделенного нуля в этой новой строке, найти нуль в том же столбце и какой-либо неотмеченной строке и т.д. Таким образом, совершая описанные действия для каждого из неотмеченных столбцов, появляется возможность увеличить число выделенных нулей и найти оптимальное решение. Если оно не найдено, то следует перейти к следующему шагу.
3. Нахождение минимальной опоры. Начальные действия заключаются в определении минимального количества линии, которые содержат все выделенные нули в матрице.
4. Возможная перестановка некоторых нулей. Удалив все выделенные строки и столбцы матрицы, сформируем подматрицу, элементы которой не входят в выделенные в ходе шага №3 линии. В полученной подматрице найдем ее наименьший элемент. Вычтем найденный элемент из всех элементов столбцов, которые не выделены в ходе шага №3, а затем прибавим этот элемент ко всем выделенным строкам. Далее возвращаемся к шагу №2, и вновь проводим поиск максимального паросочетания полученной матрицы. Повторяя описанную последовательность шагов, находим наиболее оптимальное решение путем нахождения отмеченных нулей в каждой строке и столбце матрицы.
В случае, если рассматриваемая матрица W состоит из m строк и n столбцов так, что 𝑚 ≠ 𝑛, то следует дополнить матрицу до квадратной.
Выводы
Таким образом, по итогу выполнения курсовой работы было сформулированы следующие выводы:
1. В результате применение венгерского алгоритма для решения частного случая задачи о назначении было найдено эффективное распределение управленческих должностей в компании Yandex, применение которого позволит фирме минимизировать затраты на оплату труда директорам различных отделов (минимальные совокупные затраты составят 390 тыс. руб. в месяц), что, в свою очередь, позволит компании уверенно закрепиться на рынке, оставаясь рентабельной и избегая значительных рисков терпения убытков.
2. Произведено описание общего подхода к решению задачи о назначении, исходя из предположения о том, что компания Yandex будет успешно развиваться на российском и международном рынке онлайн-сервисов, а значит, в скором времени возникнет задача эффективного распределения должностей в новых, дочерних, компаниях фирмы. Кроме того, в условиях современной конкурентной рыночной среды и в силу человеческого фактора, граждане часто меняют место работы. Соответственно, после каждого изменения состава персонала возникает необходимость оперативно произвести замену, сохранив минимальные затраты на оплату труда. В матрице W 𝑚 < 𝑛 присоединяем к матрице (𝑛 − 𝑚) строк, осуществляем поиск оптимального решения для полученной квадратной матрицы, в матрице W 𝑚 > 𝑛. Присоединяем к матрице (𝑚 − 𝑛) столбцов, осуществляем поиск оптимального решения для полученной квадратной матрицы
3. Применение описанного подхода (венгерского алгоритма) позволит компании Yandex на протяжении всего периода своего существования и развития поддерживать наиболее оптимальное и минимально затратное распределение трудовых ресурсов. Это позволит компании, применяя описанный алгоритм, быстро принимать грамотные управленческие решения, что незамедлительно скажется на ее развитии и росте объема постоянного финансового потока, в том числе – получения чистой прибыли.
