
- •Н.Г. Лядина, е.А. Ермакова, л.В. Уразбахтина
- •Математические методы в экономике апк
- •Нелинейное и выпуклое программирование
- •Учебное пособие
- •Содержание
- •Введение
- •Нелинейное программирование Постановка и особенности задач нелинейного программирования
- •2. Область допустимых решений может иметь несколько оптимальных решений, находящихся в отличие от линейного программирования не на отрезке. Пример на рисунке 1.
- •3. Область допустимых решений может состоять из нескольких частей.
- •4. Точки, соответствующие оптимальному решению, могут находиться как на границе, так и внутри области допустимых решений.
- •5. Целевая функция может иметь несколько локальных экстремумов, из которых затем находят точку глобального оптимума.
- •Контрольные вопросы
- •Экстремум функции1
- •Нахождение безусловных экстремумов непрерывных дифференцируемых функций
- •Контрольные вопросы
- •Индивидуальные задания 1
- •Нахождение условных экстремумов. Метод множителей Лагранжа5
- •Б) Алгоритм метода множителей Лагранжа
- •Контрольные вопросы
- •Выпуклое программирование
- •Свойства выпуклых и гладких функций
- •Классификация задач выпуклого программирования
- •Экономические показатели производства культур
- •Формы записи задачи выпуклого программирования
- •Градиент и производная по направлению
- •Алгоритм решения специальной задачи выпуклого программирования. Метод Франка-Вульфа 10
- •Индивидуальные задания 3
- •Методы поиска – методы решения задач выпуклого программирования Метод последовательного изменения аргументов (координат)
- •Индивидуальные задания 4
- •Индивидуальные задания 5
- •Градиентные методы Метод наискорейшего подъема (для самостоятельного изучения)
- •Метод наискорейшего спуска
- •Различные алгоритмы градиентного метода (для самостоятельного изучения)
- •Индивидуальные задания 6
- •Индивидуальные задания 7
- •Алгоритм нелокального случайного поиска на минимум целевой функции
- •Индивидуальные задания 8
- •Особенности метода локального случайного поиска
- •Индивидуальные задания 9
- •Метод штрафных функций
- •Индивидуальные задания 10
- •Квадратичное программирование (кп) Графический метод
- •Контрольные вопросы
- •Индивидуальные задания 11
- •Квадратичный симплекс-метод
- •Индивидуальные задания 12
- •Контрольные вопросы и задания
- •Тестовые задания Тесты - выпуклое программирование
- •Тесты - квадратичное программирование
- •Рекомендуемая литература
- •Словарь терминов
- •Приложение
- •Индивидуальные задания 1 - 30
- •127550, Москва, ул. Тимирязевская, 44
Нелинейное программирование Постановка и особенности задач нелинейного программирования
К задачам нелинейного программирования относятся такие задачи, в которых или целевая функция, или система ограничений, или и целевая функция и система ограничений содержат выражения, нелинейные относительно переменных. Такого рода задачи возникают на практике в тех случаях, когда, например, затраты растут не пропорционально количеству произведенной или закупленной продукции.
Задачи нелинейного программирования можно классифицировать в соответствии с видом целевой функции f(Х), функциями ограничений и количеством переменных в задаче (размерностью вектора решений Х).
Обобщенно классификация может быть представлена в следующем виде:
Таблица 1
Классификация задач нелинейного программирования
Вид функции f(Х) |
Вид функций ограничений |
Число переменных |
Название задачи |
Нелинейная |
Отсутствуют |
Одна |
Безусловная однопараметрическая оптимизация |
Нелинейная |
Отсутствуют |
Более одной |
Безусловная многопараметрическая оптимизация |
Нелинейная |
Нелинейные или линейные |
Более одной |
Условная нелинейная оптимизация |
Линейная |
Нелинейные |
Более одной |
Условная нелинейная оптимизация |
В общем виде задача нелинейного программирования формулируется так:
найти значения вектора Х переменные xj ( j=1÷ n ), при которых f(X) =
= f(x1, x2, …,xn)max (min)
при ограничениях gi(x1, x2, …,xn) ≤ (≥, =) ai0, i=1÷m;
где f и g - заданные функции от n переменных.
Для задач нелинейного программирования, в отличие от линейных задач, нет универсального метода решения. Напомним некоторые свойства задач линейного программирования:
множество допустимых решений выпукло. Это выпуклое множество имеет конечное число вершин, которые обычно называют крайними или угловыми точками;
целевая функция, принимая определенное значение, представляет собой гиперплоскость (линию) уровня. Все гиперплоскости (линии) уровня, соответствующие разным значениям целевой функции, параллельны между собой;
для задач линейного программирования не существует понятий локального максимума (минимума) и глобального. На множестве допустимых решений локальный оптимум является также и глобальным;
если область допустимых решений ограничена, то задача линейного программирования всегда имеет решение, которое достигается, по крайней мере, в одной из вершин (крайних, угловых точках) множества допустимых решений.
В произвольной задаче нелинейного программирования многие перечисленные свойства могут отсутствовать.
Рассмотрим некоторые особенности задач нелинейного программирования.
1. Область допустимых решений не обязательно является выпуклым множеством.
Пример 1. Дана система ограничений:
(x1 – 2)2 + (x2 – 2)2 ≤ 4
(x1 – 3)2 + (x2 – 3)2 ≥ 1
x1 0; x2 0
и целевая функция maxZ = 1,5x1+1,5x2 .
Рис.1. Область допустимых решений - невыпуклое множество
Заменим неравенство на равенство: (x1
– 2)2 + (x2 – 2)2
= 4. Данное выражение геометрически
представляет собой окружность с центром
в точке с координатами (2; 2) и радиусом,
равным
=2.
Аналогично со вторым ограничением: (x1 – 3)2 + (x2 – 3)2 =1. Строим окружность с центром в точке (3; 3) и радиусом, равным 1.