Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат. мет. исл. оп Погорелов / Лекции по мат. мет. ИО.doc
Скачиваний:
67
Добавлен:
26.03.2015
Размер:
3.62 Mб
Скачать

12.4. Методы внутренней точки для лп и поп

ПОП решается численно с использованием методов внутренней точки. Алгоритм эллипсоида относится к числу таких методов. Однако, это не самый эффективный метод. Рассмотрим прямую и двойственные задачи линейного программирования:

минимизировать при условиях .

максимизировать при условиях.

Ограничения формы и являются проблематичными. Поэтому мы отбросим их и модифицируем прямую и двойственную целевые функции следующим образом (для ):

и .

Член представляет собой так называемую барьерную функцию, которая предотвращает приближение к нулю. Однако ее влияние уменьшается по мере приближенияµ к нулю. Аналогично для ПОП, ограничение заменяется барьером: .

Рассмотрим функцию Лагранжа

.

Мы можем доказать, что векторы x, y, s являются оптимальными для модифицированных прямой и двойственной задач, если

, (12.1)

, (12.2)

, (12.3)

, (12.4)

для всех i . (12.5)

Предположим. что у нас есть допустимые решения, которые удовлетворяют формулам (12.1)-(12.4). Однако они не являются оптимальными, если (12.5) не выполняется.

Ключевая идея алгоритма состоит в использовании следующей стратегии: необходимо одновременно уменьшать µ до нуля и при этом пытаться обеспечить условие (12.5). На каждой итерации алгоритма мы используем метод Ньютона, делая шаг , который обеспечивает решение уравнений (12.1), (12.3), (12.5), и который достаточно мал, чтобы сохранились условия (12.2) и (12.3). Наk-ой итерации мы имеем , где.

Можно доказать, что такой алгоритм уменьшает величину сдоза время.

Лекция 13. МЕТОД ВЕТВЕЙ И ГРАНИЦ

13.1. Основы метода

Метод ветвей и границ (англ. branch and bound) – общий алгоритмический метод для нахождения оптимальных решений различных задач оптимизации, особенно дискретной и комбинаторной оптимизации. По существу, метод является вариацией полного перебора с отсевом подмножеств допустимых решений, заведомо не содержащих оптимальных решений. Метод ветвей и границ был впервые предложен в 1960 году американскими учеными А.Х. Лендом и А.Г. Дойгом для решения задач целочисленного программирования. Он используется для решения некоторых NP-полных задач, таких как задача коммивояжера и задача о ранце.

Предположим, мы хотим решить задачу:

минимизировать при условии ,

где Х является конечным множеством допустимых решений. Метод ветвей и границ использует подход «разделяй и властвуй», при котором задачи разбиваются на подзадачи. Исходная задача разбивается на одну или несколько подзадач, i-ая из которых минимизирует в области. Мы можем последовательно разбивать областьна подобласти, продолжая процесс до тех пор, пока не удастся решить подзадачу. Полученные подобласти образуют дерево, называемоедеревом поиска или деревом ветвей и границ. Предположим, что для некоторой подзадачи, в которой функция f минимизируется в области , гдеX′ является подмножеством X, мы можем вычислить нижнюю границу такую, что

.

Алгоритм метода ветвей и границ

Алгоритм хранит список L нерешенных (активных) подзадач. Величину стоимости наилучшего допустимого решения, которое найдено на данный момент, будем обозначать буквой U.

Шаг 0. Инициализация. Принимаем . Исключаем очевидно неправдоподобные решения. Относим остальные решения к одному новому подмножеству. Переходим к шагу 2.

Шаг 1. Ветвление. Используем некоторое правило ветвления для выбора одного из оставшихся подмножеств, разбивая его на два или более подмножеств. Существует два общих правила:

Лучшее граничное правило. Делим подмножество с наименьшей границей, надеясь, что это даст лучший шанс на оптимальное решение и позволит отказаться от других подмножеств путем тестирования.

Новое граничное правило. Делим недавно созданные подмножества, отказываясь от лучшего граничного правила. Этот бухгалтерский учет имеет преимущества в том, что нам не нужно постоянно находится возле дерева. Это может оградить нас от некоторых вычислительных сложностей при расчете границ.

Шаг 2. Вычисление нижней границы. Для каждого нового подмножества Y вычисляем .

Шаг 3. Правила отсева. Исключаем из дальнейшего рассмотрения любое новое подмножество Y такое, что

(a) .

(б) Y не содержит допустимых решений.

(в) Мы можем найти оптимальное решение задачи минимизации f в области Y, скажем x′, такое что (Y) = f (x′). Если (Y) ≥ U, мы устраняем Y посредством теста (а). Если (Y) < U, мы принимаем U = ℓ(Y), сохраняем x′ как лучшее решение на данный момент, и повторно применяем тест (а) для всех остальных активных подмножеств.

Шаг 4. Правило остановки. Если не осталось активных подмножеств, останавливаемся. Полученное на данный момент лучшее решение является оптимальным. В противном случае, переходим к шагу 1.