
- •Введение
- •1.Основные понятия и принципы моделирования Определение моделирования
- •1.1. Принципы построения математических моделей
- •Обобщенная математическая модель
- •1.2. Оценка эффективности стратегий
- •1.3. Классификация задач исследования операций
- •1.4. Модели выбора решений в условиях определенности
- •2. Математическое программирование
- •2.1. Постановка задачи линейного программирования.
- •Формы записи задач линейного программирования
- •Решение задачи лп графическим методом :
- •Геометрическая интерпретация и графический метод решения задачи линейного программирования
- •3. Геометрическая интерпретация задач линейного программирования
- •2.1.1 Симплексный метод решения задач линейного программирования
- •2.1.2Алгоритм симплекс метода отыскания оптимального решения задачи линейного программирования
- •2.1.3Примеры решения задач симплексным методом Пример 1. Найти максимум целевой функции
- •§4. Решение задачи лп двухфазным симплекс-методом
- •2.1.4 Задачи для закрепления полученных знаний
- •2.1.5. Двойственная задача
- •2.1.6Основные теоремы двойственности
- •2.1.7. Транспортная задача
- •2.1.8. Первоначальное распределение поставок
- •2.1.9. Правило "Северо-западного угла"
- •2.1.11. Метод потенциалов.
- •2.2. Модели динамического программирования
- •2.2.1. Постановка задачи динамического программирования
- •2.2.2. Принцип оптимальности и математическое описание динамического процесса управления
- •2.2.3. Оптимальное распределение инвестиций
- •2.2.3. Выбор оптимальной стратегии обновления оборудования
- •2.3. Сетевое моделирование. Методы и модели теории графов и сетевого моделирования
- •2.3.1. Элементы теории графов
- •2.3.2. Сетевое планирование и управление
- •2.3.3. Основные понятия и терминология, используемые в сетевом планировании
- •2.3.4. Порядок построения сетевых графиков
- •2.3.5. Правила построения сетевого графика.
- •2.3.6. Основные понятия сетевого графика
- •2.3.7. Временные параметры сетевых графиков
- •3. Задачи в условиях неопределенности
- •3.1. Системы массового обслуживания
- •3.1.1. Структура простейшей системы массового обслуживания.
- •3.1.2. Система массового обслуживания с отказом. Одноканальная система.
- •3.1.3. Системы массового обслуживания с ожиданием.
- •Имитационное моделирование
- •3.2.1. Основы имитационного моделирования
- •3.2.2. Метод статистических испытаний
- •3.2.3. Формирование случайных чисел на эвм
- •3.3. Модели прогнозирования. Задачи управления запасами
- •3.3.1.Основные понятия управления запасами
- •3.3.2. Классификация моделей управления запасами
- •3.3.3. Складская система
- •3.3.4. Спрос на товары
- •3.3.5. Возможность пополнения запасов
- •3.3.6. Затраты на функционирование системы управления запасами
- •3.3.7. Стратегия управления запасами
- •3.3.8. Основные детерминированные модели. Простейшая модель управления запасами ( модель 1)
- •3.3.9. Модель с учетом дефицита (модель 2)
- •С помощью этих соотношений исключим т1, т2, т и получим
- •Оптимальное значение
- •График зависимости уровня запаса на складе от времени
- •Методы и модели теории игр
- •3.4.1. Основные понятия теории игр
- •3.4.2. Постановка игровых задач
- •3.4.3. Методы решения игровых задач
- •3.4.4. Метод линейного программирования
- •Литература
2.1. Постановка задачи линейного программирования.
Математическая модель задачи – это отражение оригинала в виде функций, уравнений, неравенств, цифр и т.д.
Задача линейного программирования соответствует частному случаю общей модели, когда соотношение, описывающее критерий эффективности и пространство стратегий линейны по контролируемым переменным – стратегиям.
Любая задача линейного программирования включает:
1. Целевую функцию (линейную форму), максимум или минимум (оптимум) которой требуется найти.
2. Ограничения в виде системы линейных уравнений (неравенств).
3. Требование не отрицательности переменных.
Стандартная формулировка общей задачи линейного программирования выглядит так: требуется найти экстремальное значение показателя эффективности (целевой функции)
(1.9)
при линейных ограничительных условиях, накладываемых на элементы решения:
(1.10)
………………………………………
, (1.11)
где аij, bi, cj — заданные числа.
Условие
(1.11) необязательно, но его всегда при
необходимости можно добиться.
Обозначение {
говорит о том, что в конкретном ограничении
возможен один из знаков:
или
.
Формы записи задач линейного программирования
Общей формой записи задачи линейного программирования называют задачу максимизации или минимизации линейной функции
f
=
max (min) (2.1.)
при линейных ограничениях
и при условиях
,
,
,
(2.3.)
где
J1
J2
=( j=
)
и
аij,
bi,
cj
— постоянные числа.
Симметричной формой записи задачи линейного программирования называют задачу максимизации линейной функции (2.1.), при линейных ограничениях (2.2.), когда все ограничения имеют смысл неравенства вида «≤» и все переменные неотрицательны, т.е.
f = max (2.4.)
(2.5.)
(2.6.)
Канонической формой записи задачи линейного программирования называют задачу максимизации линейной функции (2.1.), при линейных ограничениях (2.2.), когда все ограничения имеют смысл равенства и все переменные неотрицательны, т.е.
f = max (2.7.)
(2.8.)
(2.9.)
На практике часто приходится одну форму записи задачи линейного программирования преобразовывать в другую. При этом пользуются следующими соображениями:
При необходимости задачу максимизации можно заменить задачей минимизации и наоборот. Экстремум этих функций достигается в одной и той же точке, т.е. min f = - max ( -f ). После решения задачи max ( -f ) необходимо изменить на противоположный знак оптимума функции.
Если на какую-либо переменную не наложено условие неотрицательности (например хк), то её можно заменить разностью двух новых неотрицательных переменных (хк’ и xк’’), т.е. хк=хк’–xк’’.
Любое ограничение неравенство задачи линейной оптимизации вида “
”, можно преобразовать в равенство добавлением к его левой части дополнительной неотрицательной переменной, а неравенство, вида “
” ― вычитанием из его левой части дополнительной неотрицательной переменной.
В экономических задачах дополнительные переменные всегда имеют определенный, практический смысл.
Известно, что система "m" уравнений с "n" переменными может быть как совместной, так и несовместной, а уравнения системы как зависимыми, так и независимыми. В дальнейшем условимся, что все "m" уравнений системы линейно не зависимы. Совместная система "m" уравнений с "n" неизвестными имеет бесконечное множество всевозможных решений.
Для поиска оптимального решения среди бесчисленного множества допустимых решений существует много методов, которые будут здесь изложены. В основу поиска оптимального решения задачи линейного программирования, положены некоторые теоремы. Приведем формулировки этих теорем без доказательств, но справедливость их покажем на примерах.
Основные теоремы линейного программирования
Теорема 1. Множество всех допустимых решений, системы ограничений задачи линейного программирования, является выпуклым.
Теорема 2. Если задача линейного программирования имеет оптимальное решение, то оно совпадает с одной (двумя) из угловых точек множества допустимых решений.
Пример. Найти максимум функции
F=X1-X2
п
ри
ограничениях:
3X1+2X2<=14
X1-4X2<=0
3X1-X2>=0
-X1+X2<=2
X1,X2>=0
Найдём оптимальное решение поставленной задачи геометрическим способом. Для этого в системе координат Х1,Х2 построим множество допустимых решений, используя систему неравенств. Убедимся в справедливости теоремы 1. На рисунке 1 множество допустимых решений представляет собой замкнутый выпуклый четырехугольник с вершинами О D, В,С. Функция "F" может принимать различные значения из области допустимых значений, т.е. Х1-Х2=а
Меняя величину "а", получим семейство параллельных прямых. Теорема 2. утверждает, что максимум или минимум функции F достигается в одной из вершин области допустимых решений. Убедимся в этом, последовательно подставляя координаты вершин в выражение целевой функции F. Максимум будет в точке С с координатами X1=4, Х2=1 и значение его равно 3 (4-1=3).
Рис. 2.1.
Теорема 3. Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точка, области допустимых решений системы ограничений и наоборот.
Вернемся к задаче. Систему ограничений сведем к системе уравнений, добавив в левую часть неравенств дополнительные переменные.
З
Х1+2Х2+Х3=14
X1-4X2+X4=0
-3X1+X2+X5=0
-X1+X2+X6=2
Система четырех независимых уравнений с шестью переменными имеет множество решении. Найдем некоторые базисные решения.
1. Положим Х1=Х2=0. Подставляя эти значения в систему уравнений, получим базисное решение (0,0,14,0,0,2).Оно допустимо, т.к. Х1, Х2, Х3, Х4, Х5, Х6 больше нуля и вырождено, т.к. Х4=Х5=0.
2. Найдем теперь второе базисное решение, полагая X1=X6=0. Подставим эти значения в систему уравнений и, решая эту систему относительно оставшихся неизвестных переменных, получим второе базисное решение (0,2,10,8,-2,0).Оно не допустимо, т.к. Х5=-2 отрицательно.
3. Третье базисное решение получим аналогичным способом, полагая Х3=Х4=0. Базисное решение (4,1,0,0,11,5) допустимо и соответствует решению, полученному геометрическим способом (вершина С).
Таким же образом можно найти все базисные решения, выбрать среди них допустимые, подставляя значения X1 и Х2 в целевую функцию, получить значения функции и среди этих значений выбрать максимальное. Очевидно, что для данной задачи число базисных решений будет равно числу сочетаний из шести по четыре, а именно: С46=15. В общем случае количество базисных решений равно
Cmn=n!/m!(n-m)! (2.3)
Замечание. Если в угловой точке соответствуют два, три и более базисных решений, то все они будут вырожденными.
Следствие из теоремы 1 и теоремы 2 оптимальное решение задачи линейного программирования, заданной ограничениями - уравнениями совпадает с допустимым базисным решением системы ограничений.
Замечание. Если система ограничений задачи линейного программирования задана в виде системы линейных неравенств, с двумя переменными или число переменных превышает число уравнений на два, то такая задача может быть решена геометрически.
Что Вы должны знать:
(вопросы для самоконтроля)
Из чего состоит задача линейного программирования?
Какие параметры являются заданными в задаче линейного программирования, и какие надо найти?
Какова формулировка первой теоремы линейного программирования?
Какое решение является допустимым решением задачи линейного программирования?
Что позволяет определить вторая теорема линейного программирования?
Какие задачи линейного программирования решаются геометрическим способом?
В каком случае оптимальное решение не является единственным?
В каких случаях задача линейного программирования не имеет решения, решение стремится к бесконечности?