Реализация модифицированного симплекс-метода

Автор: Пользователь скрыл имя, 27 Марта 2013 в 15:34, курсовая работа

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

Успешная реализация достижений научно-технического прогресса в нашей стране тесным образом связана с использованием математических методов при решении задач из различных областей человеческой деятельности. Исключительно важное значение приобретает использование этих методов при решении математических задач. В связи с этим для будущих специалистов в этой области необходимо как знание возможностей применения математических методов и ЭВМ, так и понимание тех проблем, которые возникают при их использовании.

Оглавление

Введение
1.Симплекс-метод
1.2Модифицированный симплекс – метод
2.Решение ЗЛП модифицированным симплекс-методом
Заключение
Список литературы

Файлы: 1 файл

Курсовая.docx

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

Государственное образовательное  учреждение среднего профессионального  образования

Сочинский финансово-юридический колледж

                                                  Курсовая работа:

По дисциплине «Математические  методы»

На тему:

«Реализация модифицированного симплекс-метода»

                                                       

Выполнил: студент 3 курса,

Группы 

230105 - Программное обеспечение ВТ и АС

Волкорез А.А.

Руководитель:

 Фралова О.А.

 

 

 

Содержание 

 

Стр.

Введение

1.Симплекс-метод

1.2Модифицированный  симплекс – метод

2.Решение ЗЛП модифицированным симплекс-методом

Заключение

Список литературы

3

4

6

10

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Успешная реализация достижений научно-технического прогресса  в нашей стране тесным образом связана с использованием математических методов при решении задач из различных областей человеческой деятельности. Исключительно важное значение приобретает использование этих методов при решении математических задач. В связи с этим для будущих специалистов в этой области необходимо как знание возможностей применения математических методов и ЭВМ, так и понимание тех проблем, которые возникают при их использовании.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.Симплекс-метод.

Линейное программирование — математическая дисциплина, посвящённая  теории и методам решения задач  об экстремумах линейных функций  на множествах n-мерного векторного пространства, задаваемых системами  линейных уравнений и неравенств. Термин «программирование» нужно понимать в смысле «планирования». Он был  предложен в середине 1940-х годов  Джорджем Данцигом, одним из основателей  линейного программирования, ещё  до того, как компьютеры были использованы для решения линейных задач оптимизации. Истоки линейного программирования связаны со II Мировой войной.

Одними из первых, исследовавшими в общей форме задачи линейного  программирования, были: Джон фон Нейман, советский академик Л. В. Канторович. Джеймс Данциг (1947 г.) - разработал симплекс метод.

Наиболее известным и  широко применяемым на практике для  решения общей задачи линейного  программирования (ЛП) является симплекс-метод. Несмотря на то, что симплекс-метод является достаточно эффективным алгоритмом, показавшим хорошие результаты при решении прикладных задач ЛП, он является алгоритмом с экспоненциальной сложностью. Причина этого состоит в комбинаторном характере симплекс-метода, последовательно перебирающего вершины многогранника допустимых решений при поиске оптимального решения. Симплекс-метод — алгоритм решения оптимизационной задачи линейного программирования путём перебора вершин выпуклого многогранника в многомерном пространстве. Метод был разработан американским математиком Джорджем Данцигом (George Dantzig) в 1947 году.

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

1.2 Модифицированный симплекс-метод.

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

j=Zj-cj

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

Ω=Сб-1,

Где В-1 – матрица, обратная матрице В, составленной из компонент векторов данного базиса, а затем находят числа ∆j по формуле

j=ΩРj-cj

Определим компоненты вектора Ω и чисел ∆j в случае решения основной задачи линейного программирования модифицированным симплекс-методом.

Итак, пусть дана задача линейного  программирования, записанная в форме  основной задачи, и пусть для нее  найден опорный план, который определяется базисом, образованным векторами Рi1, Рi2,…, Рim.

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

Вспомогательная таблица  отличается от обычной симплекс-таблицы тем, что в ней содержатся дополнительные столбцы и строки, в которых соответственно записывают координаты векторов Ω(i) и значения ∆j, получаемые в процессе нахождения решения задачи.

Основная  таблица отличается от обычной симплекс-таблицы, во-первых, тем, что вместо столбцов векторов Pj с соответствующими числами сj записывают столбцы векторов Ai, координатами которых являются соответствующие столбцы матрицы В-1; во-вторых, в (m + 1)-й строке записывают компоненты векторов Ω, а не числа ∆j, в-третьих, основная таблица имеет один дополнительный столбец, в первых т строках которого записывают координаты вектора Ps в базисе Рi1, Рi2,…, Рim и который было бы целесообразно включить в базис на следующей итерации.

