Решение оптимизационных задач средствами EXCEL

Автор работы: Пользователь скрыл имя, 08 Мая 2013 в 11:37, практическая работа

Описание работы

Составим расширенную матрицу

1 Итерация.
В качестве направляющего элемента выбираем элемент . Преобразуем первый столбец в единичный. Для этого к второй и третьей строкам прибавляем первую строку, соответственно умноженную на -2 и -4. Получим матрицу:

На этом первая итерация закончена.

Содержание работы

решение систем линейных уравнений методом жордана - гаусса 3
Общая задача оптимизации 5
Графический метод решения задач линейного программирования. 6
Симплексный метод решения задачи линейного программирования 14
Технология решения задач линейного программирования с помощью Поиска решений в среде EXCEL. 17
Двойственность в задачах линейного программирования. Анализ полученных оптимальных решений. 32
Задания к контрольной работе 40
ЗАДАЧА 1. 40
ЗАДАЧА 2. 40
Список литературы, имеющейся в библиотеке ВЗФЭИ. 44

Файлы: 1 файл

optimiz.docx

— 664.72 Кб (Скачать файл)

.

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

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

 

.

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

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

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

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

  1. Строится многоугольная область допустимых решений ЗЛП – ОДР,
  2. Строится вектор-градиент ЦФ в  какой-нибудь точке Х принадлежащей ОДР –

                .

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

 

x1 + 3x2 = 18             (0; 6) (18; 0)

 

к.т. (0; 0), 0 + 3*0 < 18 (в) – входит

2)

2x1 + x2 £ 16

 

2x1 + x2 = 16             (0; 16) (8; 0)

 

к.т. (0; 0), 2*0 + 0 < 16 (в) – входит

3)

x2 £ 5

 

x2 = 5, x2 < 5 - ниже прямой

4)

x1 ³ 0 - правее ОX2

5)

x2 ³ 0 - выше ОX1

  Линия уровня

F = 2x1 + 3 x2     F = 0

 

2x1 + 3x2 = 0 (0; 0) (3; -2)

q = {2; 3} - указывает направление возрастания F.


 

 

max F достигается в т. С

т.С

x1 + 3 x2 = 18

Þ -

 2 x1 + 6 x2 = 36

Þ

 5 x2 = 20

Þ

2x1 + x2 = 16

 2 x1 + x2 = 16

 x1 + 3 x2 = 18

             

Þ

 x2 = 4

         

 x1 = 6

         

 


Таким образом, необходимо выпустить x1 = 6 шт. изделий А1, x2 = 4 шт. изделий А2, чтобы получить max F = 2*6 + 3*4 = 24 ден.ед.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Для решения ЗЛП существует универсальный метод  – метод последовательного улучшения плана или симплекс-метод, который состоит из двух вычислительных процедур: симплекс-метода с естественным базисом и симплекс-метода с искусственным базисом (М-метод). 

Выбор конкретной вычислительной процедуры осуществляется после приведения исходной ЗЛП к каноническому виду (КЗЛП):

                             

В теории линейного программирования (ЛП) показано, что оптимальное решение  ЗЛП связано с угловыми (крайними) точками многогранника решений, которым отвечают опорные планы (неотрицательные базисные решения системы уравнений КЗЛП). Каждый из опорных планов определяется системой m линейно независимых  векторов, содержащихся в данной системе из n векторов  А1, А2,…, Аn. Верхняя граница количества опорных планов, содержащихся в данной задаче, определяется числом сочетаний Сnm.

Задача 3. Получить решение по модели задачи об оптимальном использовании ограниченных ресурсов (решить ЗЛП):

                                                              

Приведем задачу к каноническому  виду путем введения дополнительных переменных  x и x4:

                                                                     

Найдем  все опорные планы КЗЛП. Используя метод Жордана-Гаусса выписываем все базисные решения системы уравнений:

                                                                     

Последовательно будем иметь:

Х1 = (0,0,300,150);      Х2= (150,0,150,0);     Х3= (0,150,-150,0);       Х4= (75,75,0,0); Х5= (300,0,0,-150);    Х6= (0,100,0,50).

Среди этих базисных решений четыре опорных:

Х1 = (0,0,300,150);       Х2= (150,0,150,0);          Х4= (75,75,0,0);      Х6= (0,100,0,50).

Указанным опорным планам на рис.5 отвечают соответственно следующие угловые точки и значения ЦФ в них:

А(0,0) и f(0,0)=0; Д(150,0) и f(150,0)=300; С(75,75) и f(75,75)=375; В(0,100) и f(0,100)=300.

Согласно  теории ЛП оптимальное решение содержится среди опорных планов.

Рис.5

Таким образом, максимальное значение, равное 375, целевая функция f (x1,x2) достигает на опорном плане Х4= (75,75,0,0), т.е. оптимальное решение рассматриваемой ЗЛП:  x1  = 75,  x2 = 75.

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

Симплекс-метод с естественным базисом

Для применения симплекс-метода с  естественным базисом КЗЛП должна содержать  единичную подматрицу размером mxm –  в этом случае очевиден начальный  опорный план (неотрицательное базисное решение системы ограничений  КЗЛП).

Для определенности предположим, что  первые  m векторов матрицы системы уравнений составляют единичную матрицу. Тогда первоначальный опорный план очевиден  – (b1, b2 ,…, bm ,0,…,0).

Проверка на оптимальность опорного плана проходит с помощью признака оптимальности, переход к другому  опорному плану проводится с помощью преобразований Жордана-Гаусса при использовании математического признака оптимальности. Полученный опорный план снова проверяется на оптимальность и так далее. Процесс заканчивается за конечное число шагов, причем на последнем шаге либо выявляется неразрешимость задачи (конечного оптимума нет), либо получается оптимальный опорный план и соответствующее ему оптимальное значение ЦФ.

Математический  признак оптимальности состоит  из следующих двух теорем:

  1. Если для всех векторов А1, А2,…, Аn выполняется условие

                            где   ,

то полученный опорный план является оптимальным.

  1. Если для некоторого вектора, не входящего в базис, выполняется условие           , то можно получить новый опорный план, для которого значение ЦФ будет больше исходного, при этом могут быть два случая:

Информация о работе Решение оптимизационных задач средствами EXCEL