Основы и методы математического программирования. Дифференциальные и разностные уравнения. Классические задачи исследования операций. Алгоритмы симплекса-метода. Допустимые решения при поиске оптимального решения. Линейное и нелинейное программирование.
Математическое программирование - область прикладной математики, объединяющая различные мат.методы и дисциплины. Линейное программирование (далее ЛП) - задачи, в которых критерий оптимальности задается в виде линейной формы от входящих в него переменных, на эти переменные накладываются ограничения в виде линейных уравнений или линейных неравенств. Основные задачи ЛП: u Задача оптимизации межотраслевых потоков. u Транспортные задачи. u Подробнее поговорим про задачу об оптимальном выпуске продукции. В общем виде задачу линейного программирования можно представить следующим образом: Алгоритмы симплекса-метода позволяют также установить, является ли задача ЛП разрешимой. Затраты ресурсов на изготовление единицы данного вида товаров; прибыль, получаемая от реализации единицы товара, а также запасы ресурсов указаны в таблице.Несмотря на то, что симплекс-метод является достаточно эффективным алгоритмом, показавшим хорошие результаты при решении прикладных задач ЛП, он является алгоритмом с экспоненциальной сложностью. Причина этого состоит в комбинаторном характере симплекс-метода, последовательно перебирающего вершины многогранника допустимых решений при поиске оптимального решения. Метод внутренних точек, который, в отличие от симплекс-метода, обходит точки из внутренней части области допустимых значений, использует методы логарифмических барьерных функций нелинейного программирования, разработанные в 60-х гг.
План
Содержание
Введение
Теоретическая часть
Математическое решение задачи
Заключение
Список использованной литературы
Приложение №1 (Excel)
Приложение №2 (Pascal)
Введение
Математическое программирование - область прикладной математики, объединяющая различные мат.методы и дисциплины.
Методы: 1. Математическое программирование.
2. Дифференциальные и разностные уравнения.
3. Теория игр.
4. Теория решений и т.д.
Классические задачи исследования операций: · Задачи диеты (задача о рационе).
· Задача замены(динамическое программирование).
· Задача коммивояжера (динамическое программирование).
· Распределительные задачи.
· Задача о назначениях.
· Задача о размещении складов.
· Задача о раскрое (линейное программирование).
· Задача поиска.
· Теория расписаний (метод дискретного программирования).
· Управление запасами (линейное программирование).
· Задачи массового обслуживания.
Методы математического программирования: 1. Линейного программирование.
2. Не линейное программирование.
3. Динамическое программирование.
4. Алгоритмы на графах.
5. Система массового обслуживания (СМО).
6. Методы прогнозирования.
7. Имитационное прогнозирование.
8. Теория игр.
9. Теория принятия решений.
Теоретическая часть
Рассмотрим один из основных методов - линейное программирование.
Линейное программирование (далее ЛП) - задачи, в которых критерий оптимальности задается в виде линейной формы от входящих в него переменных, на эти переменные накладываются ограничения в виде линейных уравнений или линейных неравенств.
Основные задачи ЛП: u Задача оптимизации межотраслевых потоков. u Транспортные задачи. u Подробнее поговорим про задачу об оптимальном выпуске продукции.
Требуется составить такой план выпуска продукции, который был бы технологически осуществлен по имеющимся ресурсам всех видов, удовлетворял бы задаваемым ограничениям на выпуске каждого вида продукции и в то же время приносил наибольшую прибыль предприятию.
Математическая модель любой задачи линейного программирования включает в себя: · максимум или минимум целевой функции (критерий оптимальности);
· систему ограничений в форме линейных уравнений и неравенств;
· требование неотрицательности переменных.
Для решения задач ЛП используют графический метод и симплекс-метод.
Математическое решение задачи
В общем виде задачу линейного программирования можно представить следующим образом: Алгоритмы симплекса-метода позволяют также установить, является ли задача ЛП разрешимой.
Рассмотрим задачу линейного программирования симплекс методом. Предприятие располагает ресурсами сырья, рабочей силой и оборудованием, необходимым для производства любого из трех видов производимых товаров 1, 2, 3. Затраты ресурсов на изготовление единицы данного вида товаров; прибыль, получаемая от реализации единицы товара, а также запасы ресурсов указаны в таблице.
Вид ресурса Затраты ресурса на единицу товара Запас ресурса
Товар 1 Товар 2 Товар 3
Сырье, кг. 4 8 4 120
Рабочая сила, ч. 6 2 3 160
Оборудование, станко-час. 2 2 4 400
Прибыль 10 8 6
Определить какой ассортимент товара надо выпускать, чтобы прибыль была максимальной.
Математическая модель должна быть в канонической форме, т.е. все ограничения в виде неравенств.
4x1 8x2 4x3 ? 120
6x1 2x2 3x3 ? 160
2x1 2x2 4x3 ? 400
Введем новые переменные x4, x5, x6.
4x1 8x2 4x3 x4 ? 120
6x1 2x2 3x3 x5 ? 160
2x1 2x2 4x3 x6 ? 400
Находим исходные опорные решения и проверяем на оптимальность, для этого заполняем симплексную таблицу.
I опорное решение. x1=0, x2=0, x3=0, x4=120, x5=160, x6=400, Z=0.
Если решение не оптимально, строим вторую симплекс-таблицу.
Находим ключевой элемент: выбираем столбец с наибольшей по модулю отрицательной оценкой, для этого столбца находим bi/xij и выбираем минимальное значение, т.е. выбираем строку, на пересечении выбранного столбца и строки определяется ключевой элемент;
Ключевой элемент находится на пересечении столбца х1 и строки х5, т.е. меняем их местами. Свободные переменные x5, x2, x3; базисные переменные x1, x4, x6.
Во второй симплекс-таблице переписываем ключевую строку, разделив ее на ключевой элемент, заполняем базисные столбцы, остальные коэффициенты таблицы находим по правилу прямоугольника;
Получаем новое опорное решение и проверяем его на оптимальность,
II опорное решение. x1=26,67, x2=0, x3=0, x4=13,33, x5=0, x6=346,67, Z=266,67.
Данное решение не является оптимальным, т.к. в последней строке симплекс-таблицы находится отрицательное число - строим третью симплекс-таблицу.
Ключевой элемент находится на пересечении столбца х2 и строки х4, т.е. меняем их местами. Свободные переменные x4, x3, x5; базисные переменные x2, x1, x6.
III опорное решение. x1=26, x2=2, x3=0, x4=0, x5=0, x6=344, Z=276.
Третье опорное решение является оптимальным, так как последняя строка симплекс таблицы содержит только положительные элементы.
Подставляем в линейную функцию Z = 10*26 8*2 6*0 = 276.
Оптимально производить Товар 1 - в количестве 26, Товар 2 - в количестве 2 и Товар 3 - в количестве 0.
Запрограммируем в MS Office Excel (Приложение№1) и в Pascal (Приложение№2). Данные и условия сформированы ранее.
Вывод
Несмотря на то, что симплекс-метод является достаточно эффективным алгоритмом, показавшим хорошие результаты при решении прикладных задач ЛП, он является алгоритмом с экспоненциальной сложностью. Причина этого состоит в комбинаторном характере симплекс-метода, последовательно перебирающего вершины многогранника допустимых решений при поиске оптимального решения. Тем не менее, сам факт полиномиальной сложности задач привел к созданию целого класса эффективных алгоритмов ЛП - методов внутренней точки, первым из которых был алгоритм Н. Кармаркара, предложенный в 1984 г. Метод внутренних точек, который, в отличие от симплекс-метода, обходит точки из внутренней части области допустимых значений, использует методы логарифмических барьерных функций нелинейного программирования, разработанные в 60-х гг. Фиако (Fiacco) и МАККОРМИКОМ (MCCORMICK). Первый полиномиальный алгоритм, метод эллипсоидов, был предложен в 1979 г. советским математиком Л. Хачияном, разрешив таким образом проблему, долгое время остававшуюся нерешенной. Метод эллипсоидов имеет совершенно другую, некомбинаторную, природу, нежели симплекс-метод. Однако в вычислительном плане этот метод оказался неперспективным.
Список литературы
А.И.Ларионов, Т.И.Юрченко “Экономико-математические методы в планировании: Учебник - М.: Высш.школа, 1984
Томас Х. Кормен и др. Глава 29. Линейное программирование // Алгоритмы: построение и анализ = INTRODUCTION TO ALGORITHMS. - 2-е изд. - М.: «Вильямс», 2006.
В.И. Бодров, Т.Я. Лазарева, Ю.Ф. Мартемьянов «Математические методы принятия решений», Издательство ТГТУ, 2004
Вершик А. М. «O Л. В. Канторовиче и линейном программировании»
Большакова И. В., Кураленко М. В. «Линейное программирование. Учебно-методическое пособие к контрольной работе».