- •Н.Г. Лядина, е.А. Ермакова, л.В. Уразбахтина
- •Математические методы в экономике апк
- •Нелинейное и выпуклое программирование
- •Учебное пособие
- •Содержание
- •Введение
- •Нелинейное программирование Постановка и особенности задач нелинейного программирования
- •2. Область допустимых решений может иметь несколько оптимальных решений, находящихся в отличие от линейного программирования не на отрезке. Пример на рисунке 1.
- •3. Область допустимых решений может состоять из нескольких частей.
- •4. Точки, соответствующие оптимальному решению, могут находиться как на границе, так и внутри области допустимых решений.
- •5. Целевая функция может иметь несколько локальных экстремумов, из которых затем находят точку глобального оптимума.
- •Контрольные вопросы
- •Экстремум функции1
- •Нахождение безусловных экстремумов непрерывных дифференцируемых функций
- •Контрольные вопросы
- •Индивидуальные задания 1
- •Нахождение условных экстремумов. Метод множителей Лагранжа5
- •Б) Алгоритм метода множителей Лагранжа
- •Контрольные вопросы
- •Выпуклое программирование
- •Свойства выпуклых и гладких функций
- •Классификация задач выпуклого программирования
- •Экономические показатели производства культур
- •Формы записи задачи выпуклого программирования
- •Градиент и производная по направлению
- •Алгоритм решения специальной задачи выпуклого программирования. Метод Франка-Вульфа 10
- •Индивидуальные задания 3
- •Методы поиска – методы решения задач выпуклого программирования Метод последовательного изменения аргументов (координат)
- •Индивидуальные задания 4
- •Индивидуальные задания 5
- •Градиентные методы Метод наискорейшего подъема (для самостоятельного изучения)
- •Метод наискорейшего спуска
- •Различные алгоритмы градиентного метода (для самостоятельного изучения)
- •Индивидуальные задания 6
- •Индивидуальные задания 7
- •Алгоритм нелокального случайного поиска на минимум целевой функции
- •Индивидуальные задания 8
- •Особенности метода локального случайного поиска
- •Индивидуальные задания 9
- •Метод штрафных функций
- •Индивидуальные задания 10
- •Квадратичное программирование (кп) Графический метод
- •Контрольные вопросы
- •Индивидуальные задания 11
- •Квадратичный симплекс-метод
- •Индивидуальные задания 12
- •Контрольные вопросы и задания
- •Тестовые задания Тесты - выпуклое программирование
- •Тесты - квадратичное программирование
- •Рекомендуемая литература
- •Словарь терминов
- •Приложение
- •Индивидуальные задания 1 - 30
- •127550, Москва, ул. Тимирязевская, 44
Классификация задач выпуклого программирования
Задачи выпуклого программирования делятся на общую задачу выпуклого программирования, специальную задачу выпуклого программирования и задачу квадратичного программирования.
Общая задача выпуклого программирования имеет выпуклую целевую функцию и систему ограничений, состоящую из выпуклых функций.
min Z=f(X)
φi(X) ≤ 0, i=1m,
xj ≥0; j=1n,
где f(X) – выпуклая функция,
φi(X), i=1m – выпуклые функции.
Специальная задача выпуклого программирования имеет выпуклую целевую функцию и линейную систему ограничений.
min Z=f(X) = Z(x1, x2, ... , xn)
,
где f(X) – выпуклая функция.
Задача квадратичного программирования имеет квадратичную целевую функцию и линейную систему ограничений.
min Z=f(X) = Z(x1, x2, ... , xn) = C11 x12 + C12 x1x2 + C13 x1x3 +...+ C1nx1xn + C22 x22 + C23 x2x3 +...+ C2nx2xn +... + Cnn xn2 + C1 x1 + C2 x2 +...+ Cnxn + C0
Может быть построена и двойственная задача квадратичного программирования.
Пример 13. За механизированным звеном закреплено 300 га орошаемой пашни. Возделываются озимая пшеница, кукуруза на зерно и сахарная свекла.
Имеются ресурсы: механизированного труда – 800 тракторо-смен, ручного труда – 3000 чел./дн. Учесть, что при возделывании культур производственные затраты на 1 га уменьшаются с увеличением площади посева.
Таблица 3
Экономические показатели производства культур
Показатели |
Озимая пшеница |
Кукуруза на зерно |
Сахарная свекла |
Затраты труда на 1 га - ручного, чел.-дн. |
0,6 |
1,9 |
17,5 |
- механизированного, тракторо-смен |
0,9 |
2,9 |
2,2 |
Стоимость продукции, ден.ед. |
288,0 |
172,0 |
500,0 |
Затраты материально-денежные на 1 га, ден.ед. |
45 |
77 |
150 |
Уменьшение материально-денежных затрат с увеличением площади посева на 1 га, ден.ед. |
0,03 |
0,15 |
0,07 |
Найти оптимальное сочетание отраслей, обеспечивающее максимум прибыли в стоимостном выражении.
Обозначения.
Переменные задачи:
x1, га – посевная площадь под озимой пшеницей;
x2, га - посевная площадь под кукурузой на зерно;
x3, га - посевная площадь под сахарной свеклой.
Ограничения задачи:
Баланс орошаемой пашни, га
x1+х2+х3 ≤ 300, [ га ]=[ га ]
Баланс ручного труда, чел.-дн.
0,6х1+1,9х2+17,5х3 ≤ 3000, [(чел.-дн./га) га ] = [чел.-дн. ]
Баланс механизированного труда, тракторо-смен
0,9х1+2,9х2+2,2х3 ≤ 800, [тракторо-смен /га) га ] = [тракторо-смен]
Условия неотрицательности переменных
xj ≥ 0; j=1,2,3
Целевая функция
Max Z = (288 - (45-0,03)х1)х1+(172 - (77-0,5)х2)х2+(500 - (150-0,07)х3)х3 = 243х1+0,03х12+95х2 +0,5х22+350 х3 +0,07х32
[ ден.ед. ] = [ ден.ед. /га) га ]
Формы записи задачи выпуклого программирования
Любую задачу выпуклого программирования можно привести к задаче с линейной целевой функцией и выпуклыми функциями системы ограничений. Такая запись выпуклой задачи называется канонической формой.
Пусть задана исходная форма общей задачи выпуклого программирования:
min Z = f(X) = f(x1, x2,...,xn),
i (X) 0, i = 1 m,
X 0, где f(X) – выпуклая функция,
i(X) – выпуклые функции, i = 1 m.
В общем случае канонической формой для задачи выпуклого программирования является запись:
min Z = С1x1+С2x2+...+Cn xn - целевая функция,
система ограничений
i(X) 0, i = 1 m,
X(x1, x2,...,xn) 0, i(X) – выпуклые функции, i = 1 m.
Частный случай записи канонической формы:
Пусть задана исходная форма общей задачи выпуклого программирования:
min Z= f(X)= f(x1, x2,...,xn),
i(X) 0, i = 1 m,
X 0,
где f(X) – выпуклая функция,
i(X) – выпуклые функции, i = 1 m.
Вектор X(x1, x2,...,xn) имеет n переменных, тогда для перехода к канонической форме введем дополнительную переменную xn+1.
Получим запись:
min Z = xn+1,
система ограничений
i(X) 0, i = 1 m,
f(X) - xn+1 0,
X 0, где f(X) – выпуклая функция,
i(X) – выпуклые функции, i = 1 m.
То есть в каноническую форму вводится и новое ограничение, и новая переменная. Или
min Z = xn+1,
система ограничений
i(X) 0, i = 1 m,
f(X) xn+1,
X(x1, x2,...,xn) 0, где f(X) – выпуклая функция,
i(X) – выпуклые функции, i = 1 m.
Данная исходная форма общей задачи выпуклого программирования и каноническая форма общей задачи выпуклого программирования являются эквивалентными, если установить правило соответствия допустимых решений путем приписывания и отбрасывания дополнительной переменной xn+1 .
