- •Учебно-методические материалы к изучению дисциплины «Методы оптимизации» (конспект лекций)
- •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. Функции спроса. Коэффициент эластичности
2. Классификация математических методов и моделей в экономике
В общем виде математическая постановка экстремальной задачи состоит в определении наибольшего или наименьшего значения целевой функции f (х1, х2, …, хj, …, хn) при условиях gi (х1, х2, …, хj, …, хn) ≤ bi (i=1, …, m), где f, gi - заданные функции; хj (i=1, …, n) - искомые переменные; bi (i=1, …, m) - некоторые действительные числа.
В зависимости от свойств функций f и gi экономико-математические методы рассматривают как ряд самостоятельных разделов, изучающих методы решения определенных классов задач.
Прежде всего, экономико-математические методы подразделяют на методы решения задач линейного и нелинейного программирования. При этом, если все функции f и gi являются линейными или не содержат произведения искомых переменных, соответствующая задача - это задача линейного программирования. Если хотя бы одна из этих функций - нелинейная или содержит произведения искомых переменных, то соответствующая задача - задача нелинейного программирования.
Среди задач нелинейного программирования наиболее изучены задачи выпуклого программирования, в результате решения которых определяют минимум выпуклой (или максимум вогнутой) функции, заданной на выпуклом замкнутом множестве.
Из задач выпуклого программирования подробно разработаны задачи квадратичного программирования, в которых требуется найти максимум (или минимум) квадратичной функции при условии, что ее переменные удовлетворяют некоторой системе линейных неравенств и (или) линейных уравнений.
Отдельные разделы экономико-математических методов изучают методы решения задач целочисленного, параметрического, дробно-линейного программирования.
В задачах целочисленного программирования неизвестные могут принимать только целочисленные значения.
В задачах параметрического программирования целевая функция или функции, определяющие область возможных изменений переменных (ограничения и граничные условия), либо то и другое зависят от некоторых параметров.
В задачах дробно-линейного программирования целевая функция - отношение двух линейных функций, а функции, определяющие область возможных изменений переменных, также линейны. В отдельные разделы выделены задачи динамического и стохастического программирования.
Задача динамического программирования - задача, процесс нахождения решения которой является многоэтапным.
Если в целевой функции или в функциях, определяющих область возможных изменений переменных, содержатся случайные величины, то такую задачу относят к стохастическому программированию.
3. Линейное программирование
3.1. Постановка задачи линейного программирования
Значительная часть задач принятия решения - это задачи распределения ресурсов между объектами.
Пусть имеется т видов ресурсов. Наличие каждого i-го вида ресурса составляет bi (i=1, …, m) в соответствующих единицах измерения. Эти ресуреы предназначены для производства п видов продукции. Для выпуска единицы j-го вида продукции необходимо aij единиц i-го вида ресурса. Требуется определить, какого вида и сколько продукции следует произвести, чтобы такой выпуск был наилучшим для принятого критерия оптимальности.
Обозначим через xj количество выпускаемой продукции j-го вида. Тогда для i-го вида ресурса можно записать:
где левая часть неравенства выражает потребность в ресурсе i-го вида, правая -располагаемое количество этого ресурса.
Распространяя на т видов ресурсов, это ограничение можно записать:
(1)
Если номенклатуру продукции ограничить предельными значениями объемов производства и продаж, то запишутся следующие граничные условия:
(2)
где - соответственно минимально и максимально-допустимые объемы производства и продаж продукции j-го вида.
В зависимость (1) можно ввести дополнительные переменные. Тогда
(3)
В реальных задачах суммарное количество основных хi (i=1, …, n) и дополнительных yi (i=1, …, n) переменных всегда больше, чем число зависимостей т, поэтому система (1) имеет бесчисленное множество решений. Из этого бесчисленного множества следует выбрать одно - оптимальное, соответствующее критерию - цели решения задачи.
Цель задачи распределения ресурсов устанавливается какой-либо одной из двух взаимоисключающих постановок:
при заданных ресурсах максимизировать получаемый результат;
при заданном результате минимизировать потребные ресурсы.
Первая постановка аналитически запишется:
(4)
(5), (6)
где хj - количество выпускаемой продукции j-го вида - искомая переменная (j=1, …, n); n - количество наименований продукции; сj - величина, показывающая, какой вклад в результат дает единица продукции j-го вида; bi - заданное количество ресурса i-го вида (i=1, …, m); т - количество наименований ресурсов; аij - норма расхода ресурса, т. е. какое количество ресурса i-го вида потребляется на производство единицы j-го вида продукции.
Решение задачи дает нахождение значений xj, обеспечивающих при заданных ресурсах получение максимального результата. Вторая постановка задачи будет иметь вид:
(7)
(8), (9), (10), (11)
где С - минимально допустимое значение потребного результата.
Первую и вторую задачи, в которые переменные хj входят в первой степени, т.е. в виде линейных зависимостей, называют задачами линейного программирования.
Каждая задача линейного программирования содержит целевую функцию (4) или (7), ограничения (5), (6) или (8)-(10), граничные условия.(6) или (10), (11). Ограничения могут включать зависимости как для ресурсов (bi), так и для экономических показателей (С).
Для решения задач линейного программирования используют графический и аналитический методы.