Автор работы: Пользователь скрыл имя, 29 Марта 2013 в 23:24, курсовая работа
Идея метода была высказана венгерским математиком Эгервари и состоит в следующем. Строится начальный план, не удовлетворяющий в общем случае всем условиям задачи. Далее осуществляется переход к новому плану, более близкому к оптимальному. Последовательное применение этого приема за конечное число итераций приводит к решению задачи. Цель работы – исследовать решение задач о назначениях. Задачи:
1. Рассмотреть теоретические основы задач о назначениях;,
2. Проанализировать Венгерский метод решения задачи о назначениях.
Введение
1. Теоретические основы задач о назначениях
1.1 Задача о назначениях
1.2 Особые случаи задачи о назначениях
2. Венгерский метод решения задачи о назначениях
2.1 Сущность Венгерского метода
2.2 Описание алгоритма венгерского метода
2.3 Венгерский метод для транспортной задачи
2.4 Обоснование Венгерского метода
3. Алгоритм решения задачи назначениях
Заключение
Список литературы
Содержание
Введение
1. Теоретические основы задач о назначениях
1.1 Задача о назначениях
2. Венгерский метод решения задачи о назначениях
2.1 Сущность Венгерского метода
Заключение
Список литературы
Введение
Задача о назначениях является частным случаем классической транспортной задачи и, как следствие, является задачей транспортного типа.
Транспортная задача – задача о наиболее экономном плане перевозок однородного или взаимозаменяемого продукта из пункта производства (станций отправления), в пункты потребления (станции назначения) – является важнейшей частной задачей линейного программирования, имеющей обширные практические приложения не только к проблемам транспорта.
Применительно к задаче о назначениях симплексный метод не эффективен, так как любое ее допустимое базисное решение является вырожденным. Специфические особенности задачи о назначениях позволили разработать эффективный метод ее решения, известный как венгерский метод.
В современных условиях развития каждое предприятие стремится с наименьшими затратами функционировать в сложившихся условиях с целью получения высоких доходов. Экономико-математические задачи о назначениях позволяют найти оптимальный вариант размещения одного кандидата на выполнение одной работы таким образом, чтобы минимизировать суммарные затраты по выполнению комплекса работ группой исполнителей. Также возможны некоторые модификации задачи о назначениях: во-первых, она иногда формулируется как задача максимизации (например, суммарного дохода от назначения всех исполнителей на работы); во-вторых, штатный состав организации может быть представлен большим количеством исполнителей, нежели количество работ, на которые должны быть назначены или, наоборот, большее количество работы, при недостаточном количестве исполнителей для ее выполнения; в-третьих, выполнение какой-либо работы по каким-либо причинам запрещается исполнять какому-либо работнику. В такой постановке данная задача относится к классу комбинаторных, решение которых путем прямого перебора невозможно при достаточно больших n, так как число вариантов назначений составляет n!. Данный программный продукт позволяет за короткий промежуток времени решать описанные модификации задачи о назначениях венгерским методом, с определением оптимального варианта размещения исполнителей по работам, исходя из поставленных условий. Идея метода была высказана венгерским математиком Эгервари и состоит в следующем. Строится начальный план, не удовлетворяющий в общем случае всем условиям задачи. Далее осуществляется переход к новому плану, более близкому к оптимальному. Последовательное применение этого приема за конечное число итераций приводит к решению задачи.
Цель работы – исследовать решение задач о назначениях.
Задачи:
1. Рассмотреть теоретические основы задач о назначениях;
2. Проанализировать Венгерский метод решения задачи о назначениях.
Глава 1. Теоретические основы задач о назначениях
1.1 Задача о назначениях
Задача о наилучшем распределении некоторого числа работ между таким же числом исполнителей. При ее решении ищут оптимальное назначение из условия максимума общей производительности, которая равна сумме производительности исполнителей. Наиболее эффективным методом ее решения является венгерский метод. Задача о назначениях имеет много интерпретаций: распределение работ между механизмами, распределение целей между огневыми средствами для максимизации математического ожидания числа пораженных целей или среднего ущерба и т.д.
1.2 Особые случаи задачи о назначениях: максимизация целевой функции
Алгоритм решения задачи о назначениях предполагает минимизацию ее целевой функции. Если имеется задача о назначениях, целевую функцию которой нужно максимизировать, то поступают таким же образом, как и в алгоритме решения транспортной задачи: после окончания формирования первой таблицы все ее элементы умножаются на (— 1).
Пример: В распоряжении некоторой компании имеется 6 торговых точек и 6 продавцов. Из прошлого опыта известно, что эффективность работы продавцов в различных торговых точках неодинакова. Коммерческий директор компании произвел оценку деятельности каждого продавца в каждой торговой точке. Результаты этой оценки представлены в табл. 1.
Таблица 1 - Объемы продаж в различных торговых точках для различных продавцов
Продавец |
Объемы продаж, ф. ст. /тыс. шт. Торговые точки | |||||
|
1 |
// |
III |
IV |
V |
VI |
А |
68 |
72 |
75 |
83 |
75 |
69 |
В |
56 |
60 |
58 |
63 |
61 |
59 |
С |
35 |
38 |
40 |
45 |
25 |
27 |
D |
40 |
42 |
47 |
45 |
53 |
36 |
Е |
62 |
70 |
68 |
67 |
69 |
70 |
F |
65 |
63 |
69 |
70 |
72 |
68 |
Как коммерческий директор должен осуществить назначение продавцов по торговым точкам, чтобы достичь максимального объема продаж?
Решение.
Все элементы исходной таблицы умножаются на (-1);
Таблица 13.39. Модификация исходных данных
и выявление минимальных | |||||||
Продавец |
Торговые точки | ||||||
I |
II |
III |
IV |
V |
VI |
Минимальный элемент | |
А В С D Е F |
-68 -56 -35 -40 -62 -65 |
-72 -60 -38 -42 -70 -63 |
-75 -58 -40 -47 -68 -69 |
-83 -63 -45 -45 -67 -70 |
-75 -61 -25 -53 -69 -72 |
-69 -59 -27 -36 -70 -68 |
-83 -63 -45 -53 -70 -72 |
Минимальный (наибольший по абсолютной величине) элемент вычитается из всех элементов соответствующей строки.
Таблица 13.40. Вычитание минимального элемента по строкам и выявление минимальных элементов по столбцам | ||||||
15 |
11 |
8 |
0 |
8 |
14 |
¬ Минимальный элемент |
7 |
3 |
5 |
0 |
2 |
4 | |
10 |
7 |
5 |
0 |
20 |
18 | |
13 8 |
11 0 |
6 2 |
8 3 |
01 |
17 0 | |
7 |
9 |
3 |
2 |
0 |
4 | |
7 |
0 |
2 |
0 |
0 |
0 |
Минимальный элемент вычитается из всех элементов соответствующего столбца.
Таблица Вычитание минимального элемента по столбцам | |||||
8 |
11 |
6 |
0 |
8 |
14 |
0 |
3 |
3 |
0 |
2 |
4 |
3 |
7 |
3 |
0 |
20 |
18 |
6 |
11 |
4 |
8 |
0 |
17 |
1 |
0 |
0 |
3 |
1 |
0 |
0 |
9 |
1 |
2 |
0 |
4 |
Дальнейший поиск оптимального решения осуществляется в соответствии с обычным алгоритмом (см. пример).
1.3. Недопустимые назначения
Данную проблему можно решить так же, как и транспортную задачу. Если по той или иной причине некоторое назначение является недопустимым, то в соответствующей клетке проставляется значение стоимости, которое заведомо больше любого другого значения. После этого в ходе реализации алгоритма мы сможем избежать данного назначения 3 автоматически.
Если исходная таблица не является квадратной, в нее следует включить дополнительные фиктивные строки и столбцы, необходимые для приведения ее к квадратной форме. Значения стоимости, соответствующие фиктивным клеткам, как правило, равны нулю.
Назначения, размещаемые в клетках фиктивных строк, фактически не существуют. Назначения, соответствующие фиктивным столбцам, на деле представляют собой те единицы, которые не подлежат распределению.
Глава 2. Венгерский метод решения задачи о назначениях
2.1 Сущность венгерского метода
При обсуждении постановки задачи о назначениях было отмечено, что эта задача является частным случаем классической транспортной задачи и, как следствие, является задачей транспортного типа. Применительно к задаче о назначениях симплексный метод не эффективен, так как любое ее допустимое базисное решение является вырожденным. Специфические особенности задачи о назначениях позволили разработать эффективный метод ее решения, известный как венгерский метод.
Частным случаем транспортной задачи является задача о назначениях, в которой число пунктов производства равно числу пунктов назначения, т.е. транспортная таблица имеет форму квадрата. Кроме того, в каждом пункте назначения объем потребности равен 1, и величина предложения каждого пункта производства равна 1. Любая задача о назначениях 2может быть решена с использованием методов линейного программирования или алгоритма решения транспортной задачи. Однако ввиду особой структуры данной задачи был разработан специальный алгоритм, получивший название Венгерского метода.
Венгерский метод является одним из интереснейших и наиболее распространенных методов решения транспортных задач.
Рассмотрим основные идеи венгерского метода на примере решения задачи выбора (задачи о назначениях), которая является частным случаем Т-задачи, а затем обобщим этот метод для произвольной Т-задачи.
Постановка задачи. Предположим, что имеется различных работ и механизмов , каждый из которых может выполнять любую работу, но с неодинаковой эффективностью. Производительность механизма при выполнении работы обозначим , и = 1,...,n; j = 1,...,n. Требуется так распределить механизмы по работам, чтобы суммарный эффект от их использования был максимален. Такая задача называется задачей выбора или задачей о назначениях.
Формально она записывается так. Необходимо выбрать такую последовательность элементов из матрицы
чтобы сумма была максимальна и при этом из каждой строки и столбца С был выбран только один элемент.
Введем следующие понятия.
Нулевые элементы матрицы С называются независимыми нулями, если для любого строка и столбец, на пересечении которых расположен элемент , не содержат другие такие элементы .
Две прямоугольные матрицы С и D называются эквивалентными (C ~ D), если для всех i,j . Задачи о назначениях, определяемые эквивалентными матрицами, являются эквивалентными (т.е. оптимальные решения одной из них будут оптимальными и для второй, и наоборот).
Алгоритм состоит из предварительного этапа и не более чем (n-2) последовательно проводимых итераций. Каждая итерация связана с эквивалентными преобразованиями матрицы, полученной в результате проведения предыдущей итерации, и с выбором максимального числа независимых нулей. Окончательным результатом итерации является увеличение числа независимых нулей на единицу. Как только количество независимых нулей станет равным n, проблему выбора оказывается решенной, а оптимальный вариант назначений определяется позициями независимых нулей в последней матрице.