Автор работы: Пользователь скрыл имя, 01 Мая 2012 в 18:37, курсовая работа
Целью моей работы является исследование модифицированного симплекс – метода, который дает полное представление о возможностях его практического использования в математическом программировании. На конкретном примере мне предстоит показать решение задачи линейного программирования с использованием данного метода.
Введение
Симплекс-метод
Модифицированный симплекс – метод
Решение ЗЛП модифицированным симплекс-методом
Заключение
Список литературы
Сайт - http://myunivercity.ru
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РФ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ИВАНОВСКАЯ ГОСУДАРСТВЕННАЯ ТЕКСТИЛЬНАЯ АКАДЕМИЯ
(ИГТА)
Курсовая работа
по математическому
на тему:
«Модифицированный симплекс – метод».
Выполнила: студентка группы 2т9
Нохрина Ксения
Специальность: статистика
Номер зачетной книжки: 071194
Проверила: Лысова М. А.
Иваново - 2009
Оглавление
|
Стр. |
Введение Симплекс-метод Модифицированный симплекс – метод Решение ЗЛП модифицированным симплекс-методом Заключение Список литературы |
3 4 6 10
|
Введение
Успешная реализация достижений научно-технического прогресса в нашей стране тесным образом связана с использованием математических методов при решении задач из различных областей человеческой деятельности. Исключительно важное значение приобретает использование этих методов при решении математических задач. В связи с этим для будущих специалистов в этой области необходимо как знание возможностей применения математических методов и ЭВМ, так и понимание тех проблем, которые возникают при их использовании.
Целью моей работы является исследование модифицированного симплекс – метода, который дает полное представление о возможностях его практического использования в математическом программировании. На конкретном примере мне предстоит показать решение задачи линейного программирования с использованием данного метода.
Симплекс-метод.
Линейное программирование — математическая дисциплина, посвящённая теории и методам решения задач об экстремумах линейных функций на множествах n-мерного векторного пространства, задаваемых системами линейных уравнений и неравенств. Термин «программирование» нужно понимать в смысле «планирования». Он был предложен в середине 1940-х годов Джорджем Данцигом, одним из основателей линейного программирования, ещё до того, как компьютеры были использованы для решения линейных задач оптимизации. Истоки линейного программирования связаны со II Мировой войной.
Одними из первых, исследовавшими в общей форме задачи линейного программирования, были: Джон фон Нейман, советский академик Л. В. Канторович. Джеймс Данциг (1947 г.) - разработал симплекс метод.
Наиболее известным и широко применяемым на практике для решения общей задачи линейного программирования (ЛП) является симплекс-метод. Несмотря на то, что симплекс-метод является достаточно эффективным алгоритмом, показавшим хорошие результаты при решении прикладных задач ЛП, он является алгоритмом с экспоненциальной сложностью. Причина этого состоит в комбинаторном характере симплекс-метода, последовательно перебирающего вершины многогранника допустимых решений при поиске оптимального решения. Симплекс-метод — алгоритм решения оптимизационной задачи линейного программирования путём перебора вершин выпуклого многогранника в многомерном пространстве. Метод был разработан американским математиком Джорджем Данцигом (George Dantzig) в 1947 году.
Основное свойство симплекс-метода,
обуславливающее его
Модифицированный симплекс-метод.
При решении задач линейного программирования симплексным методом осуществлялся упорядоченный переход от одного опорного плана к другому до тех пор, пока либо не была установлена неразрешимость задачи, либо не был найден ее оптимальный план. Для определения того, является ли найденный опорный план оптимальным или нет, на каждой из итераций нужно было находить числа
∆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 (хiko/хiks) = xiro/хirS. Тогда новый опорный план определяется базисом, получаемым из исходного исключением из него вектора Pir, и введением вместо него вектора Ps. Считая элемент Xirs разрешающим, а r- ю строку и столбец вектора Ps направляющими, переходят к новой основной таблице. Первые m строк столбцов векторов Ро, А1, А2,… Аm новой таблицы находят по известным правилам перехода от одной симплекс-таблицы к другой, рассмотренным выше. После того, как эти элементы определены, находят вектор Ω(2). Компоненты этого вектора записывают как в новой основной таблице, так и во вспомогательной таблице . Затем вычисляют числа ∆j(2)и проверяют новый опорный план на оптимальность. Если план не оптимален, то либо устанавливают неразрешимость исходной задачи, либо переходят к новому опорному плану. Продолжая итерационный процесс, после конечного числа шагов либо находят оптимальный план задачи, либо устанавливают ее неразрешимость.
Таким образом, процесс нахождения решения задачи модифицированным симплекс-методом включает следующие этапы:
1. Находят опорный план задачи.
2. Вычисляют
матрицу В-1, обратную матрице В, составлен-
ной из компонентов векторов исходного
базиса.
3. Находят вектор Ω=Сб*В-1.
4. Вычисляют числа ∆j=ΩРj-cj.
Если все ∆j не отрицательны,
то исследуемый опорный план является
оптимальным. Если
же среди чисел ∆j имеются
отрицательные, то выбирают среди
них наибольшее по абсолютной величине.
Решение ЗЛП модифицированным симплекс-методом.
Решить задачу линейного программирования, используя модифицированный симплекс- метод, состоящую в определении минимального значения функции 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 |
М |