- •Введение
- •Тема 1 Математическое программирование и оптимизация
- •1.1 Эволюция развития математических методов и моделей в экономике
- •1.2 Классификация экономико-математических моделей
- •1.3 Математическое программирование
- •1.4 Оптимизация в математике и ее методы
- •1.5 Метод Монте-Карло
- •1.5.1 Алгоритм Бюффона для определения числа Пи
- •1.5.2 Связь стохастических процессов и дифференциальных уравнений
- •1.5.3 Рождение метода Монте-Карло в Лос-Аламосе
- •1.5.4 Дальнейшее развитие и современность
- •1.5.5 Интегрирование методом Монте-Карло
- •1.5.6 Обычный алгоритм Монте-Карло интегрирования
- •1.5.7 Геометрический алгоритм Монте-Карло интегрирования
- •Тема 2 Линейное программирование
- •2.1 Общая задача линейного программирования
- •2.2 Основная задача лп (озлп)
- •2.3 Симплекс-метод линейного программирования
- •2.4 Двойственные задачи линейного программирования
- •2.5 Целочисленное линейное программирование
- •2.6 Параметрическое линейное программирование
- •2.7 Дробно-линейное программирование
- •2.8 Блочное программирование
- •2.9 Теория графов
- •2.10 Транспортная задача
- •2.10.1 Общая характеристика транспортной задачи
- •2.10.2 Математическая модель транспортной задачи
- •Тема 3 Нелинейное программирование
- •3.1 Методы нелинейного программирования
- •3.2 Метод множителей Лагранжа
- •3.3 Сепарабельное программирование
- •3.4 Выпуклое программирование
- •3.5 Квадратичное программирование
- •3.6 Геометрическое программирование
- •3.7 Динамическое программирование
- •3.8 Стохастическое программирование
- •Тема 4 Межотраслевой баланс и сетевое моделирование
- •4.1 Задача межотраслевого баланса
- •4.2 Балансовая модель Леонтьева
- •4.3 Модели межотраслевого баланса в планировании инновационных программ
- •4.3.1 Однопродуктовая динамическая макроэкономическая модель
- •1) Открытая однопродуктовая динамическая модель Леонтьева
- •2) Замкнутая однопродуктовая модель Леонтьева
- •4.4 Сетевая модель данных
- •4.4.1 Историческая справка
- •4.4.2 Основные элементы сетевой модели данных
- •4.4.3 Особенности построения сетевой модели данных
- •4.4.4 Операции над данными сетевой модели
- •4.4.5 Использование сетевой модели
- •4.5 Сетевой график
- •4.6 Методика составления сетевого графика
- •5. Задачи оптимального проектирования
- •5.1. Постановка задачи оптимального проектирования
- •5.1.1. Основные понятия и определения
- •5.2. Пример задачи оптимального проектирования
- •5.3. Классификация задач оптимального проектирования
- •Первая постановка
- •5.4 Определение уравнений линейной регрессии
- •5.7. Методика получения исходных данных
- •5.3. Решение задач оптимального проектирования
- •5.3.1. Оптимизация параметров изделия
2.1 Общая задача линейного программирования
В общем случае и число неизвестных и число ограничений могут достигать десятков, сотен, тысяч и т.д.
Стандартная математическая формулировка общей задачи линейного программирования выглядит так: требуется найти экстремальное значение показателя эффективности (целевой функции)
(линейной функции элементов решения ) при линейных ограничительных условиях, накладываемых на элементы решения:
где - заданные числа.
Что касается существующих методов решения этой задачи с числом переменных, больше двух, то в их основе лежат те же идеи, которые используются при разработке графического подхода. Конечно, в случае сильного увеличения числа переменных и ограничений техника получения решения заметно усложняется, но она опирается на совершенно стандартные, хорошо разработанные алгоритмы (возникающие трудности связаны лишь с ростом объема необходимых вычислений).
Общую постановку задачи линейного программирования можно записать в более компактной форме, если воспользоваться следующим правилом.
Правило сокращенного суммирования. Для обозначения суммы чисел :
принята такая запись:
где ∑ - знак суммирования, а k - индекс суммирования.
Это обозначение очень удобно:
А вот как выглядит запись общей задачи линейного программирования:
2.2 Основная задача лп (озлп)
Любую задачу линейного программирования можно свести к стандартной форме, так называемой «основной задаче линейного программирования» (ОЗЛП), которая формируется так: найти неотрицательные значения переменных x1, x2, …, xn, которые удовлетворяли бы условиям – равенствам:
a11 x1 + a12 x2 + … +a1n xn = b1,
a21 x1 + a22 x2 + … +a2n xn = b2, (2.1)
………………………………..
am1 x1 +am2 x2 + … +amn xn = bm.
и обращали бы в максимум линейную функцию этих переменных:
(2.2)
Случай, когда L надо обратить не в максимум, а в минимум, легко сводится к простому: изменить знак L на обратный (максимизировать не L, а L`=-L). Кроме того, от любых условий – неравенств можно перейти к условиям – равенствам ценой введения некоторых новых «дополнительных» переменных. Пусть требуется найти неотрицательные значения переменных x1,x2,x3, удовлетворяющие ограничениям – неравенствам
(2.3)
и обращающие в максимум линейную функцию от этих переменных:
(2.4)
Начнём с того, что приведём условия (2.3) к стандартной форме, так, чтобы знак неравенства был , а справа стоял нуль. Получим:
(2.5)
А теперь обозначим левые части неравенств (2.5) соответственно через y1 и y2:
(2.6)
Из условий (2.5) и (2.6) видно, что новые переменные y1, y2 также должны быть неотрицательными.
Какая же теперь перед нами стоит задача? Найти неотрицательные значения переменных x1,x2,x3,y1,y2 такие, чтобы они удовлетворяли условиям – равенствам (2.6) и обращали в максимум линейную функцию этих переменных (то, что в L не входят дополнительные переменные y1, y2, неважно: можно считать, что они входят, но с нулевыми коэффициентами). Перед нами – основная задача линейного программирования (ОЗЛП). Переход к ней от первоначальной задачи с ограничениями – неравенствами (2.3) «куплен» ценой увеличения числа переменных на два (число неравенств).