Графический метод решения задач линейного программирования.

Nbsp;   КАФЕДРА ЭКОНОМИКО-МАТЕМАТИЧЕСКИХ МЕТОДОВ И МОДЕЛЕЙ   Орлова И. В., Орлов П.В.   Решение оптимизационных задач средствами EXCEL. Краткий конспект лекций и лабораторная работа № 1 по курсу «Экономико-математические методы и прикладные модели»   Москва 2001 г. Оглавление   решение систем линейных уравнений методом жордана - гаусса............................... 3 Общая задача оптимизации................................................................................................... 5 Графический метод решения задач линейного программирования................................. 6 Симплексный метод решения задачи линейного программирования........................... 14 Технология решения задач линейного программирования с помощью Поиска решений в среде EXCEL...................................................................................................................................... 17 Двойственность в задачах линейного программирования. Анализ полученных оптимальных решений.................................................................................................................................... 32 Задания к контрольной работе.......................................................................................... 40 ЗАДАЧА 1................................................................................................................................. 40 ЗАДАЧА 2................................................................................................................................. 40 Список литературы, имеющейся в библиотеке ВЗФЭИ................................................ 44  решение систем линейных уравнений методом жордана - гаусса Пример 1.    Решить методом Жордана-Гаусса систему линейных уравнений:        а) Х1 + Х2 + 2Х3 = -1           2Х1 - Х2 + 2Х3 = -4           4Х1 + Х2 + 4Х3 = -2   Решение:  Составим расширенную матрицу 1 Итерация. В качестве направляющего элемента выбираем элемент . Преобразуем первый столбец в единичный. Для этого к второй и третьей строкам прибавляем первую строку, соответственно умноженную на -2 и -4. Получим матрицу: На этом первая итерация закончена. 2 Итерация. Выбираем направляющий элемент . Так как , то делим вторую строку на -3. Затем умножаем вторую строку на 1 и 3 и складываем соответственно с первой и третьей строками. Получим матрицу: 3 Итерация. Выбираем направляющий элемент . Так как , то делим третью строку на -2. Преобразуем третий столбец в единичный. Для этого умножаем третью строку на -4/3 и -2/3 и складываем соответственно с первой и второй строками. Получим матрицу: откуда Х1 = 1, Х2 = 2, Х3 = -2. Пример 2. Решить методом Жордана - Гаусса систему линейных уравнений:          Х1 + 2Х2 + 2Х3 +22Х4 –4Х5= 11          Х1 +2Х2 + Х3 +16Х4–4Х5= 9          Х1 + Х2 + Х3 +12Х4 -2Х5= 6   Решение: Составим расширенную матрицу   1 Итерация. В качестве направляющего элемента выбираем элемент . Преобразуем первый столбец в единичный. Для этого ко второй и третьей строкам прибавляем первую строку, соответственно умноженную на -1. Получим матрицу: На этом первая итерация закончена. 2 Итерация. Выбираем направляющий элемент . Умножаем третью строку на -1. Преобразуем второй столбец в единичный. Для этого к первой строке прибавляем третью строку, соответственно умноженную на -2. Получим матрицу: 3 Итерация. Выбираем направляющий элемент . Так как , то умножаем вторую строку на –1. Преобразуем третий столбец в единичный. Для этого вторую строку складываем с третьей строкой. Получим матрицу:     Х1 Х2 Х3 Х4 Х5         1 2 2 22 -4 1 0 0 11   1 2 1 16 -4 0 1 0 9   1 1 1 12 -2 0 0 1 6   1 2 2 22 -4 1 0 0 11 1 0 0 -1 -6 0 -1 1 0 -2   0 -1 -1 -10 2 -1 0 1 -5   1 0 0 2 0 -1 0 2 1 2 0 0 -1 -6 0 -1 1 0 -2   0 1 1 10 -2 1 0 -1 5   1 0 0 2 0 -1 0 2 1 3 0 0 1 6 0 1 -1 0 2   0 1 0 4 -2 0 1 -1 3   1 0 0 2 0 -1 0 2 1   0 1 0 4 -2 0 1 -1 3   0 0 1 6 0 1 -1 0 2   Исходная система эквивалентна следующей системе уравнений:            Х1 + 2Х4 = 1            Х2 +4Х4 -2Х5= 3            Х3 +6Х4= 2 Система уравнений имеет бесконечное множество решений.         Общее решение имеет вид:         Х1 = 1-2Х4                Х2 = 3-4Х4 +2Х5         Х3 = 2-6Х4. переменные Х1, Х2, Х3 являются основными (или базисными). Любое частное решение получается из общего путем придания конкретных значений свободным переменным. Если свободные переменные Х4 и Х5 положить равными нулю, то получим первое базисное решение Х1 = 1, Х2 = 3, Х3 = 2, Х4 = 0, Х5=0.

