Решение оптимизационной задачи линейного программирования

Автор: Пользователь скрыл имя, 23 Сентября 2011 в 11:41, курсовая работа

Краткое описание

Поиски оптимальных решений привели к созданию специальных

математических методов и уже в 18 веке были заложены математические основы

оптимизации (вариационное исчисление, численные методы и др). Однако до

второй половины 20 века методы оптимизации во многих областях науки и

техники применялись очень редко, поскольку практическое использование

математических методов оптимизации требовало огромной вычислительной

работы, которую без ЭВМ реализовать было крайне трудно, а в ряде случаев -

невозможно.

Оглавление

ВВЕДЕНИЕ…….………………………………………………………………...3

1. Постановка задачи оптимизации……………………………………….…8

2. Построение аналитической модели…………………………………….…9

3. Обоснование и описание вычислительной процедуры………………..11

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

форме………………..………………………………………………….11

2. Основная идея симлекс-метода……………………………………..12

3. Двухэтапный симплекс-метод………………………………………12

4. Решение задачи оптимизации на основе симплекс-таблиц……………14

1. Приведение задачи к стандартной форме………..………………..14

2. Определение начального допустимого решения…………………14

3. Построение искусственного базиса………...………………………15

4. Первый этап двухэтапного симплекс-метода…………………….16

5. Второй этап двухэтапного метода………………………………….19

5. Анализ модели на чувствительность……………………………………..22

1. Статус ресурсов……….………………………………………………22

2. Ценность ресурсов……………………………………………………22

3. Анализ на чувствительность к изменениям правых частей

ограничений……………………………………………………….…..23

4. Анализ на чувствительность к изменениям коэффициентов

целевой функции……………………………………………...………25

6. Определение оптимального целочисленного решения…………………26

6.1. Метод Гомори для частично целочисленных задач……..……….26

ЗАКЛЮЧЕНИЕ…………………………………………………………...……33

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ………………….……..34

УСЛОВНЫЕ СОКРАЩЕНИЯ………………………….……………………35

ПРИЛОЖЕНИЕ…………………………………………………………….…..

Файлы: 1 файл

курсовая математика.docx

— 52.99 Кб (Скачать)

точка, которой соответствует  экстремум целевой функции Е.

      При  построении начального базиса  в заданной задаче использовался  метод

искусственного базиса, поэтому найденное решение не является  допустимым.  В

этом случае для  решения задачи необходимо использовать двухэтапный симплекс-

метод. 

                       3.3. ДВУХЭТАПНЫЙ СИМПЛЕКС-МЕТОД 

      Задача  с  помощью  этого  метода  решается  в  два   этапа:   сначала

отыскивается  начальное  допустимое  решение,  не  содержащее  искусственных

переменных, а затем  на основе найденного решения ищется оптимальное  решение

исходной задачи. Основные шаги, реализации метода следующие.

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

      2. Строится  искусственный базис.

      3.   Составляется   искусственная   целевая   функция:   сумма    всех

искусственных переменных.

      4. Реализуется  первый этап  двухэтапного  метода:  с  помощью  обычных

процедур  симплекс-метода  выполняется  минимизация  искусственной   целевой

функции. Если ее минимальное  значение равно 0,  то  соответствующее  решение

является допустимым решением исходной  задачи.  Очевидно,  что  при  нулевом

значении искусственной  целевой функции все  искусственные  переменные  также

нулевые (так как  искусственная  целевая  функция  -  их  сумма,  и  все  они

неотрицательны). Если минимальное  значение  искусственной  целевой  функции

оказывается отличным от нуля, это означает, что задача не  имеет  допустимых

решений.

      5. Реализуется  второй этап двухэтапного метода: найденное  на  шаге  4

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

задачи для поиска ее оптимального решения. 
 
 

           4. РЕШЕНИЕ ЗАДАЧИ ОПТИМИЗАЦИИ  НА ОСНОВЕ СИМПЛЕКС-ТАБЛИЦ 

                 4.1. ПРИВЕДЕНИЕ ЗАДАЧИ К СТАНДАРТНОЙ  ФОРМЕ 

      Для  приведения данной  задачи  к   стандартной  форме  необходимо  лишь

перейти  от  ограничений  –  неравенств  к  равенствам.  Для  этого   введем

