Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematika / Модуль 1 / Лекция 4(Дискретное прогр.).doc
Скачиваний:
94
Добавлен:
26.04.2015
Размер:
125.95 Кб
Скачать

2. Метод ветвей и границ.

Общая идея.

Так как переменные могут принимать лишь целые значения или конечное их число, то можно решить задачу простым перебором всех допустимых целых значений и непосредственным выбором оптимального решения. Естественно, что эта идея становится удобной тогда, когда можнобудет дополнительными рассуждениями сократить этот перебор. Во-первых, если к непрерывной задаче добавить требование целочисленности, то решение не может быть лучше. Таким образом, в качестве оценки целевой функции целочисленной задачи принимают значение целевой функции непрерывной задачи.

Обозначим все множество допустимых

значений М. Если разбить его на два: А и В;

и решить отдельно две задачи с разными

допустимыми значениями и с одной

целевой функцией: FAиFB. Ясно, что

имеется большая вероятность того, что

оптимальный вариант решения, то есть вариант

с минимальной оценкой целочисленной

функции окажется в том из подмножеств,

которое имеет наименьшую оценку. Эта

вероятность тем больше, чем больше отличаются

друг от друга FAиFB. Далее разбиваем В на два подмножества: C и D и т. д. до тех пор, пока не придем к подмножеству, состоящему из одного элемента с Fo. При этом этот элемент может лишь подозреваться как оптимальный. Необходимо проверить все оставленные «ветви», у которых F < Fo. Следует выбрать Fmin.

Схема решения.

1. Определяем решение непрерывной задачи:

1) если в результате переменные принимают целые значения задача решена;

2) если получено дробное значение хотя бы одной переменной, множество

допустимых значений разбивают на два.

2. Пусть хi=bi*- дробное значение, полученное в результате решения непрерывной задачи.bi* = [ bi*] + {bi*} (целая и дробная части).

Если дробных значений переменных несколько, рекомендуется разбиение проводить для той хi, у которой дробная часть {bi*}максимально близка к 0,5. Разбиение осуществляется следующим образом:

Задача 1. Задача 2.

Исходные ограничения Исходные ограничения

+ хi [ bi*] + хi [ bi*] + 1

F min Fmin

3. Если при решении этих двух задач опять не получают целых значений переменных, то задача разветвляется дальше, то есть переход к п. 2.

Замечание.Обе задачи решаются двойственным симплекс-методом.

Пример.

3. Метод сечений.

Общая идея.

Идея, на которой основаны все методы сечений, состоит в следующем. Если решение непрерывной задачи есть точка с целочисленными координатами, то решение найдено. В противном случае легко «усечь» область решений (добавляя дополнительное ограничение) так, чтобы устранить дробные значения, не исключая ни одного целого. Такое дополнительное ограничение называют сечением.

Например, для примера (см.вопрос 2), непрерывный оптимум был равен

Fmax= 59, х = (5,9; 0). Дополнительное ограничение х15 устраняет эту точку, не исключая никаких целых решений. Следовательно, это сечение. Кроме того, любое ограничение вида х1+ х2, где 55,9 – есть сечение.

Таким образом, возможных сечений много, бесконечно много.

После добавления одного или нескольких сечений, задача решается двойственным симплекс-методом. И так до тех пор, пока не будет получено целочисленное решение.

Если на каждом шаге сечение выбирается корректно, то в конце концов непрерывное решение расширенной окажется целым, и задача будет решена. Ясно, что выбор сечений является определяющим для сходимости метода. В настоящее время не существует определенного метода, позволяющего определить «хорошее», «лучшее» сечение. Первый метод такого рода был разработан Гомори в 1958 г., и на его с тех пор было развито несколько методов.

Схема решения.

  1. Определяется решение непрерывной задачи:

    1. если в результате переем енные принимают целые значения, то решение найдено;

    2. если хотя бы одна переменная приняла дробное значение, составляется сечение Гомори.

2. , если хj=bi*- дробное число,* - отмечены значения из

оптимальной таблицы. (Дробной частью числа а называют наименьшее неотрицательное число в, такое, что а – в – целое число)

3. Решается расширенная задача, и переходят к п. 1.

Замечания.

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

  2. Если, ясно, что значение целевой функции должно быть целым, то строка с целевой функцией также может быть использована для построения сечения.

  3. Если переменных, имеющих дробное значение несколько, то дополнительное ограничение составляют для той, которая имеет максимальную дробную часть.

Пример.

Если решается смешанно-целочисленная задача, то дополнительное ограничение будет иметь вид.

, где

- для хj- произвольных.

- для хj– целых.