Лекция
Привет, Вы узнаете о том , что такое метод мака, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое метод мака , настоятельно рекомендую прочитать все из категории Математические методы исследования операций .Теория игр и расписаний..
При решении некоторых задач менеджмента необходимо назначать исполнителей (людей, механизмы и т.п.) для выполнения однотипных работ. метод мака применяется для распределения функций между элементами системы, когда каждый из этих элементов способен выполнять любую из функций с разной эффективностью [1, с. 240]. Предполагается выполнение одним элементом одной функции, и на выходе системы необходимо получить максимальную эффективность. К примеру, в организации n работников, между которыми требуется распределить n заданий так, чтобы все задания были выполнены за суммарно минимальное время. Время выполнения заданий напрямую зависит от свойств характера исполнителей, их квалификации. Следовательно, эффективность труда исполнителей, в силу этих и иных причин, будет различна.
Данная задача носит название задачи о назначениях и представляет собой частный случай более общей транспортной задачи. Существует определенный алгоритм решения задачи о назначениях методом Мака. В первую очередь, составляется матрица: допустим, по вертикали указываются номера работников (Р) организации, а по горизонтали - номера заданий (З), которые соответствуют разным должностям. Таблицу заполняем значениями времени выполнения заданий. Требуется найти минимальное суммарное время выполнения всех n заданий. Ниже приведен пример таблицы исходных данных.
Далее необходимо составить систему ограничений по строкам и столбцам. Так как каждый работник должен быть задействован и выполнять одно задание, которое, в свою очередь, должно быть выполнено, сумма элементов в каждой строке (так же и со столбцами) должна быть равна 1 [2, с. 97].
Полное время выполнения заданий будет являться целевой минимизируемой функцией, где в качестве коэффициентов при Х_у будут выступать соответствующие значения времен.
В основе методики решения данной задачи методом Мака лежит принцип, заключающийся в том, что положения оптимального выбора не меняются, если к каждому элементу какой-либо строки или столбца добавить одно и то же число или вычесть его [3, с. 148].
Задача о назначениях – одна из наиболее известных дискретных оптимизационных задач. Цель задачи — найти оптимальное (минимальной стоимости) распределение работников по заданным работам. Задача о назначениях имеет широкое применение, например, при закреплении машин за маршрутами, распределении инструментов для обработки различных марок стали и т.д.
Постановка задачи.
Очевидный метод решения задачи заключается в переборе n! перестановок. Однако на практике такой неэффективный способ становится неприменимым уже для матриц небольших размеров.
Задача о назначениях является частным случаем общих классов оптимизационных задач, и поэтому существует много разнообразных методов ее решения.
Разделить множество столбцов на А и A', где
А – выбранное множество,
A' – невыбранное
В начале вычислений и при переходе от циклов к началу выбранных столбцов нет; все столбцы относятся к A'.
Выбрать из множества A' столбец, содержащий более одного подчеркнутого элемента, перевести этот столбец изA' в А.
Подчеркнутый элемент – минимальный элемент в строке.
Примечание: перед первым шагом алгоритма множество А всегда является пустым.
Если подчеркнутый элемент находится в множестве А, найти в каждой строке разность между минимальным подчеркнутым и минимальным неподчеркнутым элементами. Об этом говорит сайт https://intellect.icu . Из всех найденных разностей выбрать минимальную.
Увеличить все элементы матрицы А на выбранную на 2-м шаге минимальную разность.
В строке с минимальной разностью отметить пунктиром минимальный неподчеркнутый элемент
Столбец, содержащий отмеченный пунктиром элемент , перенести в множество С.
Если в С более 2-х неподчеркнутых элементов, то перенести С из A' в А и перейти ко 2-му шагу. Иначе, перейти к 6-му шагу.
Отмеченный пунктиром элемент подчеркнуть ( меняется на ).
Найти исходный подчеркнутый элемент в строке с минимальной разностью (в той строке, где ) и убрать подчеркивание (меняется на). Обозначить столбец с элементомD.
Если Dне содержит других подчеркнутых элементов, он должен содержать элементы, отмеченные пунктиром. Обозначить этот элементи перейти к 6-му шагу.
Если Dсодержит еще 1 подчеркнутый элемент, то полностью подчеркнутые элементы образуют новый базис. В этом случае перейти к 1-му шагу.
Пример 4.Исходная таблица:
Подчеркнем минимальные элементы в строке и внесем в множество А первый столбец, т.к. в нем два подчеркнутых элемента. Минимальная разность из найденных соответствует второй строке. Поскольку эта разность равна 0, элементы множества А остаются без изменений. Перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим пятый столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элементаи обозначаем первый столбец буквойD. ВDесть еще один подчеркнутый элемент, значит, переходим к первому шагу.
Внесем в множество А третий столбец, найдем минимальную разность и перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим четвертый столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элементаи обозначаем третий столбец буквойD. ВDесть еще подчеркнутые элементы, значит, переходим к первому шагу.
Внесем в множество А третий столбец, найдем минимальную разность и перейдем к следующей таблице.
Отметим пунктиром элемент . Добавим пятый столбец в множество С. В С есть еще подчеркнутые элементы, поэтому переводим пятый столбец в А. Минимальная разность соответствует второй строке.
Отметим пунктиром элемент . Добавим первый столбец в множество С. В С есть еще подчеркнутые элементы, поэтому переводим пятый столбец в А. Минимальная разность соответствует второй строке. Прибавляем ко всем элементам множества А величину минимальной разности, т.е. 1.
Отметим пунктиром элемент . Добавим второй столбец в множество С. В С только один подчеркнутый элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элементаи обозначаем пятый столбец буквойD. ВDесть один подчеркнутый пунктиром элемент. Подчеркиваем его сплошной чертой, убираем подчеркивание элемента. Распределение закончено.
Соответствующее значение целевой функции:
f= 6 + 16 + 6 + 14 + 8 = 50
Исследование, описанное в статье про метод мака, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое метод мака и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Математические методы исследования операций .Теория игр и расписаний.
Из статьи мы узнали кратко, но содержательно про метод мака
Комментарии
Оставить комментарий
Математические методы исследования операций .Теория игр и расписаний.
Термины: Математические методы исследования операций .Теория игр и расписаний.