Первое базисное решение имеет вид: (1,3,2,0,0).

Общее число групп основных переменных, т.е. базисных решений не более, чем = = .

Если все компоненты базисного решения неотрицательны, то такое решение называется опорным.

Общая задача оптимизации

Целью работы коммерческой фирмы является получение прибыли. Любое управленческое решение (будь то решение о количестве приобретаемого товара, или решение о назначении цены на реализуемый товар, или решение о подаче рекламы в газету и т.д.) будет влиять на прибыль в большую или меньшую сторону. Эти решения являются оптимизационными, то есть всегда существует возможность выбрать лучшее решение из нескольких возможных. Представим себе, что все управленческие решения принимаются наилучшим образом. То есть, все параметры, на которые может влиять фирма, являются оптимальными. Тогда фирма будет получать максимальную прибыль (больше получить при данных условиях невозможно). Для того чтобы определить, насколько управленческие решения, принимаемые работниками фирмы оптимальны, можно использовать методы математического программирования.

В экономике оптимизационные задачи возникают в связи с мно­гочисленностью возможных вариантов функционирования кон­кретного экономического объекта, когда возникает ситуация выбора варианта, наилучшего по некоторому правилу, критерию, характеризуе­мому соответствующей целевой функцией (например, иметь мини­мум затрат, максимум продукции).

Оптимизационные модели отражают в математической форме смысл экономической задачи, и отличительной особенностью этих моделей является наличие условия нахождения оптимального ре­шения (критерия оптимальности), которое записывается в виде функционала. Эти модели при определенных исходных данных задачи позволяют получить множество решений, удовлетворяю­щих условиям задачи, и обеспечивают выбор оптимального реше­ния, отвечающего критерию оптимальности.

В общем виде математическая постановка задачи математического программирования состоит в определении наибольшего или наименьшего значения целевой функции f (х1, х2, ..., хn) при условиях gi1, х2, ..., хn) £ bi; (i =1,2,…m), где f и gi; – заданные функции, а bi – некоторые действительные числа. 

задачи математического программирования делятся на задачи линейного и нелинейного программирования. если все функции f и gi линейные, то соответствующая задача является задачей линейного программирования. Если же хотя бы одна из указанных функций нелинейная, то соответствующая задача является задачей нелинейного программирования. 

В общем виде задача линейного программирования (ЗЛП) ставится следующим образом:

Найти вектор , максимизирующий линейную форму

                       (1)

и удовлетворяющий условиям

                              (2)

                        (3)

Линейная функция  называется целевой функцией задачи. Условия (2) называются функциональными, а (3) - прямыми ограничениями задачи.

Вектор , компоненты которого удовлетворяют функциональным и прямым ограничениям задачи, будем называть планом, или допустимым решением ЗЛП.

Все допустимые решения образуют область определения задачи линейного программирования, или область допустимых решений. Допустимое решение, максимизирующее целевую функцию f(x), называется оптимальным планом задачи

,

где  - оптимальное решение ЗЛП. Будем считать, что ЗЛП записана в канонической форме, если ее целевая функция максимизируется, ограничения имеют вид равенств с неотрицательной правой частью и все переменные неотрицательны.

На практике хорошо зарекомендовали себя следующие модели, относящиеся к оптимизационным: модели определения оптимальной производственной программы, модели оптимального смешивания компонентов, оптимального раскроя, оптимального размещения предприятий некоторой отрасли на определенной территории, модели формирования оптимального портфеля ценных бумаг, модели транспортной задачи.

 

Графический метод решения задач линейного программирования.

 

Наиболее простым и наглядным методом линейного программирования (ЛП) является графический метод. Он применяется для решения задач ЛП с двумя переменными.

Рассмотрим задачу ЛП в стандартной форме записи:

                                      

Положим n=2, т.е. рассмотрим эту задачу на плоскости. Пусть система неравенств совместна (имеет хотя бы одно решение).

