- •Двусторонние шпоры по файзу
- •Печатай прямо этот файл
- •Теория принятия решений [3, 4]
- •1. Классы задач принятия решений, системный анализ и характеристика его этапов.
- •2. Графы и показатели эффективности смо с простейшими потоками.
- •6. Замкнутые смо.
- •3. Принятие решений в условиях риска, неопределенности и конфликты.
- •4. Основы линейного программирования. Область применения. Постановка задачи
- •Каноническая форма задач лп
- •Стандартная форма задачи лп
- •Основные понятия лп. Свойства задач лп
- •Методы решения задач лп
- •Симплекс-метод. Характеристика метода
- •М одифицированный алгоритм симплекс-метода
- •Модели управления транспортными потоками.
- •Простейшая транспортная задача (т-задача)
- •Транспортная задача с ограниченными пропускными способностями (Td - задача)
- •Задачи с неоднородным грузом
- •Многоиндексные задачи
- •Транспортные задачи по критерию времени
- •6. Оптимизация транспортных потоков. Метод потенциалов
- •Построение начального плана перевозок
- •Правило северо-западного угла
- •Переход от одного плана перевозок к другому
- •Признак оптимальности
- •Алгоритм метода потенциалов
- •7. Методы управления проектом.
- •8. Двойственность задач оптимизации. Двойственность задач лп
- •Интерпретация двойственной задачи
- •Запись двойственной задачи в общем случае
- •Теоремы двойственности
- •Двойственный симплекс-метод
- •9. Декомпозиция задач планирования большой размерности.
- •Метод декомпозиции Данцига - Вулфа
- •10. Методы определения целочисленных решений.
- •Метод отсечений
- •Метод ветвей и границ
- •Аддитивный алгоритм
- •11. Основы динамического программирования. Достоинства и недостатки метода.
- •Работа метода дп
- •Функциональное уравнение дп
- •Многомерные задачи динамического программирования
- •Снижение размерности с помощью множителей Лагранжа
- •12. Оптимизация надежности технических систем, систем распределения ресурсов.
- •4.2.3. Сбалансированная транспортная задача
- •13. Классы задач нелинейного программирования и методы их решения. Х арактеристика задач
- •Условия оптимальности
- •Методы решения задач нп
- •14. Задачи нелинейного программирования, сводящиеся к линейным. Квадратичное программирование
- •Сепарабельное программирование (сп)
- •Задачи дробно-линейного программирования
- •15. Классификация и характеристика методов «спуска».
- •Методы одномерной минимизации. Метод деления шага пополам
- •Квадратичная аппроксимация
- •Метод деления интервала пополам
- •Метод золотого сечения
- •Метод Фибоначчи
- •Метод первого порядка
- •Методы второго порядка
- •Многомерный поиск безусловного минимума Метод Гаусса-Зейделя (покоординатного спуска)
- •Метод Хука-Дживса (метод конфигураций)
- •Симплексный метод
- •Градиентные методы
- •Метод Ньютона
- •М етоды сопряженных направлений
- •Методы условной оптимизации
- •Метод проектирования градиента
- •Метод штрафных функций
- •Метод барьерных функций
- •16. Методы случайного поиска и генетические алгоритмы.
- •8.8.7. Методы случайного поиска
- •Алгоритм с возвратом при неудачном шаге
- •Алгоритм с обратным шагом
- •Алгоритм наилучшей пробы
- •Алгоритм статистического градиента
- •8.8.8. Генетические алгоритмы
- •17. Особенности принятия решений при многих критериях.
- •18. Методы свертки и целевого программирования в принятии решений по многим критериям.
- •10.2.1.4. Линейная свертка
- •10.2.1.5. Максиминная свертка
- •10.2.1.7. Целевое программирование (цп)
- •19. Интерактивные методы принятия решений
Метод ветвей и границ
Метод можно применять как к полностью, так и частично целочисленным задачам.
Метод заключается в построении дерева задач. Оценка V– это значение критерия, заведомо не хуже оптимального, а рекорд Z – достигнутое в процессе решения значение критерия исходной задачи. Задача будет порождающей только при условии, что ее оценка лучше рекорда. При этом уровень, на котором находится задача, не имеет значения.
Рассмотрим
метод применительно к линейной
целочисленной задаче. Используется
разбиение на две задачи, то есть строится
бинарное дерево. При этом для целочисленных
множеств выполняются соотношения
(9)
Алгоритм:
1. Задается начальное значение рекорда и в список задач помещается исходная задача без требования целочисленности переменных.
2. Анализируется список задач: если он пуст, то переход на шаг 6. Иначе выбирается одна из задач с удалением ее из списка.
3. Выбранная задача решается одним из методов линейного программирования. Если задача неразрешима или оптимальное значение критерия L* Z, ветвь обрывается (задача прозондирована). Переход на шаг 2.
4. Полученное решение анализируется на целочисленность. Если решение целочисленное, оно фиксируется, рекорду присваивается оптимальное значение критерия решенной непрерывной задачи (Z:=L*), ветвь обрывается и осуществляется переход на шаг 2.
5.
Выбирается одна из переменных, имеющих
нецелочисленные значения. По ней
производится ветвление: порождаются 2
задачи, одна образуется присоединением
к решенной (родительской) задаче условия
хj
,
другая – добавлением к родительской
ограничения хj
+1.
Эти задачи заносятся в список задач.
Переход на шаг2.
6. Вывод результатов (если значение рекорда больше начального, получено оптимальное решение исходной задачи, иначе задача неразрешима).
Число решаемых задач существенно зависит от выбора задачи из списка и переменной для ветвления. Из алгоритма, что ветвь обрывается по одной из трех причин:
- неразрешимость задачи;
- задача имеет целочисленное решение;
- верхняя оценка не больше рекорда.
Метода ветвей и границ имеет преимущества в сравнении с методом отсечений: накопление ошибок менее значительное, так как решение идет по разным ветвям; при принудительной остановке процесса решения высока вероятность получения целочисленного результата, но без установления его оптимальности; при решении непрерывных задач размеры симплекс-таблиц не увеличиваются.
Недостатки метода ветвей и границ:
- Нельзя оценить число задач, которые придется решать; Отсутствие признака оптимальности. Оптимальность устанавливается только по исчерпании списка задач; Размерность ограничена примерно 100.
Аддитивный алгоритм
Он разработан применительно к задачам с булевыми переменными. Алгоритм представляет собой реализацию одного из методов частичного перебора.
Модель задачи должна быть представлена в стандартной форме.
L=
(10)
(11)
(12)
Требования: все условия неравенства; cj – неотрицательны, если ck < 0 xk = 1-xk; постоянная в критерии не влияет на решение.
Представим
условия (11) в канонической форме:
,
(13)
где Si – дополнительные переменные. Тогда начальное решение очевидно: хj=0 и Si=bi. Как уже говорилось, если Si 0, оно оптимально. В противном случае осуществляется частичный перебор решений. Для пояснения алгоритма восполььзуемся табл., которая аналогична симплексной.
A0 (Решение) |
x1 |
x2 |
. . . |
xn |
S1 |
S2 |
. . . |
Sm |
b1 |
a11 |
a12 |
. . . |
a1n |
1 |
0 |
. . . |
0 |
b2 |
a21 |
a22 |
. . . |
a2n |
0 |
1 |
. . . |
0 |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
. . . |
bm |
am1 |
am2 |
. . . |
amn |
0 |
0 |
. . . |
1 |
L |
c1 |
c2 |
. . . |
cn |
0 |
0 |
. . . |
0 |
В алгоритме переменные разделяются на фиксированные и свободные. Переменную которой присвоено определенное значение, называют фиксированной. Значение свободной переменной можно изменять. Основным объектом алгоритма является частичное решение – это решение, в котором часть переменных фиксирована. Оно описывается упорядоченным множеством индексов фиксированных переменных. При этом индекс переменных, равных нулю, записывается со знаком "минус" It={-2, 4}.
Первоначальное частичное множество всегда пустое (I0=), а значение рекорда z=. Алгоритм состоит из четырех проверок, которые выполняются для того, чтобы определить наличие перспективных свободных переменных. Если такая переменная находится, то изменяя ее значение, можно улучшить результат. По умолчанию принято, что свободные переменные находятся на нижнем уровне (равны нулю). Частичное решение считается прозондированным, если оно не может привести к допустимому решению и уменьшению значения критерия.
Пусть имеем частичное решение It с критерием Lt и вектором дополнительных переменных St=(S1t, S2t, ..., Smt). К нему применяются следующие проверки.
1. Для каждой свободной переменной xr проверяются коэффициенты air в строках с Sit<0 (табл.). Если во всех таких строках air0, переменная xr исключается, так как изменение ее значения с 0 на 1 не приведет к положительности хотя бы одной из рассматриваемых Sit.
2. Анализируется возможность улучшения критерия. Если для свободной переменной xr выполняется неравенство Cr + Lt z, изменение ее значения не может привести к уменьшению рекорда. Поэтому она исключается.
Оставшиеся после этих проверок свободные переменные образуют множество Pt. Если оно пустое, то текущее частичное решение не перспективно, то есть считается прозондированным.
3.
Выясняется возможность получения
допустимого решения на основе данного
частичного. В строках с Sit<0
проверяется условие
(14)
Если оно выполняется хотя бы для одной строки, все переменные из Pt исключаются. В этом случае решение It считается прозондированным (ветвь обрывается).
Если условия (14) не выполняются, проводится проверка 4.
4.
При Pt
ветвь продолжается. Для получения нового
частичного решения из It
вычисляются оценки каждой переменной
из
Pt:
(15)
Оценка
дает суммарную величину недопустимости,
остающейся после изменения значения
переменной xj
Pt
c
0 на 1. Как видно из (15), отрицательная
оценка свидетельствует о наличии
недопустимости. Из полученных оценок
определяется максимальная
.
(16)
Очевидно, что если vkt=0, то изменение xk с 0 на 1 дает допустимое решение с меньшим значением критерия. Поэтому рекорду z присваивается значение Lt+Ck, а новое частичное рещение It+1={It, k} считается прозондированным. Если же vkt < 0, то допустимое решение не достигнуто и частичное решение It+1={It, k} подвергается всем проверкам. Если в результате проверок оно окажется прозондированным, новое частичное решение получают из It+1 изменением знака индекса введенной переменной: It+2={It, -k}, то есть фиксацией xk со значением 0.
