
- •Теория принятия решений
- •Часть 2 нелинейное программирование, теория игр, многокритериальные задачи принятия решений
- •Введение
- •4. Нелинейное программирование
- •4.1. Характеристика задач
- •4.2. Условия оптимальности
- •4.3. Квадратичное программирование
- •4.4. Сепарабельное программирование
- •4.5. Задачи дробно-линейного программирования
- •4.6. Методы спуска
- •4.7. Методы одномерной минимизации
- •4.7.3. Метод деления интервала пополам
- •4.7.4. Метод золотого сечения
- •4.7.6. Метод первого порядка
- •4.8. Многомерный поиск безусловного минимума
- •4.8.1. Метод Гаусса – Зейделя (покоординатного спуска)
- •4.8.2. Метод Хука – Дживса (метод конфигураций)
- •4.8.3. Симплексный метод
- •4.8.4. Градиентные методы
- •4.8.6. Методы сопряженных направлений
- •4.8.7. Методы случайного поиска
- •Алгоритм с возвратом при неудачном шаге
- •Алгоритм с обратным шагом
- •Алгоритм наилучшей пробы
- •Алгоритм статистического градиента
- •4.8.8. Генетические алгоритмы
- •Исходная популяция
- •Результаты работы оператора скрещивания
- •Популяция первого поколения
- •4.9. Методы условной оптимизации
- •4.9.2. Метод проектирования градиента
- •4.9.3. Метод штрафных функций
- •Минимизация по методу Ньютона
- •4.9.4. Метод барьерных функций
- •Результаты поиска алгоритмом барьерных функций
- •4.9.5. Другие методы условной оптимизации
- •5. Методы теории игр в управлении
- •5.1. Теория игр в контексте теории принятия решений
- •5.2. Матричные игры с нулевой суммой
- •Использование линейной оптимизации при решении матричных игр. Пусть игра не имеет оптимального решения в чистых стратегиях, т.Е. Седловая точка отсутствует .
- •5.3. Игры с природой
- •5.4. Критерии, используемые для принятия решений
- •В играх с природой. Критерии, основанные
- •На известных вероятностях стратегий природы
- •Иногда неопределенность ситуации удается в некоторой степени ослабить с помощью нахождения вероятностей состояний на базе данных статистических наблюдений.
- •5.5. Оценка необходимости эксперимента
- •6. Многокритериальные задачи принятия решений
- •6.1. Основы многокритериальный оптимизации
- •6.2. Принцип оптимальности Парето.
- •6.3. Принцип равновесия по Нэшу
- •6.4. Конфликты, переговоры и компромиссы
- •6.5. Краткий обзор методов решения задачи векторной оптимизации
- •Значения компонентов вектор-функции
- •1. Оптимальность по Парето
- •Исходные данные для задачи оптимизации по Парето
- •Эффективность операции
- •2. Принятие решений в условиях неопределенности
- •Исходные данные для задачи принятия решения в условиях неопределенности
- •3. Многокритериальная оптимизация
- •Заключение
- •Библиографический список
- •Оглавление
- •Теория принятия решений
4.5. Задачи дробно-линейного программирования
Если целевая функция представляет собой отношение линейных функций, а все условия линейные, то задача относится к классу задач дробно-линейного программирования.
В общем случае целевая функция имеет вид
(4.28)
Такая функция легко преобразуется в линейную, если ее знаменатель при всех допустимых значениях переменных строго положителен. Для этого введем новую переменную r следующим образом:
(4.29)
Очевидно, что при оговоренном условии она может быть только больше нуля. Тогда функция (4.28) принимает вид
Произведя замену произведения переменных
(4.30)
окончательно имеем
(4.31)
Получили линейную функцию от n неотрицательных переменных yj и одной положительной переменной r. Эта функция должна рассматриваться вместе с условием, следующим из уравнения (4.29):
или после замены произведения переменных (4.30)
(4.32)
Чтобы завершить построение эквивалентной линейной модели, следует ограничения задачи записать в новых переменных. Для этого умножим обе части каждого ограничения
на r и, произведя замену, получим
(4.33)
В результате
преобразований имеем задачу линейного
программирования с критерием (4.31),
ограничениями (4.32), (4.33) и переменными r
> 0, yj
0, j.
Получив ее решение одним из методов ЛП,
вычисляем исходные переменные по
очевидной формуле
Чтобы гарантировать выполнение условия положительности знаменателя, целесообразно вводить его явно в модель, т.е. добавлять неравенство
где – очень малая положительная константа.
Возможность
перехода к линейной задаче геометрически
обусловлена тем, что линии уровня
дробно-линейной функции описываются
линейным уравнением. Действительно,
пусть .
Тогда из уравнения (4.28) следует
,
или
.
(4.34)
Это обычное линейное
уравнение относительно xj.
Поэтому линии уровня функции (4.28) в
многомерном пространстве гиперплоскости,
а в двухмерном – прямые. Однако с
изменением
они не перемещаются параллельно, а
поворачиваются вокруг множества
вращения.
Множество вращения – это множество точек размерности n – 2, образованное пересечением нулевых линий уровня числителя и знаменателя:
При n = 2 оно состоит из одной точки, а при n = 3 представляет собой прямую (ось вращения), образованную пересечением двух плоскостей.
Пример 4.5. Представим графически следующую задачу:
3x1 + 2x2 6;
0 x1 3; 0 x2 3.
Уравнения
нулевых линий уровня числителя и
знаменателя образуют систему
из которой находим
точку вращения:
x1
= x2
= 1/3. На рис. 4.7 это точка А.
Нулевые линии показаны пунктиром, а
направление поворота, в котором целевая
функция возрастает, – стрелками. Отсюда
ясно, что оптимальное решение достигается
в вершине B:
.
4.6. Методы спуска
Методами спуска называются численные итерационные методы оптимизации, ориентированные на поиск минимума.
Общая схема решения заключается в генерации последовательности приближений, асимптотически сходящейся к минимуму. Как правило, это локальный минимум, но в случае задач выпуклого программирования он является и глобальным. За конечное число итераций методы позволяют получить приближенное решение с заданной наперед точностью. Сходимость метода, как и скорость сходимости, зависят от свойств задачи и начального приближения. Скорость сходимости во многом определяет эффективность метода. Основными показателями эффективности (скорости сходимости) являются число итераций и число вычислений функции при прочих равных условиях. Количество итераций для одной и той же задачи сильно зависит от начального приближения (начальной точки) и требуемой точности. При этом количество необходимых итераций растет гораздо быстрее, чем точность.
При выборе метода следует учитывать свойства целевой функции: унимодальность или многоэкстремальнсть, дифференцируемость, выпуклость-вогнутость или их отсутствие и т.д. Кроме того, функции могут обладать «неприятными» для метода особенностями, такими как седловые точки и «овражность». «Овраг» (при максимизации «гребень») проявляется в том, что вдоль него функция изменяется намного слабее, чем в поперечном направлении. На карте линий уровня он виден по сильной вытянутости линий вдоль «дна оврага» с одновременной «сплющенностью» в поперечнике. Самым простым примером такой функции является эллипсоид
.
Приa >>
b функция
имеет «овраг» вдоль оси x1,
которая является его «дном» (рис. 4.8).
Чем сильнее «овражность» и нелинейность «дна», тем в большей степени замедляется скорость сходимости метода или возможен останов при недостижении окрестности минимума. Поэтому учет таких свойств особенно важен при выборе метода оптимизации.
Различают методы безусловной оптимизации, применяемые для нахождения минимума без ограничений на переменные, и условной оптимизации, когда поиск производится при наличии ограничений.
По информации, используемой для определения направления поиска, выделяют методы:
нулевого порядка, или прямые, если вычисляется только значение целевой функции;
первого порядка, или градиентные, использующие первые производные (градиент);
второго порядка, требующие вычисления также вторых производных;
случайного поиска, применяющие механизм случайного выбора направления;
генетические, сочетающие элементы детерминизма и случайности выбора;
комбинированные.
При оптимизации n-мерных функций часто используются методы одномерной минимизации. Поэтому сначала рассмотрим эти методы, затем многомерные методы безусловной оптимизации и, наконец, методы поиска условного минимума. Все приводимые ниже методы предназначены для минимизации унимодальных функций.