Автор работы: Пользователь скрыл имя, 10 Декабря 2011 в 21:15, курсовая работа
Математическая постановка задачи.
Дана неотрицательная матрица размера n×n, где элемент в i-й строке и j-ом столбце соответствует объемам продаж в j-м магазине i-м продавцом. Нужно найти такое соответствие работников магазинам, чтобы максимизировать объем продаж.
Тестовый пример.
1. Постановка задачи ……………………………………………………………..2
2. Описание алгоритма …………………………………………………………...3
3. Решение поставленной задачи……………………………………………….. 6
4. Выводы по проделанной работе ……………………………………………..14
5. Список использованной литературы……………………………………….. 15
Как видно,
на данном этапе мы опять можем
осуществить только шесть нулевых
значений из семи. Полученное распределение
недопустимо, поэтому снова повторяем
этап 3.
Шаг 10 (аналогичен шагу 7 этапа 3): Проведем минимальное количество прямых, проходящих через нулевые значения. Получим:
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
А | 5 | 0 | 7 | 5 | 2 | 10 | 11 |
Б | 1 | 9 | 10 | 3 | 6 | 3 | 0 |
В | 2 | 5 | 0 | 3 | 3 | 4 | 1 |
Г | 5 | 1 | 2 | 9 | 6 | 0 | 1 |
Д | 0 | 2 | 1 | 3 | 2 | 8 | |
Е | 2 | 2 | 1 | 1 | 6 | ||
Ж | 3 | 6 | 5 | 0 | 5 | 6 |
Шаг
11 (аналогично шагу 8 этапа 3): Минимальное
значение среди элементов, через которые
не проходят прямые – единица. Вычитаем
это минимальное значение из каждого элемента,
через который не проходят прямые (А1-Г1,
Е1, Ж1, А5-Г5, Е5, Ж5), прибавляем минимальное
значение к элементам, которые расположены
на пересечении прямы (Д2, Д3, Д4, Д6, Д7),а
остальные элементы оставляем без изменения.
Получим таблицу:
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
А | 4 | 0 | 7 | 5 | 1 | 10 | 11 |
Б | 0 | 9 | 10 | 3 | 5 | 3 | 0 |
В | 1 | 5 | 0 | 3 | 2 | 4 | 1 |
Г | 4 | 1 | 2 | 9 | 5 | 0 | 1 |
Д | 0 | 3 | 2 | 4 | 0 | 3 | 9 |
Е | 1 | 2 | 0 | 1 | 0 | 0 | 6 |
Ж | 2 | 6 | 5 | 0 | 4 | 0 | 6 |
В результате
применения данной процедуры в таблице
появляется два новых нуля. Необходимо
возвратиться к этапу 2 и повторять
алгоритм до тех пор, пока не будет
получено оптимальное решение.
Шаг 12 (аналогичен шагу 6 этапа 2): Рассмотрим строку с единственным нулевым значением А, пометим клетку А2; т.к. в столбце 2 больше нет нулевых значений перейдем к следующей строке.
Следующая строка с
Рассмотрим строку Г, помечаем нулевой элемент Г6, вычеркиваем элементы Е6 и Ж6 столбца 6.
В строке Д два нулевых
Рассмотрим строку Ж: нулевой
элемент Ж6 вычеркнут,
Перейдем в оставшейся строке Д: элемент Д5 вычеркнут, помечаем ноль Д1 и вычеркиваем ноль Б1 в столбце 1.
Осталась последняя строка Б: ноль Б1 вычеркнут, помечаем Б7.
Получим таблицу:
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
А | 4 | 0 | 7 | 5 | 1 | 10 | 11 |
Б | 9 | 10 | 3 | 5 | 3 | 0 | |
В | 1 | 5 | 0 | 3 | 2 | 4 | 1 |
Г | 4 | 1 | 2 | 9 | 5 | 0 | 1 |
Д | 0 | 3 | 2 | 4 | 3 | 9 | |
Е | 1 | 2 | 1 | 0 | 6 | ||
Ж | 2 | 6 | 5 | 0 | 4 | 6 |
Теперь требование о размещении семи продавцов в клетки с нулевым объемом выполняется, следовательно, полученное решение является оптимальным.
Решение: Продавец А будет
4.
Выводы по проделанной
работе
Используя частный случай
Также этот метод может быть использован
для решения транспортных задач и задач
о назначениях. Например, задача о распределении
продуктов по сбытовым базам, откуда
потом эти продукты будут доставляться
потребителям. Венгерский алгоритм поможет
найти оптимальное распределение продуктов
по базам, исходя из расстояний между ними
и конечной точки доставки (т.е. адреса
покупателя). Данный алгоритм полезен,
потому что, если фирма пользуется распределением
«на удачу», то вероятность минимизации
затрат или максимизации прибыли будет
не велика. А используя Венгерский алгоритм,
можно быть уверенным в том, что фирма
не заплатит лишнего и добьется лучшего
результата.
5.
Список использованной
литературы