Каждое неравенство этой системы геометрически определяет полуплоскость с граничной прямой ai1 x1 + ai2 x2 = bi , i=1,2,…m. Условия неотрицательности определяют полуплоскости, соответственно, с граничными прямыми x1=0,x2 =0. Система совместна, поэтому полуплоскости, как выпуклые множества, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек, координаты каждой из которых являются решением данной системы. Совокупность этих точек называют многоугольником решений. Он может быть точкой, отрезком, лучом, многоугольником, неограниченной многоугольной областью.

Таким образом, геометрически задача линейного программирования (ЗЛП) представляет собой отыскание такой точки многоугольника решений, координаты которой доставляют линейной функции цели максимальное (минимальное) значение, причем допустимыми решениями являются все точки многоугольника решений.

      Линейное уравнение описывает множество точек, лежащих на одной прямой. Линейное неравенство описывает некоторую область на плоскости. Определим, какую часть плоскости описывает неравенство 1+3х2£ 12. Во-первых, построим прямую 1+3х2=12. Эта прямая проходит через точки (6, 0) и (0, 4). Для того чтобы определить, какая полуплоскость удовлетворяет неравенству необходимо выбрать любую точку на графике, не принадлежащую прямой, и подставить ее координаты в неравенство. Если неравенство будет выполняться, то данная точка является допустимым решением и полуплоскость, содержащая точку, удовлетворяет

неравенству. Удобной для использования при подстановке в неравенство является начало координат. Подставим х12=0 в неравенство 1+3х2£12. Получим 2´0+3´0£12. Данное утверждение является верным, следовательно, неравенству 2х1+3х2£12 соответствует нижняя полуплоскость, содержащая точку (0.0). Это отражено на графике, изображенном на рис.1.

 

 

 

Рис. 1. Неравенству 2х1+3х2£12 соответствует нижняя полуплоскость.

 

Аналогично можно изобразить графически каждое ограничение задачи линейного программирования.

Решением каждого неравенства системы ограничений ЗЛП является полуплоскость, содержащая граничную прямую и расположенная по одну сторону от нее. Пересечение полуплоскостей, каждая из которых определяется соответствующим неравенством системы, называется областью допустимых решений или областью определения. Необходимо помнить, что область допустимых решений удовлетворяет

.

условиям неотрицательности (xj ³0, j=1,…,n). Координаты любой точки, принадлежащей области определения являются допустимым решением задачи.

Для нахождения экстремального значения целевой функ­ции при графическом решении задач ЛП используют вектор–градиент, координаты которого являются частными производными целевой функции, т.е.

 

.

Этот вектор показывает направление наискорейшего изменения це­левой функции. Прямая , перпендикулярная вектору–градиенту, является линией уровня целевой функции. В любой точке линии уровня целевая функция принимает одно и то же значение. Приравняем целевую функцию постоянной величине “a”. Меняя значение “a”, получим семейство параллельных прямых, каждая из которых является линией уровня.

 Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении в другую сторону – убывает.

С геометрической точки зрения в задаче линейного программирования ищется такая угловая точка или набор точек из допустимого множества решений, на котором достигается самая верхняя (нижняя) линия уровня, расположенная дальше (ближе) остальных в направлении наискорейшего роста.

Графический метод решения ЗЛП состоит из следующих этапов.

1. Строится многоугольная область допустимых решений ЗЛП – ОДР,

2. Строится вектор-градиент ЦФ в какой-нибудь точке Х0 принадлежащей ОДР –

           .

3. Линия уровня C1x1+C2x2 = а (а–постоянная величина) - прямая, перпендикулярная вектору –градиенту  – передвигается в направлении этого вектора в случае максимизации f(x1,x2) до тех пор, пока не покинет пределов ОДР. Предельная точка (или точки) области при этом движении и является точкой максимума f(x1,x2).

 4. Для нахождения ее координат достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума. Значение f(x1,x2), найденное в получаемой точке, является максимальным.

При минимизации f(x1,x2) линия уровня перемещается в направлении, противоположном вектору-градиенту. Если прямая при своем движении не покидает ОДР, то соответствующий максимум или минимум f(x1,x2) не существует.