дополнительные балансовые неотрицательные переменные.  Также  для  упрощения

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

деталей на 5:

                 X1 + X2 + X3 + X7 = 8;

                 X4 + X5 + X6 + X8 = 8;

                 2X1 – X2 + 6X4 – 3X5 = 0;

                 2X1 – 2X3 + 6X4 – 2X6 =0;

                 X1 , X2 , X3 , X4 , X5 , X6 , X7 , X8 ? 0.

                 E= X1 + X2 + 2X3 + 3X4 + 3X5 + 2X6  ( max

где Х7 , Х8 – остаточные переменные.

      Итак, нашу исходную задачу мы привели   к  стандартной  форме   основной

задачи линейного  программирования. 

               4.2. ОПРЕДЕЛЕНИЕ НАЧАЛЬНОГО ДОПУСТИМОГО  РЕШЕНИЯ 

      Для  задачи, представленной в стандартной  форме, количество  переменных

обычно  больше,  чем  количество   ограничений.   Поэтому   для   нахождения

начального решения  задачи требуется выразить m переменных  (т.е.  количество

переменных, равное количеству уравнений)  через  остальные  n-m  переменных,

принять эти n-m переменных равными нулю и, таким образом, найти  значения  m

переменных (в заданной задаче  m=4  и  n=8).  Переменные,  значения  которых

принимаются равными  нулю, называются небазисными, а остальные  m  переменных

- базисными. Значения  базисных переменных неотрицательны (некоторые  из  них

могут оказаться  равными нулю). Количество базисных переменных  всегда  равно

количеству  ограничений.  Найденное   таким   образом   решение   называется

начальным   допустимым   базисным   решением.   Оно    соответствует    всем

ограничениям.

      Начальное   решение   проще  всего   найти  в  случае,  когда   в  каждом

ограничении есть переменная, которая входит в него с коэффициентом 1  и  при

этом отсутствует  в  других  ограничениях.  Такие  переменные  принимаются  в

качестве  базисных  (они  образуют  начальный   базис   задачи).   Остальные

(небазисные) переменные  принимаются равными нулю.  Таким   образом,  базисные

переменные принимают  значения, равные правым частям ограничений.

      Итак, для нахождения начального допустимого  решения необходимо,  чтобы

в каждое из уравнений  входила переменная с коэффициентом 1 и  не  входила  в

другие уравнения (базисная переменная). В нашем случае  мы  имеем  только  2

базисные переменные (X7 и X8) , не хватает еще двух базисных переменных.  Их

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

построением искусственного базиса. 

                    4.3. ПОСТРОЕНИЕ ИСКУССТВЕННОГО БАЗИСА 

      Методы  искусственного базиса предназначены  для  построения  начального

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

построение непосредственно  на  основе  стандартной  формы  невозможно.  При

использовании   искусственного   базиса   начальное   решение    оказывается

недопустимым; от него  по  определенным  алгоритмам  выполняется  переход  к

начальному допустимому  решению.

      Для  того, чтобы построить искусственный   базис,  необходимо  в  каждое

уравнение  стандартной  формы,  не  содержащее  базисных  переменных   (т.е.

полученное из ограничения-равенства  или  "не  меньше"),  добавить  по  одной

искусственной переменной. В нашем случае это:

                            2X1 – X2 + 6X4 – 3X5 + Х9 = 0;

                            2X1 – 2X3 + 6X4 – 2X6 + Х10 =0.

где Х9 и Х10 – искусственные  переменные,  не  имеющие  никакого  физического

смысла, причем Х9 , Х10 ?0.

      После  построения искусственного базиса, придав нулевые  значения  всем

переменным, кроме  базисных, получим начальный базис: Х7 , Х8 , Х9  ,  Х10  .

Всего в базисе имеется  четыре переменные и их значения равны  правым  частям

ограничений, т.е.:

                                   Х7 = 8;

                                   Х8 = 8;

                                   Х9 = 0;

                                  Х10 = 0.

Теперь необходимо решить  эту  задачу,  т.е.  найти  оптимальное  допустимое

решение. Для этого  воспользуемся двухэтапным симплекс-методом. 

                4.4. ПЕРВЫЙ ЭТАП ДВУХЭТАПНОГО СИМПЛЕКС-МЕТОДА 

      Итак, на  первом  этапе  двухэтапного  метода  отыскивается  начальное

допустимое решение. Для этого выполним следующие  действия:

     1. Строим  искусственную целевую функцию  – сумму всех искусственных

переменных:

                             W = X9 + X10 ( min

     2. Так   как  целевая  функция   должна  быть  выражена  только   через

        небазисные

переменные, то выражаем искусственные переменные X9 и X10  через  небазисные

переменные,   а   затем,   упростив   полученное   выражение,   переписываем

искусственную целевую  функцию:

                        X9 = - 2X1 + X2 - 6X4 + 3X5;

                       X10 = - 2X1 + 2X3 - 6X4 + 2X6.

                W = - 4X1 + X2 + 2X3 – 12X4 + 3X5 + 2X6 ( min

     3. Для приведения к стандартной форме направим искусственную целевую

функцию на максимум, для этого умножим обе ее части  на –1:

                -W =  4X1 - X2 - 2X3 + 12X4 - 3X5 - 2X6 ( max

     4.  Определяем  начальное,  недопустимое  решение.  Базис  состоит  из

        четырех

переменных, из них  две искусственные, остальные две -  остаточные.  Базисные

переменные  принимают  значения,  равные  ограничениям   задачи.   Остальные

переменные считаем  равными нулю. В этом случае целевая  функция  Е  принимает

значение 0, искусственная  целевая функция –W также принимает  значение 0.

     5. Составляем  исходную симплекс-таблицу: 
 

|БП    |X1   |X2  |X3   |X4   |X5   |X6   |X7   |X8   |X9   |X10  |БР   |

|E     |-1   |-1  |-2   |-3   |-3   |-2   |0    |0    |0    |0    |0    |

|-W    |-4   |1   |2    |-12  |3    |2    |0    |0    |0    |0    |0    |

|X7    |1    |1   |1    |0    |0    |0    |1    |0    |0    |0    |8    |

|X8    |0    |0   |0    |1    |1    |1    |0    |1    |0    |0    |8    |

|X9    |2    |-1  |0    |6    |-3   |0    |0    |0    |1    |0    |0    |

|X10   |2    |0   |-2   |6    |0    |-2   |0    |0    |0    |1    |0    | 
 

                                             Таблица 2. Симплекс-таблица №1.

      Итак,  в  первом  столбце  таблицы   указаны  базисные  переменные,   в

последнем столбце - их значения, а так же значения целевой  и  искусственной

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

переменные. В строках  таблицы указываются коэффициенты ограничений задачи.

     6. Реализуем   первый  этап  двухэтапного метода:  с  помощью  процедур

        симплекс-

метода выполняем  максимизацию функции -W. При этом переменные, включаемые  в

базис, выбираются по W-строке (т.е.  на  каждом  цикле  в  базис  включается

переменная,  которой  соответствует  максимальный  по  модулю  отрицательный

элемент в W-строке; столбец,  соответствующий  этой  переменной,  становится

ведущим). В нашем  случае  это  столбец  X4,  т.  к.  коэффициент  при  этой

переменной  в  W-строке  равен  –12.  Ведущую  строку  определяем  следующим

образом: рассчитываем так называемые симплексные отношения, т. е.  отношения

текущих  значений  базисных  переменных   к   положительным    коэффициентам

ведущего столбца, соответствующим данным базисным  переменным.  Затем  берем

минимальное из этих отношений и по тому,  какой  строке  оно  соответствует,

определяем ведущую  строку. У нас есть три таких  отношения: по переменной  Х8

(8/1=8),  Х9 (0/6=0) и  Х10 (0/6=0).  Получилось  два  минимальных   значения,

значит, возьмем любое  из них,  например  по  переменной  Х9.  После  находим

ведущий элемент, он расположен на  пересечении  ведущей  строки  и  ведущего

столбца (в нашем  случае он равен 6). Затем  определяем  переменные,  которые

будем  исключать  из  базиса  и  включать  в   него.   Переменную,   которой

соответствует ведущий  столбец, будем включать  в  базис  вместо  переменной,

которой соответствует  ведущая строка. Далее все преобразования выполняем  по

обычным  формулам   симплекс-метода   или   по   "правилу   прямоугольника".

Информация о работе Решение оптимизационной задачи линейного программирования