Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задачи дискретного программирования и метод ветвей и границ для их решения

Методические указания к курсовой работе по дисциплине «Методы оптимизации и принятия решений» для магистров 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...