Чтобы определить вектор Ps, сначала находят вектор Ω(l). Его компоненты определяют как скалярное произведение вектора Сб на соответствующие векторы Аi, т.е. по формуле Ω=Сб-1. Найденные компоненты вектора Ω(l) записывают в последней строке основной таблице и в столбце Ω(l) вспомогательной таблицы. После этого по формуле ∆j=ΩРj-cj находят элементы (m+1)-й строки вспомогательной таблицы. Если среди найденных чисел (m+1)-й строки вспомогательной таблицы нет отрицательных, то исходный опорный план является оптимальным. Если же таковые есть, то либо задача не имеет решения, либо можно перейти к новому опорному плану, при котором значение целевой функции не уменьшится. Для выяснения этого выбирают среди отрицательных чисел (m+1)-й строки вспомогательной таблицы наибольшее по абсолютной величине. В том случае, когда таких чисел несколько, берут какое-нибудь одно. Пусть этим числом является ∆s (1). Тогда последний столбец основной таблицы отводят для вектора Ps. В первых т строках этого столбца записывают компоненты вектора Ps в базисе Рi1, Рi2,…, Рim. Они получаются в результате умножения матрицы В-1, записанной в основной таблице, на вектор Рs, компоненты которого указаны во вспомогательной. После определения чисел: xi1S , xi2S,…, ximS выясняют, имеются ли среди них положительные или нет. Если таких чисел нет, то задача не имеет решения. Если же положительные числа имеются, то переходят к новому опорному   плану   задачи.   Для   этого   находят   Пусть min (хikoiks) = xiroirS. Тогда новый опорный план определяется базисом, получаемым из исходного исключением из него вектора Pir, и введением вместо него вектора Ps. Считая элемент Xirs разрешающим, а r- ю строку и столбец вектора Ps направляющими, переходят к новой основной таблице. Первые m строк столбцов векторов Ро, А1, А2,… Аm новой таблицы находят по известным правилам перехода от одной симплекс-таблицы к другой, рассмотренным выше. После того, как эти элементы определены, находят вектор Ω(2). Компоненты этого вектора записывают как в новой основной таблице, так и во вспомогательной таблице . Затем вычисляют числа ∆j(2)и проверяют новый опорный план на оптимальность. Если план не оптимален, то либо устанавливают неразрешимость исходной задачи, либо переходят к новому опорному плану. Продолжая итерационный процесс, после конечного числа шагов либо находят оптимальный план задачи, либо устанавливают ее неразрешимость.

Таким образом, процесс нахождения решения  задачи модифицированным симплекс-методом включает следующие этапы:

1. Находят опорный план задачи.

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

3. Находят вектор Ω=Сб-1.

    4. Вычисляют числа ∆j=ΩРj-cj. Если все ∆j не отрицательны, то исследуемый опорный план является оптимальным. Если 
же среди чисел ∆j имеются отрицательные, то выбирают среди 
них наибольшее по абсолютной величине.

  1. Вычисляют компоненты вектора Ps в исходном базисе. Если среди компонент вектора Рs нет положительных, то целевая функция задачи не ограничена на множестве планов. Если же среди компонент вектора Ps имеются положительные, то переходят к новому опорному плану.
  2. По известным правилам симплекс-метода находят разрешающую строку и вычисляют положительные компоненты нового опорного плана, а также матрицу В-1 , обратную матрице В, составленной из компонент векторов нового базиса.
  3. Проверяют новый опорный план на оптимальность и в случае необходимости проводят вычисление, начиная с этапа 3.

 

 

 

 

 

 

 

 

 

 

 

 

2. Решение ЗЛП модифицированным симплекс-методом.

Решить задачу линейного  программирования, используя модифицированный симплекс- метод, состоящую в определении  минимального значения функции F(x)=3x1+2х2+4х3+5х4+3х5+2х6 при условиях:

 

Для сформулированной задачи нельзя непосредственно написать опорный  план. Поэтому рассмотрим расширенную  задачу. При этом введем 3 дополнительные переменные и 3 искусственные базиса.

Найти  минимум функции:

F(x)=3x1+2х2+4х3+5х4+3х5+2х6 + 0х7+0х8+0х9-Мх10 – Мх11 – Мх12

 

Расширенная задача имеет  опорный план:

Х = (0,0,0,0,0,0,0,0,0,12,18,32),  который определяется базисом, образованным векторами Р10, Р11, Р12. Составляем вспомогательную и основную таблицы (1 и 2). Сначала в таблицу 1 на основе исходных данных заполняем первые три строки столбцов Р0, Р1,…, Р12, а в таблице 2 – первые три строки столбцов Р0, А1, А2, А3.

 

 

Таблица 2.

i

Б

Сб

Р0

А1

А2

А3

Р6

1

Р10

М

12

1

0

0

1

2

Р11

М

18

0

1

0

3

3

Р12

М

32

0

0

1

8

4

   

-62М

М

М

М

 

 

Находим вектор  Ω(1):

λ1(1) =М*1+М*0+М*0=М

λ2(1) =М*0+М*1+М*0=М

λ3(1) =М*0+М*0+М*1=М

F0= - М*12 - М*18 - М*32= - 62М

Находим числа ∆j(1):

1=

2=

3= -М*4-М*2-М*0+4=-6М+4

4=

5=

6= - М * 1-М * 3-М * 0+2= -12М+2

7= - М * (-1) - М * 0 - М * 0-0=М

8= -М * 0 - М * (-1) - М * 0 - 0=М

9=-М * 0 - М * 0 - М *(-1) - 0=М

Так как среди чисел  имеются отрицательные, то исходный опорный план не является оптимальным. Перейдем к новому опорному плану. Введем в базис вектор Р6 и выведем Р12. Строим новую таблицу (3).

Таблица 3.

i

Б

Сб

Р0

А1

А2

А3

Р6

1

Р10

М

8

1

0

-

0

2

Р11

М

6

0

1

-

0

3

Р6

-2

4

0

0

 

1

4

   

-14М-8

0

0

 

0


 

Находим вектор  Ω(2):

λ1=

λ2 =

λ3=М*

F0

Находим числа ∆j(2):

1 = -3М+2

2 = 5М+ 3/4

3 =  -6М+4

4 =

5 = - 4М+11/2

6 = -12М+2

7 = М

8 = М

9 = М

Так как среди чисел  имеются отрицательные, то исходный опорный план не является оптимальным. Перейдем к новому опорному плану. Введем в базис вектор Р3 и выведем Р10. Строим новую таблицу (4).

Таблица 4.

i

Б

Сб

Р0

А1

А2

А3

1

Р3

-4

2

¼

0

 

2

Р11

М

2

½

1

 

3

Р6

-2

4

0

0

 

4

   

-2М-16

 

М

 

Информация о работе Реализация модифицированного симплекс-метода