Задачи дискретного программирования и метод ветвей и границ для их решения
Методические указания к курсовой работе по дисциплине «Методы оптимизации и принятия решений» для магистров 09.04.01 и 09.04.04 Трудоемкость (СРС): 12 часов. Типовые варианты: -Решить задачу дискретного программирования методом ветвей и границ -Решить задачу целочисленного программирования методом ветвей и границ -Решить задачу целочисленного линейного программирования методом ветвей и границ Общие сведения ЗАДАЧИ ДИСКРЕТНОГО ПРОГРАММИРОВАНИЯ И МЕТОД ВЕТВЕЙ И ГРАНИЦ ДЛЯ ИХ РЕШЕНИЯ Задачи дискретного программирования (ЗДП) - это задачи математического программирования при условии дискретности пространства управляемых параметров, т.е. X ϵ D, где D - конечное или счетное множество точек. ЗДП в формализованном виде записывается следующим образом: extr f(X) XϵXD XD = { X | φ (X) = 0, ψ (X) ≤ 0, X ϵ D }. Условие дискретности чаще всего задается для каждой компоненты: __ Xi ϵ Di (i = 1,n). Если лишь часть управляемых параметров X дискретна, то это задача частично - дискретного программирования. Если для параметра x вводится двустороннее прямое ограничение вида ___ ximin ≤ xi ≤ ximax, тогда Di (i = 1,n) - это конечное множество, и ЗДП становится комбинаторной. Наиболее распространенным методом решения ЗДП является метод ветвей и границ. Он заключается в разбиении множества XD допустимых значений X на несколько подмножеств и выяснении перспективности каждого из них. Перспективным называется подмножество, в котором может находиться точка экстремума. Если подмножество неперспективное, то оно исключается из рассмотрения. Перспективное подмножество подлежит дальнейшему разбиению. Разбиения и исследования на перспективность подмножеств продолжаются до тех пор, пока не будет выявлен экстремум. Исключение неперспективных подмножеств из рассмотрения обеспечивает направленность перебора, т.е. выполняется сокращенный, а не полный перебор.
Для реализации метода ветвей и границ рассмотрим основные положения, на которых он основывается. Для определенности будем решать задачу min f(X). X ϵ XD 1. Вычисление оценок границ целевой функции. ___ Предполагается, что для множества XD и его любого подмножества XDv ϵ XD (v = 1,V) можно найти оценку нижней границы целевой функции f(X), т.е. такое число ʓ (XDv), что для всех X ϵ XDv выполняется равенство ʓ (XDv) ≤ f(X). На рис.1 показан пример функции f(x) и ее нижней границы ʓ (XDv). Оценку нижней границы желательно формировать как можно ближе к значению минимума функции на рассматриваемом множестве, чтобы снизить трудоемкость метода ветвей и границ. Помимо оценки нижней границы функции, если возможно, формируется верхняя оценка оптимального значения целевой функции для всего множества XD. Если достаточно просто получить какое - либо допустимое решение Xд ϵ XD, то можно принять β = f(Xд).
2. Правила ветвления (разбиения) множеств. Метод ветвей и границ связан с разбиением каждого перспективного множества на подмножества, в результате чего получается дерево подмножеств. Поэтому для каждого конкретного класса задач должны быть сформулированы свои правила разбиения. Часто применяют следующее правило: каждое множество разбивается на два подмножества, и дальнейшему разбиению подлежит то подмножество, для которого оценка ʓ нижней границы функции будет меньше. На рис. 2 приведен пример дерева подмножеств. Кроме того, при наличии верхней оценки β, если для некоторого подмножества XD выполняется неравенство ʓ (XDs), то это подмножество не подлежит дальнейшему разбиению. V При получении полного разбиения множества XD на подмножества XDv: XD = U XDv, -
v=1 может быть введена нижняя граница ʓ (XD) целевой функции для всей ЗДП: ʓ (XD) = min ʓ (XDv). ___ v=1,V
В полное разбиение множества XD входят подмножества его дерева подмножеств, соответствующие его листьям. Для дерева подмножеств, изображенного на рис.2, полное разбиение имеет вид: XD = XD1 U XD22 U XD211 U XD212. 3. Признак оптимальности решения. Предполагается, что для конкретных типов задач существуют способы определения оптимального решения Xv задачи нахождения минимума функции на каждом подмножестве XDv: min f(X). Xϵ XDv V Если при полном разбиении множества XD = U XDv для некоторого подмножества XDs v=1 найдено оптимальное решение Xs, удовлетворяющее следующим двум условиям: 1) f(Xs) = ʓ (XDs); 2) ʓ (XDs) = min ʓ (XDv), ___ v=1,V то Xs является оптимальным решением всей ЗДП min f(X). X ϵXD Если для некоторого подмножества XDs выполняется первое условие, но не выполняется второе, то можно или сформировать верхнюю оценку оптимального значения целевой функции как β= ʓ (XDs), если она ранее не была получена, или скорректировать прежнее значение верхней оценки, если ʓ (XDs) < β, принимая новое значение β = ʓ (XDs).
4. Приближенное решение задачи. V Если XD =U XD и для некоторого XDs получено оптимальное решение X, причем выполняется v=1 только первое условие, то можно ограничиться приближенным решением Xs ЗДП. При этом имеем следующую точность полученного решения δ = f(Xs) - min ʓ (XDv). ___ v=1,V
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|