
- •Двусторонние шпоры по файзу
- •Печатай прямо этот файл
- •Теория принятия решений [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. Интерактивные методы принятия решений
Двойственный симплекс-метод
Прямая задача решается двойственно: в начальном и последующих базисных решениях выполняются условия оптимальности (все оценки неотрицательны при максимизации), но вектор Х неположителен, а значит, недопустим. В разрешимой задаче итерации метода приводят к допустимому Х, который и будет оптимальным решением задачи.
Поэтому
цикл начинается с анализа базисных
переменных. Если все переменные
неотрицательны, вычисления завершаются.
Иначе выбирается направляющая строка
k по минимальной базисной переменной.
Затем вычисляются значения :
для < 0.(40)
Если в прямом методе формула следует из требования получения нового неотрицательного решения, то здесь – из необходимости соблюсти в новом решении условия оптимальности. При отсутствии в направляющей строке отрицательных kj констатируется неразрешимость задачи из-за противоречивости условий. Действительно, равенство с отрицательной правой частью и всеми неотрицательными коэффициентами при переменных в левой части не может быть удовлетворено неотрицателными переменными. Направляющий столбец r определяется по минимальному . Далее текущая симплекс-таблица пересчитывается так же, как в прямом методе. В результате получается новое базисное решение, в котором, по крайней мере, xk станет неотрицательной.
В разрешимой задаче такой алгоритм приведет к оптимальному решению за конечное число итераций. Двойственный метод отличается от прямого свойствами начального решения и правилами выбора направляющего элемента.
9. Декомпозиция задач планирования большой размерности.
При решении задач большой размерности значительная часть времени тратится на обращения к внешней памяти и это является главным препятствием на пути увеличения размерности задач. Уменьшить число обращений к внешней памяти можно, если удается большую задачу заменить рядом задач существенно меньшей размерности. Приемы и методы, позволяющие выполнять такие преобразования, составляют предмет блочного программирования.
Метод декомпозиции Данцига - Вулфа
Рассмотрим математические преобразования, приводящие к разбиению исходной задачи, а затем покажем, в каких случаях это дает эффект по сравнению с непосредственным решением большой задачи. Пусть имеется следующая модель задачи:
L=CTXmax;(1) AX=B;(2) X0,
(3) где вектор X
имеет размерность n,
а вектор B
– m.
Условия (2), (3) определяют допустимое
множество задачи D.
Представим матрицу А
и вектор В
в виде двух подматриц:
Тогда условия задачи (2)-(3) записываются
следующим образом:
А(0)Х=В(0);(4) А(1)Х=В(1);(5) Х0(6)
Условия (4), включающие m0 равенств, порождают допустимое множество D0, а система (5) содержит m1 равенств и вместе с (6) задает множество D1. Очевидно, что m=m0+m1, D= D0 D1. При этом выделение подматриц выполняется так, что m1>>m0.
Далее будем полагать, что множество D1 ограниченное и, значит, является выпуклым многогранником. В противном случае его легко сделать ограниченным добавлением ограничений сверху на переменные так, что они не повлияют на исходное множество D.
Предположим, что нам известны вершины множества D1. Обозначим их координаты через Х1, Х2,…, ХN, где N – число вершин. Поскольку D1 – выпуклый многогранник, то любую его точку можно представить в виде линейной комбинации вершин:
Х=
zX;(7)
z=1;(8) z0,
v.(9)
Так
как все решения Х,
определяемые по (7)-(9), принадлежат D1,
то описание (7)-(9) эквивалентно (5), (6).
Подставим Х
в виде (7) в (1) и (4): L
=
CT
zX;
A(0)Xz=B(0). Считая X известными, введем обозначения: СТХ=; (10)
А(0)Х=Р.(11) Тогда преобразованная модель задачи запишется в виде
L=
zmax;
Pz=B(0);
z=1; z0.
В
этой модели неизвестными являются z,
число которых равно числу вершин
многогранника D1.
Последнее равенство модели можно
объединить со всеми остальными, используя
обозначения расширенных векторов
.(12)
Тогда
окончательно получим:L=
zmax;(13)
z
=
; (14)z0. (15)
Задача
в виде (13) – (15)
называется координирующей
или основной
задачей.
Главное отличие этой задачи от исходной
в несравнимо меньшем числе условий
(m0+1<<m).
Если мы сможем ее решить, то есть найти
Z*,
то получим решение и исходной задачи,
воспользовавшись (7):
Х*=
z*X.(16)
Для
решения основной задачи применим
модифицированный симплекс-метод.
Начальное решение можно построить, не
зная ни одной вершины, с помощью
искусственных переменных zN+i.
Согласно модифицированному методу
после получения очередного базисного
решения вычисляются относительные
оценки.
Перепишем
их в обозначениях координирующей задачи:
(17)
или
окончательно
(18)
Мы не можем вычислить все оценки, так как нам не известно даже их число. Но этого и не требуется, достаточно только определить: есть или нет среди них отрицательные. Будем искать наименьшую оценку. Если она отрицательная, текущее решение координирующей задачи может быть улучшено введением переменной с этой оценкой. В противном случае констатируется выполнение признака оптимальности.
Задача состоит в следующем: min.
Отбросив
в (18) константу, запишем ее в виде
(TA(0)-CT)X
(19)
Решение
задачи (19) проблематично, так как минимум
ищется на дискретном множестве вершин
многогранника D1.
Учитывая, что минимизируемая функция
линейная, будем искать решение не на
вершинах, а на всем многограннике.
Известно, что если решение существует,
то оно будет достигаться в вершине.
Поэтому решение на всем (непрерывном)
множестве D1
совпадет
с решением задачи (19). Задачу (19) заменяем
эквивалентной: Lвсп=
(TA(0)-CT)X
(20) A(1)X
= B(1);
(21) X
0. (22)
Эта
задача называется вспомогательной.
Если она неразрешима, то и исходная
задача не имеет решения. Пусть оптимальное
решение вспомогательной задачи (20)-(22)
достигается в вершине r.
Это означает, что нам становятся известны
координаты вершины Xr
и оптимальное значение критерия
.
То согласно формуле (18) вычисляем
минимальную оценку
(23)
Если
r0,
то и все оценки неотрицательны, и решение
координирующей задачи завершено. При
отрицательной r
решение продолжается.
В базис основной задачи вводится вектор
,
определяемый по формуле
(30) Направляющий столбец находится
разложением этого вектора по текущему
базису:
. (31)
После определения направляющего элемента и симплекс-преобразования получаем новое решение основной задачи. Коэффициент критерия (13) при переменной, введенной в базисное решение, вычисляется согласно (10):r =CTXr. (32)
По
формуле (17) находим новый вектор
,
снова решаем вспомогательную задачу и
по полученной минимальной оценке делаем
вывод о дальнейших действиях.
Решение исходной задачи заменяется многократным решением основной и вспомогательной задач. При этом порядок размерности вспомогательной задачи такой же, как у исходной. В тех случаях, когда сложность решения вспомогательной задачи намного ниже, чем исходной. Такие случаи имеют место, когда матрица условий задачи (после упорядочения строк и столбцов) оказывается почти-блочно-диагональной. Примером может служить задача планирования производства продукции в крупной фирме или холдинге, когда у каждого предприятия своя номенклатура продукции, а некоторые ресурсы являются общими. Подматрица А(0), входящая в параметры координирующей задачи, соответствует ограничениям по общим ресурсам. Такие условия называют связующими. Их относят к основной задаче.
О
стальные
условия образуют вспомогательную
задачу. При этом подматрица А(1)
имеет блочно-диагональную структуру,
что позволяет разбить вспомогательную
задачу на p
независимых
задач:
После
решения этих задач определяется критерий
вспомогательной задачи по очевидной
формуле
Решение вспомогательной задачи
существенно упрощается, если структура
матрица условий может быть приведена
к блочно-диагональной.
Решение транспортной задачи методом Данцига-Вулфа
Применим
метод декомпозиции к Т-задаче:
(33)
(34)
(35) Хij0. (36)
Использование
этого метода целесообразно, если m<<n
или m>>n.
Оба варианта решаются идентично. Они
отличаются только распределением
условий между основной и вспомогательной
задачами. Рассмотрим случай, когда
m<<n.
Тогда основная задача формируется по
условиям пунктов отправления.
Следовательно, множество D0
описывается ограничениями (34), а D1
– условиями (35) и (36). Множество D1
представляет
собой выпуклый многогранник (ограниченность
вытекает из условий). Поэтому любую
точку в D1
можно
представить в виде линейной комбинации
его вершин:
(37) Zv=1;
(38) Zv0,
(39)
где
Xvij
– координаты v-ой
вершины. Подставим (37) в (33) и (34):
. Введем
обозначения:
(40)
(41)
Тогда
основная задача запишется в виде
(42)
(43)
(44) Zv
0. (45)
Суммируя (43) и используя подстановки (41) и (35), получаем в левой части
в
правой части
Получаем
откуда для сбалансированной
задачи
следует
Поэтому при решении основной задачи
условие (44) из модели исключается.
Для
определения статуса текущего базисного
решения основной задачи необходимы
относительные оценки. Для построения
вспомогательной задачи сделаем ряд
преобразований:v=
TPv
-
v
=
Так как основная задача решается на минимум, то оптимальному статусу соответствуют неположительные оценки. Поэтому нужно искать максимальную оценку. Если она окажется не больше нуля, то все оценки неположительны и признак оптимальности выполнился. В противном случае необходимо продолжить решение основной задачи.
Задача
ставится так:
Вместо
поиска максимума на дискретном множестве
вершин
перейдем
к эквивалентной задаче поиска на всем
непрерывном множестве D1:
(46)
(47) Xij
0.(48)
Эта
задача является вспомогательной.
В оптимальном решении этой задачи
Вспомогательная
задача включает одну группу условий
(47). Каждая переменная входит в такие
условия только один раз. Поэтому равенства
(47) оказываются независимыми и
вспомогательная задача распадается на
n
простейших независимых задач, каждая
из которых имеет всего одно условие:
(49)
(50) Xij
0.(51)
Критерий
вспомогательной задачи равен сумме
критериев этих задач:
(52)
Оптимальное
решение задачи (49)-(51), как линейной,
находится на границе.
При этом только одна переменная не равна
нулю (базис имеет размерность 1). Поэтому
ее решение состоит в определении
максимального коэффициета в критерии
(49). Пусть максимум достигается на индексе
i*,
то есть
Тогда имеем следующее решение задачи (49)-(51): Xvi*j =bj, Xvij=0, i, ii*, (53)
и
максимальная оценка определится как
.
Если L*всп 0, то положительных оценок нет и текущее решение основной задачи будет оптимальным.
При L*всп > 0 начинается новая итерация:
1. пo (41) и (40) находим Рv и v;
2. вычисляем элементы направляющего столбца как коэффициенты разложения вектора Рv по текущему базису: v=P-1BPv;
3. проводим симплекс-преобразование основной задачи, в результате которого получаем новое решение и новую обратную матрицу;
4. вычисляем T=TBP-1B;
5.
решаем вспомогательную задачу: вычисляем
разности
,
находим оптимальные решения n
задач (49)-(51) и максимальную оценку
основной задачи.
Из рассмотренной вычислительной схемы следует, что эффективность метода тем выше, чем сильнее неравенство m<<n или m>>n.