Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритмическая схема методаСодержание книги
Поиск на нашем сайте МЕТОД ВЕТВЕЙ И ГРАНИЦ Общая схема метода Рассмотрим задачу дискретной оптимизации вида
где Для решения данного класса задач часто используется метод ветвей и границ, в основе которого лежат следующие основные модули: 1) построение дерева допустимых вариантов; 2) составление оценочных задач; 3) определение правила обхода дерева вариантов; 4) отбрасывание “неперспективных” множеств вариантов; 5) проверка критерия останова. Рассмотрим подробно каждый из указанных модулей. 1) Построение дерева вариантов осуществляется на основе разбиения множеств на конечное число непересекающихся подмножеств. Факт разбиения множества называется ветвлением и производится на очередном шаге метода в соответствии со сформулированным заранее правилом. Это правило связано со спецификой конкретного допустимого множества исследуемой задачи. Однако если исходная задача среди прочих имеет ограничения вида ветвления: 2) Оценкой функции 3) Правило обхода дерева вариантов в процессе работы алгоритма называют стратегией обхода дерева. Существует множество различных стратегий. Наиболее распространенными являются три из них. a) “По минимуму оценки”. В этом случае для последующего разбиения выбирается подмножество, имеющее к даному шагу алгоритма минимальную оценку. b) Односторонний обход дерева вариантов. Для последующего разбиения выбирается одно из подмножеств, полученных на предыдущем шаге (например, подмножество, в котором c) Смешанная стратегия. В этом случае для продвижения “вниз по дереву” используется односторонний обход дерева вариантов, а при “подъеме вверх” ищется множество с минимальной оценкой. 4) Будем называть множество неперспективным, если относительно него принимается решение о выбрасывании его из дальнейшего рассмотрения. Отбрасывание множеств в ходе решения обеспечивает сокращение перебора. Исключение множеств вариантов из дальнейшего рассмотрения производится с помощью оценок этих множеств и рекорда. Рекордом (или рекордным значением)называют значение целевой функции в “лучшей” (доставляющей наименьшее значение) из полученных допустимых точек. Для определения начального рекорда рекомендуется воспользоваться каким-либо приближенным алгоритмом или другой априорной информацией, если она имеется. По ходу решения задачи рекорд обновляется. Справедливо следующее утверждение. Если оценка некоторого подмножества больше имеющегося рекорда, то среди точек данного подмножества нет решения задачи. Это утверждение позволяет сформулировать основное правило сокращения перебора: если оценка множества больше рекордного значения, то такое множество вариантов выбрасывается из дальнейшего рассмотрения. Отметим, что множество может не подвергаться последующему ветвлению и по другим причинам: если при решении оценочной задачи на данном множестве была получена точка, являющаяся допустимой в исходной задаче, или если допустимое множество оценочной задачи пусто. 5) Работа метода останавливается в соответствии с критерием оптимальности. Признаком останова является следующая ситуация: не осталось ни одного множества, которое может быть подвергнуто последующему ветвлению. Решением при этом является точка, в которой получено последнее рекордное значение. В представленных выше пяти пунктах описаны основные модули, с помощью которых может быть составлена схема работы любого варианта метода ветвей и границ. УПРАЖНЕНИЯ 1. Докажите свойство монотонности оценок в условиях, при которых ветвление и составление оценочных задач осуществляется по правилам, указанным в п.п. 1 и 2. 2. Предложите другие стратегии обхода дерева вариантов. 3. Докажите, что при использовании основного правила отбрасывания неперспективных множеств (п.4) не происходит потери решения. 4. В предложенной алгоритмической схеме отыскивается одно решение, даже если решение в задаче не единственно. Где происходит потеря решения? Исправьте алгоритм таким образом, чтобы появилась возможность отыскания всех решений задачи.
Метод ветвей и границ для решения задачи коммивояжера Постановка задачи коммивояжера состоит в следующем. Имеется
В этой постановке не учитывается естественное требование связности маршрута (отсутствия подциклов), но в дальнейшем оно будет выполняться алгоритмически. Определение. Матрица Приведение матрицы может быть осуществлено следующим образом. Пусть имеется матрица Матрица Конкретизируем теперь основные этапы метода ветвей и границ применительно к данной задаче. Пусть 1) Ветвление. При ветвлении очередное множество 2) Вычисление оценок. Пусть в соответствии с предыдущим пунктом произведено разбиение Правило обхода дерева вариантов, выбор перспективного множества при ветвлении и проверка критерия оптимальности осуществляются в соответствии с общей схемой метода ветвей и границ. УПРАЖНЕНИЯ 1. Предложите другие стратегии ветвления в задаче коммивояжера. 2. Решите задачу коммивояжера с матрицей:
С = C=
Ответ: 1-4-6-7-3-5-2-1, L= 126. Ответ: 4-3-5-6-2-1-4, L= 63. c) d)
С = С = С =
Ответ: 3-1-6-5-4-2-3, L= 39. Ответ: 2-1-5-3-4-6-2, L= 26.
Пример.
Полагаем R= Решаем исходную задачу без требования целочисленности. Графическая иллюстрация решения приведена на рисунке. Оптимальной точкой является Так как точка не целочисленная, осуществляем ветвление (например, по первой координате): Решаем две задачи линейного программирования, заключающиеся в минимизации функции Так как целочисленного решения опять не получено, осуществляем ветвления множества Решаем оценочные задачи на множествах Воспользуемся стратегией одностороннего обхода и выберем для дальнейшего ветвления множество Решаем оценочные задачи на множествах Получено целочисленное решение. Происходит смена рекорда R=-5. Множества Так как перспективных множеств для ветвления не осталось, то останов, получено оптимальное решение: Дерево вариантов в данной задаче имеет вид:
УПРАЖНЕНИЯ 1. Покажите, что любая задача целочисленного программирования может быть эквивалентно переписана как задача с булевыми переменными. 2. Пользуясь определением оценки докажите, что задача с отброшенным условием целочисленности является оценочной к исходной. 3. Решить ЦЗЛП:
Ответ:
ЗАДАЧА О НАЗНАЧЕНИЯХ. ВЕНГЕРСКИЙ МЕТОД РЕШЕНИЯ Венгерский метод
Алгоритм венгерского метода включает в себя 4 этапа. Приведение матрицы. 1. Вычисление максимального числа 2. Получение новых нулей при 3. Отыскание n независимых нулей при Рассмотрим каждый этап подробнее. Этап 1. Матрица C называется приведенной, если все ее элементы неотрицательны и, кроме того, в каждой строке и в каждом столбце имеются нулевые элементы. Таким образом, приведенная матрица C удовлетворяет двум условиям: 1. 2. Для приведения матрицы C с элементами Пример 1. Пусть
С= Легко проверить, что
причем матрица Этап 2. При вычислении максимального числа k независимых нулей в приведенной матрице обычно организуют полный перебор всевозможных вариантов. При этом необходимо воспользоваться следующим утверждением: Теорема 3. Максимальное число независимых нулей равно минимальному суммарному числу горизонтальных и вертикальных линий (строк и столбцов), которыми можно зачеркнуть все нулевые элементы приведенной матрицы. Пример 2. Пусть имеется приведенная матрица из примера 1.
Все ее нули содержат 1-я горизонталь и 1-я вертикаль, следовательно, здесь k =2 < 5. При решении задачи о назначениях будем проводить указанные линии, в результате чего некоторые элементы окажутся зачеркнутыми, другие - зачеркнутыми дважды и остальные - незачеркнутыми. Этап 3. Обозначим через a) из элементов b) элементы c) к элементам Такие преобразования являются следствием применения Теоремы 1, согласно которой задача с новой матрицей кроме того, элементы этой новой матрицы неотрицательны. Если Если же Пример 3. Взяв матрицу при
Все ее нули содержат, например, 1-я горизонталь и три вертикали: 1-я, 2-я, 3-я. Следовательно, здесь k =4 < 5 и Еще один пересчет дает приведенную матрицу
Здесь уже k=n= 5. Этап 4. Отыскание n независимых нулей осуществляется перебором всех возможных вариантов. Удобно перебор начинать с отыскания строк или столбцов, содержащих единственный нулевой элемент, поскольку такой элемент обязательно войдет в группу независимых. Выбрав элемент 1. В результате удается выбрать n независимых нулей. ОСТАНОВ. Выписать ответ. 2. На некотором шаге все оставшиеся строки и столбцы содержат более одного нулевого элемента. В этом случае выбирается любой нулевой элемент, "помечается" номер строки, из которой выбран 0, и осуществляется переход к выбору следующего нулевого элемента. Если таким образом удается выбрать все n независимых нулей, то ОСТАНОВ. Выписать ответ. В противном случае следует возвратиться к помеченной строке и выбрать из нее другой нулевой элемент. По этой схеме надодействовать до тех пор, пока не получим n независимых нулей. Пример 4. Взяв матрицу здесь будут нули с индексами (1, 5), (2, 2), (3, 4), (4, 3), (5, 1). Это означает, что ответом в задаче о назначениях с матрицей C из примера 1 является матрица назначений вида
Важно отметить, что наряду с указанными, здесь будут также независимыми нули с индексами (1, 4), (2, 5), (3, 1), (4, 3), (5, 2). Следовательно, эта задача о назначениях имеет еще один ответ- матрицу назначений вида
УПРАЖНЕНИЯ 1. Является ли данная матрица приведенной? Укажите количество в ней независимых нулей.
пп
2. Решите задачу о назначениях с матрицей С вида:
f
МЕТОДЫ ОТСЕЧЕНИЙ Первый алгоритм Гомори Рассмотрим целочисленную задачу линейного программирования в следующей форме:
Идея методов отсечений состоит в следующем. Процесс получения решения задачи начинается с решения соответствующей ей оценочной задачи линейного программирования (1)-(3) с отброшенным условием целочисленности. Если полученная при этом оптимальная точка
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2021-11-27; просмотров: 219; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.009 с.) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||