Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
17-23.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
143.28 Кб
Скачать

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

В основе метода ветвей и границ лежит идея последовательного разбиения множества допустимых решений на подмножества (стратегия “разделяй и властвуй”). На каждом шаге метода элементы разбиения подвергаются проверке для выяснения, содержит данное подмножество оптимальное решение или нет. Проверка осуществляется посредством вычисления оценки снизу для целевой функции на данном подмножестве. Если оценка снизу не меньше рекорда — наилучшего из найденных решений, то подмножество может быть отброшено. Проверяемое подмножество может быть отброшено еще и в том случае, когда в нем удается найти наилучшее решение. Если значение целевой функции на найденном решении меньше рекорда, то происходит смена рекорда. По окончанию работы алгоритма рекорд является результатом его работы.

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

Вычисление нижней границы является важнейшим элементом данной схемы. Для простейшей задачи размещения один из способов ее построения состоит в следующем.

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

В ведем следующие переменные:

 

 

 

 

 

 

С использованием введенных обозначений простейшая задача размещения записывается следующим образом

yxij i I,  j J,

xij, yi , yi  {0, 1},    iI,  jJ.

Двойственная задача линейного программирования имеет вид:

vj  gij + wij,  iI, jJ,

wij  0, iI,  jJ.

Приближенное решение двойственной задачи используется в качестве нижней оценки.

Для сокращения размерности задачи применяется так называемый блок предварительной отбраковки. Он основан на применении условий дополняющей нежесткости для задач линейного программирования

  

Если для оптимального решения двойственной задачи выражение в скобках положительно для некоторого iΠI , то “скорее всего” в исходной целочисленной задаче y=0, и размерность можно уменьшить. Понятно, что данный эвристический прием не всегда приводит к правильному решению. Поэтому в качестве порога лучше брать не0а некоторую величину d ³ 0, выбор которой зависит от исходных данных. Эту величину называют порогом отбраковки. Очевидно, что при ³ max ci, размерность задачи не сокращается.

Другой способ уменьшения трудоемкости алгоритма состоит в искусственном завышении нижней оценки. Предположим, что нас интересует не только оптимальное решение, но и приближенные решения с относительной погрешностью не более e . Тогда завышение нижней оценки в (1 + e ) раз приводит к желаемому результату.

24.Нелинейное программирование. Постановка задачи

Общая задача нелинейного программирования (ОЗНП) определяется как задача нахождения максимума (или минимума) целевой функции f(x1, х2,..., xn) на множестве D, определяемом системой ограничений

где хотя бы одна из функций f или gi является нелинейной.

По аналогии с линейным программированием ЗНП однозначно определяется парой (D, f) и кратко может быть записана в следующем виде

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

Как и в ЗЛП, вектор х* = (x1*,x2*,...,xn*) D называется допустимым планом, а если для любого x D выполняется неравенство f(x*) ≥ f(x), то х* называют оптимальным планом. В этом случае х*является точкой глобального максимума.

С точки зрения экономической интерпретации f(x) может рассматриваться как доход, который получает фирма (предприятие) при плане выпуска х, а gi(х) ≤ 0 как технологические ограничения на возможности выпуска продукции. В данном случае они являются обобщением ресурсных ограничений в ЗЛП (аiх – bi ≤ 0).

Задача (2.2) является весьма общей, т. к. допускает запись логических условий, например:

или запись условий дискретности множеств:

Набор ограничений, определяющих множество D, при необходимости всегда можно свести либо к системе, состоящей из одних неравенств:

либо, добавив фиктивные переменные у, к системе уравнений:

Перечислим свойства ЗНП, которые существенно усложняют процесс их решения по сравнению с задачами линейного программирования:

1. Множество допустимых планов D может иметь очень сложную структуру (например, быть невыпуклым или несвязным).

2. Глобальный максимум (минимум) может достигаться как внутри множества D, так и на его границах (где он, вообще говоря, будет не совпадать ни с одним из локальных экстремумов).

3. Целевая функция f может быть не дифференцируемой, что затрудняет применение классических методов математического анализа.

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