Тема 1 . Задачи математического программирования
Стр 1 из 5Следующая ⇒ Методы и модели анализа динамики экономических процессов А информатики и компьютерных технологий ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ. ОПТИМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ РЕСУРСОВ
Методические указания к лабораторным работам для студентов направлений подготовки бакалавриата 120700, 080100, 080200
САНКТ-ПЕТЕРБУРГ
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Национальный минерально-сырьевой университет «Горный»
Кафедра информатики и компьютерных технологий ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ. ОПТИМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ РЕСУРСОВ Методические указания к лабораторным работам для студентов направлений подготовки бакалавриата 120700, 080100, 080200
САНКТ-ПЕТЕРБУРГ
УДК 519.86:622.3.012 (075.83) Линейное программирование. Оптимальное распределение ресурсов. Методические указания для выполнения лабораторных работ для студентов направлений подготовки бакалавриата 120700, 080100 и 080200./НМСУ «Горный». Сост. В.В. Беляев, Т.Р. Косовцева. СПб, 2013., 62 с.
Методические указания содержат необходимые теоретические сведения по решению задач линейного программирования аналитическими (симплекс-метод) и численными методами. Приведены примеры решения типовых задач по определению и анализу оптимального плана выпуска продукции предприятия. Предназначены для студентов направлений подготовки бакалавриата 120700 «Землеустройство и кадастры», 080100 «Экономика», 080200 «Менеджмент»» дневной и заочной формы обучения,, изучающих дисциплины «Экономико-математические методы и моделирование», «Методы оптимальных решений», «Методы принятия управленческих решений».
Табл. 13. Рис.32. Библиогр.: 2 назв.
Научный редактор - доц. Прудинский Г.А.
© Национальный минерально-сырьевой университет «Горный», 2013 г.
Введение Любой человек в течение всей своей жизни вынужден принимать решение, как в житейских, так и в производственных ситуациях. Как правило, существует множество вариантов решения одной и той же проблемы. Среди этого множества желательно найти наилучший в некотором смысле вариант с учетом ограничений, наличие которых обусловлено лимитированостью природных, экономических и технологических ресурсов. Математические методы, позволяющие применять для анализа и синтеза экономических ситуаций и систем современную вычислительную технику, объединяются под общим названием — математическое программирование. Математическое программирование — область математики, разрабатывающая теорию и численные методы решения многомерных экстремальных задач с ограничениями, т. е. задач на экстремум функции многих переменных с ограничениями на область изменения этих переменных. Функцию, которая отражает качество принимаемого решения, называют целевой или показателем эффективности или критерием оптимальности. Экономические возможности формализуются в виде системы ограничений. Ограничения, как правило, задаются в виде системы уравнений и неравенств. Один из разделов математического программирования называется линейным программированием. К задачам линейного программирования относятся задачи, в которых целевая функция и ограничения выражаются линейными соотношениями. Методы и модели линейного программирования широко применяются при оптимизации процессов во множестве отраслей народного хозяйства. Особенно широкое применение методы и модели линейного программирования получили при решении задач экономии ресурсов (выбор ресурсосберегающих технологий, составление смесей, раскрой материалов), производственно-транспортных и других задач.
Эффективным методом решения данного класса задач является симплекс-метод.
ЛАБОРАТОРНАЯ РАБОТА 1 Тема 1. ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ
Цель работы: · изучить основные понятия линейного программирования; · освоить графический метод решения простейших задач линейного программирования; · научиться использовать симплексный метод с искусственным базисом на примере задачи о диете. 1. Основная задача линейного программирования 1.1. Основные формулы и определения В каноническом виде задача линейного программирования (ЛП) формулируется следующим образом. Найти такой набор , который является решением системы
удовлетворяет соотношению
и обеспечивает максимум (минимум) линейной функции
Соотношения (1.1) принято называть фазовыми ограничениями, соотношения (1.2) – естественными ограничениями. Функцию F принято называть целевой функцией. Система ограничений всегда может быть приведена к каноническому виду. Если ограничения заданы неравенствами, то их можно преобразовать в равенства путем введения новых неотрицательных переменных, так называемых балансовых (выравнивающих) ресурсов. Так, например, в неравенстве достаточно добавить к левой части некоторую величину xn+1³0 и получится равенство: . Чтобы балансовые переменные не влияли на искомый оптимум, их вводят в целевую функцию (1.1) с нулевыми коэффициентами. В дальнейшем будет рассматриваться только задача на максимизацию. Если необходимо решить задачу на минимизацию линейной формы, то коэффициенты целевой функции следует умножить на (-1) и решать эту новую задачу на максимум. Искомый минимум целевой функции получается умножением найденного максимального значения на (-1), т.е. . Задачу ЛП, определяемую соотношениями (1.1)-(1.3), можно записать в матричном виде: , , , где , , , . В дальнейшем при анализе задачи также используется расширенная матрица системы (1.1) , которая составляется из матрицы А и вектора В. Пример 1. Задача о диете.
Составить задачу ЛП, позволяющую оптимизировать расход кормов, и привести ее к каноническому виду. Для откорма животных употребляют два вида кормов; стоимость 1 кг корма I вида - 5 у.е., а корма - II вида 2 у.е. В каждом килограмме корма I вида содержится 5 ед. питательного вещества А, 2.5 ед. питательного вещества B и 1 ед. питательного вещества C. В каждом килограмме корма II вида содержится соответственно 3, 3 и 1.3 ед. Суточный рацион предусматривает питательных единиц A не менее 225 ед., типа B - не менее 150 ед. и типа C - не менее 80 ед. Какое количество корма каждого вида необходимо расходовать ежедневно, чтобы затраты были минимальны? Решение Построим математическую модель данной задачи. Обозначим через x 1 и x 2 количество кормов I и II вида соответственно. Тогда суммарная стоимость кормов будет равна 5 x 1 +2 x 2. Поэтому целевая функция будет иметь вид:
Ограничения по содержанию питательных веществ в рационе будут иметь вид:
Соотношения (1.4)-(1.6) корректно определяют задачу ЛП, но предложенная форма записи не является канонической. Для приведения задачи к этой форме домножим ЦФ (1.4) на –1, в результате получим новую ЦФ (1.7). Для преобразования фазовых ограничений (1.5) к канонической форме введем положительные балансовые переменные x 3, x 4 и x 5. Тогда фазовые ограничения примут вид (1.8), а естественные - вид (1.9).
Соотношения (1.7) – (1.9) определяют задачу ЛП в канонической форме. 1.2. Симплекс-метод 1.2.1. Геометрическая интерпретация Геометрическое истолкование симплекс-метода наиболее просто может быть проиллюстрировано в случае двух переменных. Положение 1. Каждое неравенство с двумя переменными x 1 и x 2 определяет полуплоскость в системе координат x 1 0 x 2. Положение 2. В случае, когда задана система неравенств
то она определяет многоугольную область D на плоскости, которая является результатом пересечения m полуплоскостей. Область D называется областью решений системы неравенств. Область D может быть ограниченной, неограниченной или пустой. Область решений D обладает важным свойством – она является выпуклой.
Определение 1. Область называется выпуклой, если она вместе с любыми двумя точками содержит весь отрезок их соединяющий. Определение 2. Прямая называется опорной по отношению к области, если: 1) имеет с областью по крайней мере одну общую точку; 2) вся область лежит по одну сторону от этой прямой. Положение 3. Пусть задана линейная функция
Для каждой точки плоскости в системе координат x 1 0 x 2. функция F принимает фиксированное значение F=F 1. Определение 3. Множество точек, в которых функция двух переменных принимает фиксированное значение, называется линией уровня. Линия уровня для линейной функции – прямая, которая определяется уравнением . Придавая F 1 различные значения, получим различные линии уровня. Все линии уровня (для линейной функции) параллельны между собой. Нормаль к линии уровня определяется через градиент функции. Градиент произвольной функции двух переменных f (x 1, x 2) может быть вычислен по формуле
поэтому градиент линейной функции определяется уравнением , т.е. градиент может быть задан вектором , выходящим из начала координат. Градиент указывает направление наибыстрейшего роста функции в данной точке. Положение 4. Графическое решение задачи ЛП, определяемой фазовыми ограничениями (1.10), естественными ограничениями и целевой функцией (1.11), основано на мысленном эксперименте по перемещению линии уровня относительно области допустимых решений D. Область допустимых решений D задачи ЛП – это множество точек, координаты которых удовлетворяют фазовым и естественным ограничениям. Допустим, множество D ограничено. Пусть при движении прямой F 1 в положительном направлении вектора она впервые встретится с многоугольником решений в его вершине, тогда в этом положении прямая F 1 становится опорной, и на этой прямой функция F принимает наименьшее значение. При дальнейшем движении в том же направлении прямая F 1 пройдет через другую вершину многоугольника решений (выходя из области решений), и станет также опорной прямой; на ней функция F принимает наибольшее значение среди всех значений, принимаемых на многоугольнике решений. Таким образом, максимизация линейной функции на многоугольнике решений достигается в точке пересечения этого многоугольника с опорными прямыми, перпендикулярными вектору . Положение 5. Существование решения и количество решений задачи ЛП основано на анализе взаимного расположения области допустимых решений D и линии уровня. Если область D ограничена, то возможны два варианта: А) опорная прямая имеет с многоугольником одну общую точку – одно решение;
Б) опорная прямая параллельна стороне многоугольника (на которой достигается максимум) – множество решений (вся сторона многоугольника). Если область D не ограничена, то возможны три варианта: А) опорная прямая имеет с многоугольником одну общую точку – одно решение; Б) опорная прямая параллельна стороне многоугольника (на которой достигается максимум) – имеется множество решений; В) не существует опорной прямой (в направлении роста функции) - множество решений пусто (нет решений). Пример 2. Решить графически задачу ЛП (1.13)-(1.15).
Решение Построим область допустимых решений. Первое неравенство системы (1.14) задает полуплоскость, границей которой является прямая y 1, определяемая равенством . Построим эту прямую на координатной плоскости x 1 0 x 2 (рис.1.1), искомой полуплоскостью (она заштрихована) будет, та, которая лежит выше этой прямой. Второе неравенство задает полуплоскость, границей которой является прямая y 2, определяемая равенством . Также построим прямую y 2 на координатной плоскости и заштрихуем соответствующую полуплоскость. Аналогично построим полуплоскости, соответствующие неравенствам три и четыре, их границы y 3 и y 4, определяются уравнениями и соответственно. Пересечение этих четырех плоскостей и плоскостей естественных ограничений определяют область допустимых решений D. Рис. 1.1 Построим вектор-градиент из начала координат. Проведем линию перпендикулярно вектору . Линия F 1, проходящая через начало координат, соответствует значению 1, поскольку . Мысленно сдвинем линию уровня в направлении вектора . Первое касание многоугольника D соответствует положению F 3. Эта линия является опорной, и ей соответствует минимальное значение, которое достигается на множестве допустимых решений. Продолжим движение линии уровня до выхода из множества D. Этому положению соответствует положение F 7. Рассмотрим крайнюю точку M, которая является точкой пересечения прямых y 3 и y 4, ее координаты можно определить как решение линейной системы. Решением системы является пара чисел x 1=4 x 2=2. Этому решению соответствует искомое максимальное значение линейной функции . Таким образом, F max=7 при x 1=4 x 2=2. Вывод. В данном случае линейная функция достигает своего максимального значения в вершине множества решений.
Пример 3. Решить графически задачу ЛП (1.16) – (1.18).
Решение Заметим, что система фазовых ограничений (1.17) совпадает с системой (1.14). Поэтому область допустимых решений D будет той же самой, что и в примере 2 (рис.1.2). Построим вектор-градиент из начала координат. Проведем линию перпендикулярно вектору . Линия F1, проходящая через начало координат, соответствует значению 1, поскольку . Мысленно сдвинем линию уровня в направлении вектора . Первое касание многоугольника соответствует положению F 3. Эта линия является опорной, и ей соответствует минимальное значение, которое достигается на множестве допустимых решений. Продолжим движение линии уровня до выхода из множества D,. этому положению соответствует положение F 8. Заметим, что линия уровня параллельна стороне MN, поэтому решением является множество точек лежащих между крайними точками M и N, Точка M является точкой пересечения прямых y 3 и y 4, ее координаты можно определить как решение линейной системы. Решением этой системы является пара чисел x 1=4, x 2=2. Эта пара чисел определяет координаты точки М и в ней достигается искомое максимальное значение линейной функции, равное . Таким образом, F max=9, при x 1=4, x 2=2. Точка N является точкой пересечения прямых y 1 и y 4; ее координаты можно определить как решение линейной системы
Рис.1.2 Решением полученной системы является пара чисел x 1=2/9, x 2=35/9, которые определяют координаты точки N, значение целевой функции в которой равно . Таким образом, значение в точке N совпадает со значением в точке M. F max=9, при x 1=2/9, x 2=35/9. Координаты всех точек, лежащих между M и N можно записать в виде Значение функции во всех этих точках равно 9. Вывод. В данном случае линейная функция достигает своего максимального значения во всех точках ребра MN множества решений D. Пример 4. Решить графически задачу ЛП (1.19) – (1.21).
Решение. Построим область допустимых решений D (рис. 1.3). Построение области аналогично примеру 2, но в этом построении отсутствует прямая y 4. Пересечение трех полуплоскостей с учетом естественных ограничений определяет неограниченную область допустимых решений D. Рис. 1.3
Построим вектор-градиент из начала координат. Проведем линию перпендикулярно вектору– . Линия F 1, проходящая через начало координат, соответствует значению 1, поскольку . Мысленно сдвинем линию уровня в направлении вектора . Первое касание многоугольника соответствует положению F 3. Эта линия является опорной, и ей соответствует минимальное значение, которое достигается на множестве допустимых решений. Заметим, что многогранник незамкнут в направлении роста целевой функции, поэтому целевая функция не имеет максимума. Это объясняется тем, что для любой линии уровня найдется другая линия уровня, лежащая в направлении вектора , которой соответствует большее значение функции. Вывод. Целевая функция не ограничена, если многогранник незамкнут в направлении роста целевой функции. Пример 5. Решить графически задачу ЛП (1.22) – (1.24).
Решение Построим область допустимых решений D (рис. 1.4), она совпадает с областью в примере 3. Заметим, что вектор-градиент направлен в противоположную сторону (по сравнению с рис. 1.3). Максимум достигается в единственной точке Р, являющейся точкой пересечения оси x1 и прямой y 2. Рис. 1.4 Координаты точки Р можно определить, решив систему уравнений: Ее решение x 1=2, x 2=0, значение функции в этой точке равно Вывод. Задача ЛП имеет решение, когда многогранник замкнут в направлении роста целевой функции. Рассмотренные примеры иллюстрируют четыре варианта Положения 5. 1.2.2. Основная идея симплекс-метода Если ранг матрицы А системы (1.1) и ранг расширенной матрицы системы равен r(r£m), то r переменных могут быть выражены через остальные переменные:
Переменные (неизвестные) называются базисными, а весь набор () – базисом, остальные переменные называются свободными. Система ограничений (1.25) называется системой приведенной к единичному базису. Отметим важнейшие условия наличия единичного базиса: · от каждого уравнения в него входит одна и только одна неизвестная; · каждая переменная из этого набора входит с коэффициентом +1 и отсутствует в остальных уравнениях; · все значения , Подставляя в линейную форму F (1.3) вместо базисных переменных их выражения через свободные переменные из системы (1.25), получим:
Полагая все свободные переменные равными нулю, найдем значения базисных переменных: . Если все значения , решение () системы ограничений является допустимым. Такое допустимое решение называется базисным или опорным, обозначим его через . Для полученного базисного решения значение целевой функции . Решение задачи при помощи симплекс-метода подразумевает ряд шагов, состоящих в том, что от данного базиса переходим к другому базису с таким расчетом, чтобы значение целевой функции F увеличивалось или, по крайней мере, не уменьшалось, т.е. . Геометрическая интерпретация симплекс-метода состоит в том, что аналитическому переходу от одного базиса к другому соответствует переход от одной вершины многогранника (множества допустимых решений) к другой, в которой целевая функция имеет не меньшее значение. Этот факт основан на том, что вершинам многоугольника множества допустимых решений соответствуют опорные решения системы ограничений. Решение симплекс-методом заканчивается, когда среди опорных решений будет найдено такое, которое обеспечивает максимум линейной формы (1.3). Такое решение называется оптимальным. 1.2.3. Реализация симплекс-метода (простейший случай) Рассмотрим идею симплекс-метода на конкретном примере:
Решение Данная система уравнений совместна, так как ранги матрицы системы и расширенной матрицы совпадают и равны 3. Следовательно, три переменные (базисные) можно линейно выразить через две свободные переменные. Выразим, например, x1, x2 и x3 через x4 и x5, т.е. приведем систему к единичному базису:
Линейная форма уже выражена через x4 и x5. При x 4 =0 и x 5= 0, найдем значения базисных переменных x1= 1, x2 =2 и x3= 3. Таким образом, первое допустимое решение имеет вид x1= 1 ,x2 =2, x3= 3, x4 = 0, x5= 0 или (1,2,3,0,0). При найденном допустимом решении линейная форма F имеет значение 0, т.е. F1= 0. Теперь попытаемся увеличить значение F: - увеличение x4 уменьшит F, так как перед x4 стоит отрицательный коэффициент, а увеличение x5 даст увеличение; - будем увеличивать x5 таким образом, чтобы одна из базисных переменных (x 1 или x2 или x3)обратилась в ноль, а остальные базисные переменные оставались бы неотрицательными. Анализируя первое уравнение системы (1.30), приходим к выводу, что x5 можно увеличить неограниченно. При этом x1 остается положительным и никогда необратиться в ноль. Из второго уравнения системы (1.30) следует, что x5 можно увеличить до 2 (больше увеличивать нельзя, т.к. x2 станет отрицательным). Из третьего уравнения системы (1.24) следует, что x5 можно увеличить до 3. Принимая во внимание приведенный анализ, приходим к выводу, что x5= 2. Таким образом, получим второе допустимое решение x1= 5, x2= 0, x3= 1, x4 = 0, x5= 2 или (5,0,1,0,2). Значение линейной формы F при этом допустимом решении равно F2= 2, т.е. значение целевой функции увеличилось. Примем за свободные переменные x2 и x4., т.е. те переменные, которые в этом решении равны 0. С этой целью из второго уравнения системы (1.27) выразим x5 . Получим . Тогда
Для увеличения значения F будем увеличивать x4. Проведя аналогичный анализ системы (1.31), заключаем, что x4 можно увеличить до 1/5 (следует из рассмотрения второго уравнения системы (1.31)). Таким образом, получим третье допустимое решение x1= 28/5, x2= 0, x3= 0, x4= 1/5, x5= 12/5 или (28/5, 0, 0, 1/5, 12/5). Значение линейной формы F при этом допустимом решении равно F3=11/5, т.е. значение целевой функции увеличилось.
Так как в последней линейной форме обе свободные переменные входят с отрицательными коэффициентами, то наибольшее значение достигается при x2 =0, x3= 0. Из этого следует, что решение (28/5, 0, 0, 1/5, 12/5) является оптимальным и Fmax= 11/5. Для того, чтобы упростить трудоемкие операции по пересчету коэффициентов и перезаписи системы ограничений, можно выполнять преобразования специальной симплекс-таблицы. Симплексные таблицы Для составления такой таблицы систему фазовых ограничений и целевую функцию необходимо записать в стандартной форме, т.е. сведенной к единичному базису:
В виде таблицы (табл.1.1) эти данные можно представить так: Таблица 1.1
Заметим, что в строку с целевой функцией коэффициенты записываются с противоположным знаком . Каждой итерации соответствует преобразование симплексной таблицы, в результате которого получается новое базисное решение, которому соответствует первый столбец. Правила преобразования симплексной таблицы. 1. Выбирают разрешающий столбец из условия и хотя бы один элемент . 2. Выбирают q -ю разрешающую строку из условия Элемент , стоящий на пересечении разрешающего (с индексом p) столбца и разрешающей (с индексом q) строки, называется разрешающим элементом. 3. В состав базисных переменных вводят переменную , которую записывают в строку с номером q. 4. Производят пересчет элементов разрешающей q -й строки по формуле В результате преобразования получают единицу на месте разрешающего элемента. 5. Вычисляют элементы всех остальных строк (при k¹p) по формуле: Строке с номером r+ 1 соответствует строка целевой функции, столбцу с номером n+ 1 соответствует столбец свободных членов. Другими словами, умножая разрешающую строку на подходящие числа и прибавляя ее к остальным строкам, добиваются, чтобы остальные элементы разрешающего столбца стали равными нулю. 6. Далее анализируем полученную таблицу. Если решение получено или выяснено, что его нет, процесс решения закончен. Иначе переходим к пункту 1. Анализ базируется на основной теореме симплекс-метода. Теорема. Если после выполнения очередной итерации (преобразования): 1) найдется хотя бы один отрицательный коэффициент , и в каждом столбце с таким коэффициентом окажется хотя бы один положительный элемент, то можно улучшить решение, выполнив следующую итерацию; 2) найдется хотя бы один отрицательный коэффициент , и в соответствующем столбце не содержится положительных элементов, то функция F не ограничена в области допустимых решений; 3) все коэффициенты окажутся неотрицательными, то оптимальное решение достигнуто. Рассмотрим решение той же задачи (1.27) - (1.29) с помощью симплекс-таблиц. Исходная симплекс-таблица, определяемая соотношениями (1.27) - (1.29) показана на рис. 1.5.
Рис.1.5. Исходная симплекс таблица Заметим, что целевая функция в данном примере может быть записана в виде , что соответствует виду (1.34). В качестве разрешающего столбца выберем столбец, соответствующий x 5 , поскольку в нем в строке с целевой функцией стоит отрицательный элемент (– 1). Для определения разрешающей строки заполним вспомогательный столбец (рис. 1.6). Первая клетка в этом столбце оставлена пустой, поскольку в соответствующей клетке столбца x5 стоит отрицательный элемент (– 2). Из этого столбца выбираем минимальное значение min{2;3}=2; это значение стоит во второй строке, поэтому берем её в качестве разрешающей.
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|