- •Учебно-методические материалы к изучению дисциплины «Методы оптимизации» (конспект лекций)
- •1. Классификация задач оптимизации
- •2. Классификация математических методов и моделей в экономике
- •3. Линейное программирование
- •3.1. Постановка задачи линейного программирования
- •3.2. Экономическая интерпретация задач линейного программирования
- •3.3. Требования совместности условий
- •3.4. Графический метод решения задач линейного программирования
- •3.5. Симплекс-метод
- •3.6. Модифицированный симплекс-метод
- •3.7. Построение опорных планов
- •3.8. Условия оптимальности
- •3.9. Метод искусственного базиса
- •3.10. Транспортная задача
- •3.11. Двойственные задачи линейного программирования
- •3.12. Устойчивость оптимизационного решения
- •4. Нелинейное программирование
- •4.1. Классификация и общая постановка задач нелинейного программирования
- •4.2. Метод множителей Лагранжа
- •4.3. Возможные обобщения метода множителей. Седловая точка функции Лагранжа
- •4.4. Оптимальные решения при ограничениях-неравенствах. Теорема Куна - Таккера
- •4.5. Выпуклое программирование. Задача выпуклого программирования
- •4.6. Квадратичное программирование
- •4.7. Градиентные методы
- •5. Оптимизация на графах
- •5.1. Основные понятия теории графов
- •5.2. Связность
- •5.3. Подграфы
- •5.4. Матрица графов
- •5.5. Потоки в сетях
- •5.6. Задача о максимальном потоке сети
- •5.7. Задача о кратчайшем пути
- •5.8. Задача коммивояжера
- •5.9. Оптимизация сетевого графика
- •5.10. Методы оптимизации производственной программы
- •6. Динамическое программирование
- •6.1. Общая постановка задачи динамического программирования
- •6.2. Принцип оптимальности. Уравнение Беллмана
- •6.3. Простейшие экономические задачи, решаемые методом динамического программирования
- •7. Математические модели потребительского поведения и спроса
- •7.1. Отношение предпочтения и функция полезности
- •7.2. Решение задачи об оптимальном выборе потребителя
- •7.3. Функции спроса. Коэффициент эластичности
3.12. Устойчивость оптимизационного решения
При исследовании экономических экстремальных задач важно выявить допустимую область изменения параметров задачи, при которой сохраняется ее решение. Совокупность оптимальных решений задачи является дискретной, и для каждого из них имеется диапазон значений из непрерывного интервала параметров. Определив соответствие между дискретной совокупностью решений и набором интервалов, можно говорить об областях устойчивости решения задачи.
Рассмотрим простейшую задачу линейного программирования:
Ее оптимальное решение включает и .
Двойственные оценки соответствуют решению системы уравнений:
Пусть коэффициент 1,4 в целевой функции заменяется на случайный параметр С. Двойственные оценки у1 и y2 в этом случае равны:
Для оптимального решения задачи необходимы положительные у1 и у2: 42 - 25С ≥ 0; 40С - 30 ≥ 0. Отсюда следует, что решение и остается оптимальным для следующего интервала значений: 0,75 ≤ С ≤ 1,68. Если параметр С выходит за пределы допустимого интервала значений, то необходимо получить новое решение задачи.
Аналогичное исследование можно выполнить для выявления интервалов изменения ресурсов в ограничениях. Пусть система ограничений имеет вид:
где d1, d2, d3 - свободные переменные; - случайный параметр. В оптимальном решении , и, следовательно, решение этой системы уравнений будет иметь вид
Данное решение имеет только структурную устойчивость для интервала значений от -1426/7 до 19187/202.
4. Нелинейное программирование
4.1. Классификация и общая постановка задач нелинейного программирования
Задачи нелинейного программирования - большой класс разнообразных задач, из которых будем рассматривать только сводящиеся к задачам линейного программирования.
Ранее в задачах линейного программирования полагалось, что себестоимость, цена и другие показатели эффективности на единицу продукции не зависят от изменения объема производства. Однако в общем случае зависимости между переменными в ограничениях и целевой функции не могут быть линейными. Например, себестоимость единицы продукции снижается при увеличении объема производства.
Задачи, в которых зависимости между переменными в целевой функции и/или в ограничениях нелинейны, называют задачами нелинейного программирования.
Если обозначить целевую функцию и ограничения через обобщенную функцию h(хj), то все многообразие задач нелинейного программирования можно свести к классификации (см. табл. 16).
В общем виде задача НЛП состоит в определении максимума (минимума) функции
(1)
при условии, что ее переменные удовлетворяют условиям
(2)
где f и gi - некоторые известные функции п переменных; bi - заданные числа.
Таблица 16
Отрезок, соединяющий две точки |
|
Вид функции |
Число оптимумов |
График |
Совпадает |
0 |
Линейная |
2 |
|
Выше вершины |
>0 |
Выпуклая вниз |
3 |
|
Ниже вершины |
<0 |
Выпуклая вверх (вогнутая вниз) |
3 |
|
По обе стороны от вершины |
Меняет знак |
Смешанная |
Несколько |
|
Здесь имеется в виду, что в результате решения задачи будет определена точка координаты которой удовлетворяют соотношениям (2), и такая, что для всякой другой точки удовлетворяющей условиям (2), выполняется неравенство
при max целевой функции или
при min целевой функции.
Если f и gi - линейные функции, то задача (1), (2) - задача линейного программирования.
Соотношения (2) образуют систему ограничений и включают условия неотрицательности переменных, если такие имеются. Условия неотрицательности переменных могут быть заданы и непосредственно.
Нелинейные задачи решаются с помощью метода кусочно-линейной аппроксимации или метода множителей Лагранжа, В задачах квадратичного программирования применяется метод Била, Баранкина-Дорфмана, градиентные методы (метод Франка-Вулфа, штрафных функций, метод возможных направлений). В градиентных методах итерационный процесс осуществляется до того момента, пока градиент функции f(x) в очередной точке xk+1 не станет равным нулю или пока (достаточно малое положительное число, характеризующее точность полученного решения).