Задача о назначениях (о женихах) |
||||||||||||||||||||||||||||||||||||||
Пусть имеется пять человек с номерами М1,М2,М3,М4,М5. Каждый из них способен выполнять разные работы Т1,Т2,Т3,Т4,Т5. Время, которое они затрачивают на выполнение этих работ, указано в матрице стоимости
Оценки в матрице стоимости выставляются на основании экспертных оценок. Это время в в минутах для выполнения задания. Как распределить людей по заданиям, чтобы суммарное время выполнения работ было минимальным. Пусть xij-участие (1) или неучастие (0) i-го человека в выполнении j-го задания. xij>=0, xij=0,1 Так как каждый должен быть полностью задействован и каждое задание должно быть выполнено, то на систему налагаются условия x11+x12+x13+x14+x15=1-в каком-то из заданий каждый человек будет ........ участвовать x51+x52+x53+x54+x55=1 и ограничений x11+x21+...+x51=1 -ограничения ..... x15+x25+... x55=1 Условие на минимальное время запишется в виде min T=10x11+5x12+...+19x54+10x55 Задача является частным случаем транспортной задачи, люди представляют исходные пункты, а работа -пункты назначения. Предложения в каждом исходном пункте равны 1, т.е. ai=1 для всех i, спрос bj=1 тоже. Стоимость перевозки (прикрепления человека i за работой j) равна cij. Если какого-то человека нельзя назначить на работу , то cij=M-большое число. Задачу о назначениях можно представить следующим образом: Пусть xij=0, если j-е задание не выполняется i-м человеком и xij=1, если выполняется. Тогда задача сводится к минимизации Z=Sj=1nSj=1ncijxij при ограничениях Sj=1nxij=1, i=1,...n , Si=1nxij=n j=1,..n xij=0 или 1 Исходное решение, полученное методом северо-западного угла является вырожденным. Для решения задачи о назначениях разработаны венгерский метод и метод Мака. Оба метода основаны на том, что положение оптимального решения не меняется, если к каждому элементу строки и столбца добавить или отнять одно и то же значение. Венгерский метод основан на сложных комбинационных свойствах матриц. Мeтод Мака является итерационным процессом и основан на выборе в каждой строке min элемента. Минимальные элементы строк не расположены в исходном состоянии во всех столбцах. Когда в результате преобразований мы распределим минимальные элементы по всем столбцам это и будет оптимальным решением. Необходимо так преобразовать матрицу, чтобы каждая строка получила свой min элемент. Программы, реализующие алгоритм Мака, приведены в книге /10/. |
||||||||||||||||||||||||||||||||||||||