- •230105 (2203) Программное обеспечение вычислительной техники и автоматизированных систем
- •Содержание
- •Тема 1.2 симплекс-метод.
- •Тема 1.3 прямая и двойственная задачи лп. Двойственный симплекс-метод.
- •Тема 1.4 транспортная задача.
- •Раздел 2. Нелинейное программирование.
- •Тема 2.1 нелинейное программирование.
- •Тема 2.2 градиентные методы.
- •Тема 3.1 алгоритмы на сетях.
- •Раздел 3. Сетевое программирование.
- •Тема 3.2 максимальный поток.
- •Раздел 4. Динамическое программирование.
- •Тема 4.1 модели динамического программирования.
- •Распределение капитальных вложений
- •Динамическая задача управления запасами
- •Раздел 5. Теория игр.
- •Тема 5.1 основные понятия теории игр.
- •Формализация игры. Матрица игры
- •Нижняя и верхняя цена игры
- •1. Цена игры I равна цене игры g;
- •Смешанные стратегии
- •Решение игр вида 2хn и mх2
- •1. Антагонистические игры
- •Задача принятия решений в условиях неопределенности
- •Принятие решений в условиях частичной неопределенности
Раздел 2. Нелинейное программирование.
Тема 2.1 нелинейное программирование.
В общем виде задача нелинейного программирования состоит в определении максимального (минимального) значения функции
(1)
при условии, что её переменные удовлетворяют соотношениям
(2)
где f и gi – некоторые известные функции n переменных, а bi – заданные числа.
Здесь
имеется в виду, что в результате решения
задачи будет определена точка
координаты которой удовлетворяют
соотношениям (2) и такая, что для всякой
другой точки
удовлетворяющей условиям (2), выполняется
неравенство
.
Если f и gi – линейные функции, то задача (1), (2) является задачей линейного программирования.
Соотношения (2) образуют систему ограничений и включают в себя условия неотрицательности переменных, если такие условия имеются. Условия неотрицательности переменных могут быть заданы и непосредственно.
В евклидовом пространстве En система ограничений (2) определяет область допустимых решений задачи. В отличие от задачи линейного программирования она не всегда является выпуклой.
Если
определена область допустимых решений,
то нахождение решения задачи (1) – (2)
сводится к определению такой точки этой
области, через которую проходит
гиперповерхность наивысшего (наинизшего)
уровня:
.
Указанная точка может находится как на
границе области допустимых решений,
так и внутри нее.
Процесс нахождения решения задачи нелинейного программирования (1) – (2) с использованием её геометрической интерпретации включает следующие этапы:
10. Находят область допустимых решений задачи, определяемую соотношениями (2) (если она пуста, то задача не имеет решения).
20. Строят гиперповерхность .
30. Определяют гиперповерхность наивысшего (наинизшего) уровня или устанавливают неразрешимость задачи из-за неограниченности функции (1) сверху (снизу) на множестве допустимых решений.
40. Находят точку области допустимых решений, через которую проходит гиперповерхность наивысшего (наинизшего) уровня, и определяют в ней значение функции (1).
3.1. Найти максимальное значение функции
(3)
при условиях
(4)
(5)
Р
е ш е н и е. Так как целевая функция (3)
нелинейная, то задача (3) – (5) является
задачей нелинейного программирования.
Областью допустимых решений данной
задачи является многоугольник ОАВС
(рис. 3.1). Следовательно для нахождения
её решения нужно определить такую точку
многоугольника ОАВС,
в которой функция (3) принимает максимальное
значение. Построим линию уровня
,
где h
– некоторая постоянная, и исследуем её
поведение при различных значениях h.
При каждом значении h
получаем параболу, которая тем выше
отдалена от оси Оx1,
чем больше значение h
(рис. 3.1). Значит, функция F
принимает максимальное значение в точке
касания одной из парабол с границей
многоугольника ОАВС.
В данном случае это точка D
(рис. 3.1), в которой линия уровня
касается стороны АВ
многоугольника ОАВС.
Координаты точки D можно найти из системы уравнений
(6)
Решая
эту систему, получим
.
Итак,
при
Как видим, в задаче (3) – (5) точка максимального значения целевой функции не является вершиной многоугольника решений. Поэтому процедура перебора вершин, которая использовалась при решении задач линейного программирования, неприменима для решения данной задачи.
Метод множителей Лагранжа.
Рассмотрим
частный случай общей задачи нелинейного
программирования (1) – (2), предполагая,
что система ограничений (2) содержит
только уравнения, отсутствует условия
неотрицательности переменных
и
- функции, непрерывные вместе со своими
частными произведениями
(7)
.
(8)
В курсе математического анализа в задачу (7) – (8) называют задачей на условный экстремум или классической задачей оптимизации.
Чтобы
найти решение этой задачи, вводят набор
переменных
,
называемых множителями
Лагранжа,
составляют функцию
Лангранжа
находят
частные производные
и
и рассматривают систему n+m
уравнений
(10)
c
n+m
неизвестными
.
Всякое решение системы уравнений (10)
определяет точку
в которой может иметь место экстремум
функции
.
Следовательно, решив систему уравнений
(10), получают все точки, в которых функция
(7) может иметь экстремальные значения.
Дальнейшее исследование найденных
точек проводят так же, как и в случае
безусловного экстремума.
Таким образом, определение экстремальных точек задачи (7) – (8) методом множителей Лагранжа включает следующие этапы:
10. Составляют функцию Лагранжа.
20.
Находят частные производные от функции
Лагранжа по переменным
и
и приравнивают их нулю.
30. Решая систему уравнений (10), находят точки, в которых целевая функция задачи может иметь экстремум.
40. Среди точек, подозрительных на экстремум, находят такие, в которых достигается экстремум, и вычисляют значения функций (7) в этих точках.
Пример.
По плану производства продукции
предприятию необходимо изготовить 180
изделий. Эти изделия могут быть изготовлены
двумя технологическими способами. При
производстве х1изделий
I
способом затраты равны
руб., а при изготовлении x2
изделий II
способом они составляют
руб. Определить, сколько изделий каждым
из способов следует изготовить, так
чтобы общие затраты на производство
продукции были минимальными.
Решим теперь задачу, используя метод множителей Лагранжа. Найдем минимальное значение функции при условии , т.е. без учета требования неотрицательности переменных. Для этого составим функцию Лагранжа
вычислим
её частные производные по
и приравняем их нулю:
Перенося в правые части первых двух уравнений λ и приравнивая их левые части, получим
или
.
Решая
последнее уравнение совместно с
уравнением
,
находим
и
т.е. получили координаты точки D,
удовлетворяющей условиям (22). Эта точка
является подозрительной на экстремум.
Используя вторые частные производные,
можно показать, что в точке D
функция f
имеет
условный минимум. Этот результат и был
получен выше.
Следует
отметить, что такой же результат мы
получим и в том случае, если исследования
на условный экстремум функции f
сведем к исследованию на безусловный
экстремум функции f1,
полученный из f
в результате её преобразований. А именно:
если из уравнения связи найдем
и подставим это выражение в (20), то получим
функцию одной переменной х1:
Найдем
стационарную точку этой функции из
уравнения
,
или
,
откуда
;
.
Также как и выше, устанавливаем, что в
данной точке функция f
имеет минимальное значение.