Если линия уровня параллельна какому-либо функциональному ограничению задачи, то оптимальное значение ЦФ будет достигаться в любой точке этого ограничения, лежащей между двумя оптимальными угловыми точками, и, соответственно, любая из этих точек является оптимальным решением ЗЛП.

Рассмотрим графическое решение задач линейного программирования на следующем примере.

Задача 1. о планировании выпуска продукции пошивоч­ному предприятию. (Задача о костюмах).

Намечается выпуск двух видов костюмов - мужских и женских. На женский костюм требуется 1 м шерсти, 2 м лавсана и 1 человеко-день трудозатрат. На мужской костюм - 3,5 м шерсти, 0,5 м лавсана и 1 человеко-день трудозатрат. Всего имеется 350 м шерсти, 240 м лавсана и 150 человеко-дней трудозатрат. Tребуется определить, сколько костюмов каждого вида необходимо сшить, чтобы обеспечить максимальную прибыль, если прибыль от реализации женского костюма составляет 10 денежных единиц, а от мужского - 20 денежных единиц. При этом следует иметь в виду, что необходимо сшить не менее 60 мужских костюмов.

Модель задачи.

Введем следующие обозначения: х1 - число женских костюмов; x2 - число мужских костюмов.

Прибыль от реализации женских костюмов составляет 10х1, а от реализации мужских 20х2, т.е. необходимо максимизировать целевую функцию

f(x) = 10´ х1 + 20´ х2 -> max.

Ограничения задачи имеют вид:

х1 +   х2 £ 150

2  х1 + 0.5  х2 £ 240

х1 + 3.5  х2 £ 350

    х2³ 60      

     х1 ³ 0

Первое ограничение по труду х1 + х2 £ 150. Прямая х1 + х2 = 150 проходит через точки (150, 0) и (0, 150).


Рис. 2. Решением первого неравенства является нижняя полуплоскость.

 

Второе ограничение по лавсану 2  х1 + 0.5  х2 £ 240.      Прямая 2  х1 + 0.5  х2 = 240 проходит через точки (120, 0) и (0, 480). Третье ограничение по шерсти х1 + 3.5  х2 £ 350.  Добавим четвертое ограничение по количеству мужских костюмов х2 ³ 60. Решением этого неравенства является полуплоскость, лежащая выше прямой х2 = 60. На рис.3. заштрихована область допустимых решений.

 


Рис. 3.  Заштрихована область допустимых решений.


Для определения направления движения к оп­тимуму построим вектор-градиент Ñ, координаты которого являются частными производными целевой функции, т.е. = (10;20).

Что бы построить этот вектор, нужно соединить точку (10;20) с началом координат. При макси­мизации целевой функции необходимо двигаться в направ­лении вектора-градиента, а при минимизации — в противо­положном направлении. Для удобства можно строить век­тор, пропорциональный вектору Ñ. Так, на рис. 2.1.6. изобра­жен вектор градиент (30;60).

В нашем случае движение линии уровня будем осущест­влять до ее выхода из области допустимых решений. в крайней, угловой точке достигается максимум целевой функции. Для нахождения координат этой точки достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума: х1   + 3.5  х2 = 350

                                                        х1 + х2 = 150

Отсюда лег­ко записать решение исходной ЗЛП: max f(x) = 2300 и дости­гается при x1=70 и x2=80 (рис. 4.)


Рис.4. Максимум целевой функции достигается в точке (70, 80).

 


Задача 2.Для изготовления двух видов продукции А1 и А2 используют три вида ресурсов S1, S2, S3, запасы которых составляют 18, 16 и 5 усл.ед. Расход ресурсов на 1 ед. продукции приведен в таблице:

Виды ресурсов Запасы ресурсов

Расходы ресурсов на 1 изд.

    А1 А2
S1 18 1 3
S2 16 2 1
S3 5 - 1
  Прибыль 2 руб. 3 руб.

Необходимо составить такой план производства продукции, который обеспечит наибольшую прибыль от ее реализации.

Составим экономико-математическую модель (ЭММ) задачи.

Пусть надо выпустить изделий A1 - x1 шт., а изделий А2 - x2 шт. Тогда прибыль F = 2x1 + 3x2 Þ max

x1 + 3x2 £ 18
2x1 + x2 £ 16
x2 £ 5
x1 ³ 0, x2 ³ 0

Решим задачу графически.

1)

x1 + 3x2 £ 18


Дата добавления: 2018-02-15; просмотров: 758; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!