Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tpr-crib-01-42.doc
Скачиваний:
1566
Добавлен:
20.09.2019
Размер:
2.64 Mб
Скачать

33 Метод ветвей и границ, решение линейных целочисленных задач.(Метод Ленд и Дойг)

Этот метод разработан для решения задач частично целочисленного программирования. Минимизировать

(3.11)

при условиях

(3.12)

(3.13)

(3.14)

Некоторые из dj могут быть равны +inf. При решении задачи предполагается, что область допустимых значений является ограниченным многогранным множеством.

Решение задачи осуществляется следующим образом.

Сначала решается обычная задача линейного программирования (3.11) - (3.13). Если полученный оптимальный план Х0 не удовлетворяет условиям целочисленности, то значение целевой функции f(x^0)=ϕ0 дает нижнюю границу для искомого экстремума, т.е. minf(x)≥ϕ0. Рассмотрим какую-то переменную xi0 (1≤i0≤n1), которая в данном плане не получила целочисленного значения. В оптимальном целочисленном плане значение xi0 должно быть либо уменьшено по крайней мере до [Хi0], либо увеличено по крайней мере до [Хi0]+1 (что ещё можно записать как ]Хi0[). Если границы изменения Хi0 не были заданы, то их можно вычислить, решив две ЗЛП (максимизации и минимизации Хi0, при условиях (3.12) - (3.13)). Затем для каждого фиксированного значения ki0 в найденном отрезке можно найти minf(x) путем решения задачи линейного программирования (3.11) - (3.13) с дополнительным ограничением Хi0=ki0.

Возможные разновидности таких ЗЛП можно представить в виде некоторого дерева задач, в котором вершина 0 соответствует исходному плану X0, а каждая из соединенных с ней ветвью вершин отвечает оптимальному плану задачи минимизации f(x) при ограничениях (3.12) - (3.13) и дополнительном ограничении Хi0=ki0.

Каждой из вершин приписывается граница ϕk=ϕ(i0,k), равная минимальному значению f(x) для соответствующей задачи. Понятно, что ϕ0 = ϕ(i0,k) для всех k. Процесс продолжается до тех пор, пока дальнейшее ветвление становится невозможным. При ветвлении каждой вершине в качестве её границы приписывается оценка, равная значению целевой функции в ЗЛП, соответствующей этой вершине. Итак, оптимальный план в конечном итоге дает вершина с минимальным f(x). Собственно, алгоритм метода Ленд и Дойг следующий:

1. Задание исходного множества. Множество G0=G задается условиями (3.12) - (3.14).

2. Задание остальных множеств. Множества G (kнадj), V=1,2,...,rk; k=1,2... определяется условиями (3.12) и (3.14) и дополнительным условием

(3.13а)

3. Вычисление оценок (границ). Для G(0надk) ϕ(G0)=f(x0), где х (0надk) - оптимальный план ЗЛП (3.11)-(3.13). Для G(kнадV) ϕ(G(kнадV))=f(x(kнадV)), где x(kнадV) - оптимальный план ЗЛП (3.11), (3.12), (3.13а). Если множество G(kнадV) оказывается пустым, т.е. соответствующая ЗЛП неразрешима, то ϕ(G(kнадV))=+inf.

4. Вычисление планов. Если Х0 удовлетворяет 3.14, то Х0 является оптимальным планом задачи (3.11) -(3.14). Если Х(kнадV) удовлетворяет условию (3.14), то Х(kнадV) является оптимальным планом задачи (3.11), (3.12), (3.13а), (3.14) и планом задачи (3.11) - (3.14).

5. Ветвление. Оно возникает всегда, когда план Х(kнадV) не удовлетворяет условию целочисленности (3.14). Пусть Xr (k над V(k)) - нецелочисленная компонента такого плана (1≤r≤n1), тогда множество G(kнадV(k)) разбивается на два подмножества:

где и

В случае, если все cj в целевой функции целые для j≤n1 и равны 0 для j>n1, оценку ϕ(G(kнадV)) можно заменить на более сильную оценку ϕ(G(kнадV))=]f(x(kнадV))[.

Конечность алгоритма следует из предположения об ограниченности множества (3.12) - (3.13).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]