Алгебраический симплексный метод
Итеративный переход от одного допустимого базисного решения проводится направленно от одной вершины области допустимых решений к другой и заключается в обмене (замещении) базисных и свободных переменных: базисная переменная приравнивается к нулю и переходит в свободную, а соответственно свободная переменная переводится на место базисной. Если в столбце свободных членов все элементы положительны… Читать ещё >
Алгебраический симплексный метод (реферат, курсовая, диплом, контрольная)
Для решения задач линейного программирования предложено немало различных алгоритмов. Наиболее эффективным среди них является алгоритм, известный под названием «симплексный метод», или метод последовательного улучшения плана.
Впервые симплексный метод был предложен американским ученым Дж. Даннингом в 1949 г., однако еще в 1939 г. идеи метода были разработаны российским математиком Л. В. Канторовичем.
Симплексный метод — это итеративный процесс направленного решения системы уравнений по шагам, который начинается с опорного решения и в поисках лучшего варианта движется по угловым точкам области допустимого решения, улучшающим значение целевой функции до тех пор, пока целевая функция не достигнет оптимального значения.
Допустимое множество базисных решений системы линейных уравнений образует в объеме многогранное тело, например тетраэдр, вершины которого — угловые точки.
Каждой угловой точке многогранника решений соответствует опорный план (допустимое базисное решение).
Количество перебираемых допустимых базисных решений можно сократить и проводить не беспорядочный перебор, а последовательный по специальному алгоритму, улучшая значение целевой функции.
В тех случаях, когда модель содержит т уравнений, для построения опорных решений используются т переменных, принимающих некоторые положительные значения при нулевых значениях остальных свободных переменных. Вычислительная процедура может быть представлена в виде следующей последовательности.
Итеративный переход от одного допустимого базисного решения проводится направленно от одной вершины области допустимых решений к другой и заключается в обмене (замещении) базисных и свободных переменных: базисная переменная приравнивается к нулю и переходит в свободную, а соответственно свободная переменная переводится на место базисной. Если в столбце свободных членов все элементы положительны, то решение является допустимым. Если в строке целевой функции все элементы неотрицательные, то решение является оптимальным при решении задачи на максимум.
В соответствии с симплексным методом на первом шаге находят начальное опорное решение — допустимый вариант, удовлетворяющий всем ограничениям. Затем последовательно за определенное число итераций направленно осуществляется переход от одного опорного решения к другому вплоть до оптимального. Следует заметить, что на первом шаге в качестве базисных переменных следует' выбрать такие т переменные, каждая из которых входит только один раз в одно из т уравнений системы, при этом нет таких уравнений системы, в которые не входит ни одна из этих переменных. При этом если выбранные переменные имеют те же знаки, что и соответствующие им свободные члены в правых частях, то полученное базисное решение будет допустимым. В процессе решения системы линейных уравнений необходимо ориентироваться на сохранение неотрицательности всех переменных, поскольку это определяет допустимость решения.
Для использования рассмотренного алгоритма симплексного метода к минимизации линейной формы связи F (X) следует искать максимум функции Е (Х), а затем полученное решение взять с обратным знаком.
Предложенный алгоритм приводит к оптимальному решению для любой модели линейного программирования за конечное число итераций, если система линейных уравнений задачи совместна.
Симплексный метод основан на последовательном переходе от одного базисного решения (опорного плана) задачи линейного программирования к другому опорному плану, при этом значение целевой функции изменяется в лучшую сторону. Рассмотрим алгоритм симплексного метода на примере решения задачи планирования товарооборота предприятия торговли.
Коммерческое предприятие реализует п товарных групп, располагая т ограниченными материально-денежными ресурсами bt > 0 (i = 1, от). Известны расходы ресурсов каждого /-го вида на реализацию единицы товара по каждой группе, представленной в виде матрицы А = (а А, и прибыль с, получаемая предприятием от реализации единицы товара j-й группы. Необходимо определить объем и структуру товарооборота Xj (/ = 1, п), при которых прибыль коммерческого предприятия была бы максимальной.
Математическую модель задачи запишем следующим образом.
Определить вектор X = (xj, х2, …, х"), который удовлетворяет ограничениям вида.
и обеспечивает максимальное значение целевой функции.
Алгоритм симплексного метода включает следующие этапы.
1. Составление первого опорного плана. Система ограничений задачи, решаемой симплексным методом, задана в виде системы неравенств смысла «<�», правые части которых Ь, > 0. Перейдем от системы неравенств к системе уравнений путем введения неотрицательных переменных. Векторы-столбцы при этих дополнительных балансовых переменных представляют собой единичные векторы и образуют базис, а соответствующие им переменные называются базисными:
где x"+j — дополнительные переменные, i = 1, от; х; — свободные переменные, j = 1 , п.
Решим эту систему относительно дополнительных переменных:
а функцию цели перепишем в виде уравнения.
Следует заметить, что опорным решением называется базисное неотрицательное решение, а свободные члены равны нулю.
Полагая, что основные переменные Х = х2 = х3 = … = = хп = 0, получим допустимое базисное решение — опорный план Х = (0, 0, …, О, Ь, Ь2, bm) F (X) = 0, который заносим в симплексную таблицу. Она состоит из коэффициентов системы ограничений и свободных членов. Последняя строка таблицы называется индексной и заполняется коэффициентами функции цели, взятыми с противоположным знаком.
- 2. Проверка плана на оптимальность. Если значения базисных переменных неотрицательны, то решение является допустимым. Если все коэффициенты индексной строки симплексной таблицы при решении задачи на максимум неотрицательны (> 0), то план является оптимальным. Если найдется хотя бы один коэффициент индексной строки меньше нуля, то план неоптимальный, и его необходимо улучшить.
- 3. Определение ведущих столбца и строки. Из отрицательных коэффициентов индексной строки выбираем наибольший по абсолютной величине, что и определяет ведущий столбец, который показывает, какая переменная на следующей итерации перейдет из свободных в базисные.
Затем элементы столбца свободных членов симплексной таблицы делим на элементы того же знака (+/+; -/-) ведущего столбца. Результаты заносим в отдельный столбец 0/, они должны быть всегда положительны. Строка симплексной таблицы, соответствующая минимальному значению 0/, является ведущей. Она и определяет переменную х" которая на следующей итерации выйдет из базиса и станет свободной (обмен).
Элемент симплексной таблицы, находящийся на пересечении ведущих столбца и строки, называют разрешающим и выделяют, например, кружком.
А. Построение нового опорного плана. Переход к новому плану осуществляется в результате пересчета симплексной таблицы методом Жордана —Гаусса. Сначала заменим переменные в базисе, т. е. вместо Xj в базис войдет переменная Ху соответствующая ведущему столбцу (замена).
Разделим все элементы ведущей строки предыдущей симплексной таблицы на разрешающий элемент и результаты деления занесем в строку следующей симплексной таблицы, соответствующей введенной в базис переменной Ху В результате этого на месте разрешающего элемента в следующей симплексной таблице запишем 1, а в остальных клетках j-го столбца, включая клетку столбца индексной строки, записываем нули. Остальные новые элементы нового плана находятся по мнемоническому правилу прямоугольника:
где СТЭ — элемент старого плана; РЭ — разрешающий элемент; А и В — элементы старого плана, образующие прямоугольник с элементами СТЭ и РЭ.
Далее возвращаемся ко второму этапу алгоритма — проверке плана на оптимальность.
При решении задачи линейного программирования на минимум целевой функции признаком оптимальности плана являются отрицательные значения всех коэффициентов индексной строки симплексной таблицы.
Если в ведущем столбце все коэффициенты а" < 0, то функция целиi_F (X) не ограничена на множестве допустимых планов, т. е. F (X) —? оо и задача не имеет решения.
Если в столбце 0, симплексной таблицы содержатся два или несколько одинаковых наименьших значений, то новый опорный план будет вырожденным (одна или несколько базисных переменных станут равными нулю). Вырожденные планы могут привести к зацикливанию, т. е. к многократному повторению процесса вычислений, не позволяющему получить оптимальный план. В таких случаях для выбора ведущей строки используют метод Креко, который заключается в следующем. Элементы строк, имеющие одинаковые наименьшие значения 0″ делятся на предполагаемые разрешающие элементы, а результаты заносятся в дополнительные строки. За ведущую строку выбирается та, в которой раньше встретится наименьшее частное при чтении таблицы слева направо по столбцам. Например, таблица, содержащая три равных значения 0/ = 2, имеет следующий вид.
План. | Базисные переменные. | Значения базисных переменных. | х{ | х2 | хз | *4. | *5. | *6. | х7 | е,. |
I. | Х | 4/2 =2. | ||||||||
хъ | 8/4 =2. | |||||||||
хв | — 1. | 10/5 = 2. |
Допустим, разрешающим столбцом является х7, тогда разрешающим элементом может быть 2, 4 или 5. Следуя указанному правилу, получим таблицу.
Значения базисных переменных. | Х | х2 | *3. | *4. | х5 | -гб. | х7 |
1,5. | 0,5. | ||||||
0,25. | 0,25. | ||||||
2,4. | — 0,2. | 0,2. | 0,2. |
Сравниваем последовательно слева направо полученные частные по столбцам. В первом и втором столбцах все частные одинаковы, а в третьем столбце наименьшее частное 1,5 в первой строке, следовательно, эта строка и будет разрешающей с разрешающим элементом 2.
Если в оптимальный план вошла дополнительная переменная лгя+1, то при реализации такого плана имеются недоиспользованные ресурсы г-го вида в количестве, полученном в столбце свободных членов симплексной таблицы.
Если в индексной строке симплексной таблицы оптимального плана находится нуль, принадлежащий свободной переменной, не вошедшей в базис, а в столбце, содержащем этот нуль, имеется хотя бы один положительный элемент, то задача имеет множество оптимальных планов. Свободную переменную, соответствующую указанному столбцу, можно внести в базис, выполнив соответствующие этапы алгоритма. В результате будет получен второй оптимальный план с другим набором базисных переменных.
Пример 2.5. Коммерческое предприятие, располагающее материально-денежными ресурсами, реализует три группы товаров Л, В и С. Плановые нормативы затрат ресурсов на 1 тыс. руб. товарооборота, доход от продажи товаров на 1 тыс. руб. товарооборота, а также объем ресурсов заданы в табл. 2.5.
Определите плановый объем продажи и структуру товарооборота так, чтобы доход торгового предприятия был максимальным.
Таблица 2.5
Вид материально-денежных ресурсов. | Норма затрат материальноденежных ресурсов на 1 тыс. руб. товарооборота. | Объем ресурсов. ь, | ||
группа Л | группа В | группа С | ||
Рабочее время продавцов, чел.-ч. | 0,1. | 0,2. | 0.4. | |
Площадь торговых залов, м2 | 0,05. | 0,02. | 0,02. | |
Площадь складских помещений, м. | ||||
Доход, тыс. руб. | шах. |
Решение. Построим математическую модель задачи.
Определим вектор X = (х9 х2, х3), который удовлетворяет условиям
и обеспечивает максимальное значение целевой функции.
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных Х4, Х5, xG:
Матрица коэффициентов А = (я,) этой системы уравнений имеет следующий вид:
Векторы Л4, Л5, Aq линейно независимы, так как определитель, построенный на этих векторах, отличен от нуля. Следовательно, соответствующие этим векторам переменные x4f х$, Xq являются базисными и в этой задаче определяют объемы неиспользованных ресурсов.
Решим систему уравнений относительно базисных переменных.
Функцию цели запишем в виде уравнения.
Полагая, что свободныелеременные Х = 0, х2 = 0, х3 = (К получим первый опорный план Х = (0, 0, 0, 1100, 120, 8000), F (X) = 0, в котором базисные переменные х4 = 1100, х$ = 120, х6 = 8000. Следовательно, товары не продаются, доход равен нулю, а ресурсы не используются. Полученный первый опорный план запишем в симплексную табл. 2.6.
Первый опорный план неоптимальный, так как в индексной строке находятся отрицательные коэффициенты: -3, -5, -4.
В качестве ведущего выберем столбец, соответствующий переменной х2, так как наибольший коэффициент по модулю: |5| > {|-3|, |-4|}.
План. | Базисные переменные. | Значения базисных переменных. | Значения коэффициентов при. | 0,. min. | |||||
Х | х2 | *3. | х4 | *5. | х6 | ||||
I. | * Ч х5 Хб |
| од.
|
|
|
|
|
|
|
Индексная строка. | F (XO | — 3. | — 5. | — 4. | |||||
II. | х2 ^*5 х6 |
|
|
|
|
|
|
| 11 000 250 1000. |
Индексная строка. | f (x2). | 27 500. | — 0,5. | ||||||
III. | Х2 Xl Ч |
|
|
|
|
|
|
| |
Индексная строка. | F (X 3). | 27 625. | 5,75. | 23,75. | 12,5. |
Вычислим значения dj по строкам как частное от деления и из них выберем наименьшее:
Следовательно, первая строка является ведущей. Разрешающий элемент равен 0,2 и находится на пересечении ведущего столбца и ведущей строки и выделен в табл. 2.6.
Формируем следующую часть симплексной таблицы. Вместо переменной^ в план II войдет переменная^. Строка, соответствующая переменной х2 в плане II, получена в результате деления всех элементов строки х4 плана I на разрешающий элемент РЭ = 0,2. На месте разрешающего элемента в плане II получаем 1. В остальных клетках столбцам плана II записываем нули.
Таким образом, в новом плане II заполнены строках2 и столбец^. Все остальные элементы нового плана II, включая элементы индексной строки, определяются по мнемоническому правилу прямоугольника. Для этого выбираем из старого плана четыре числа, которые расположены в вершинах прямоугольника и всегда включают разрешающий элемент РЭ = 0,2. Во второй вершине по диагонали находится старое значение элемента, например значение целевой функции F (X{) = 0 = СЭ, которое указывает на место расположения нового НЭ в новом плане II. Третий элемент Л = 1100 и четвертый элемент В = -5 завершают построение прямоугольника в недостающих двух вершинах и расположены по другой диагонали. Значение нового элемента в плане II находится из выражения.
Элементы строки определяются аналогично:
Все элементы, расположенные на пересечении строк и столбцов, соответствующих одноименным базисным элементам, равны единице, остальные элементы столбца в базисах векторов, включая индексную строку, равны нулю. Аналогично проводятся расчеты по всем строкам таблицы, включая индексную.
Выполняя последовательно все этапы алгоритма, формируем план II.
На третьей итерации получаем план III, который является оптимальным, так как все коэффициенты в индексной строке > 0.
Оптимальный план можно записать.
Следовательно, необходимо продавать товаров первой группы, А — 250 ед., а второй группы В — 5375 ед. При этом торговое предприятие получает максимальный доход в размере 27 625 тыс. руб. Товары группы С не реализуются.
В оптимальном плане среди базисных переменных находится дополнительная переменная лг6. Эго указывает на то, что ресурсы третьего вида (площадь складских помещений) недоиспользована на 1875 м2, так как переменная Xq была введена в третье ограничение задачи, характеризующее собой использование складских помещений этого ресурса.
В индексной строке оптимального плана в столбцах переменных дг3, Х4, *5, не вошедших в состав базисных, получены ненулевые элементы, поэтому оптимальный план задачи линейного программирования является единственным.
Пример 2.6. Рассмотрим применение симплексного метода на примере поставленной задачи анализа коммерческой деятельности предприятия в и. 2.2.1 и уже полученного решения в п. 2.3.1 графическим методом. Для упрощения процедуры решения оставим условия неотрицательности переменных хн > 0;хв > 0.
Для построения первого опорного плана систему неравенств преобразуем к системе уравнений путем введения дополнительных балансовых переменныхХ, Х2, определяющих объем неиспользованных ресурсов,
а целевую функцию представим в виде уравнения.
Полагая, что основные переменные хн = хв = 0, получим первый опорный план
в котором базисные переменные равны.
Первый опорный план заносим в симплексную табл. 2.7, он не является оптимальным, поскольку в индексной строке находятся отрицательные коэффициенты (-2) и (-3). Затем, действуя в соответствии с изложенными выше правилами, переходим последовательно от одного плана к другому, пока не построим оптимальный план V, в котором в индексной строке отсутствуют отрицательные элементы. Запишем оптимальный план.
Таким образом, для получения максимального дохода от дневной продажи краски 10- тыс. pv6. предприятию необходимо выпу;
i з 1.
скать в сутки 3 — т краски наружных раоот и 1 — т краски для внут;
3 3.
ренних работ. В оптимальный план вошли дополнительные Л 2
переменныеХз = 3- и х = -, что свидетельствует о величине недо- 2 3.
использованных ресурсов третьего и четвертого вида. Следует заметить, что остальные ресурсы использованы полностью, поскольку Х = 0 и Хч = 0.
Полученный оптимальный план является невырожденным, так как при расчете столбца 0, отсутствуют одинаковые минимальные значения отношений и все значения базисных переменных в оптимальном плане отличны от нуля. Кроме того, поскольку в индексной строке в столбцах переменных Ху и хч, не вошедших в состав базисных, получены ненулевые элементы, то оптимальный план является единственным.
План. | Базисные переменные. | Значения базисных переменных. | Х | *2. | х3 | ХЛ | 0,; mi п. | ||
I. | *1. | 0,5. | |||||||
х2 | 0,5. | ||||||||
х3 | 1,5. | — 1. | 1,5. | ||||||
ХА | |||||||||
Р (Х{) | — 2. | — 3. | |||||||
II. | х | 1,5. | 1,5. | — 1. | |||||
Х2 | 3,25. | 1,5. | — 0,5. | 13/6. | |||||
хв | 1,5. | — 1. | |||||||
х4 | 0,5. | — 1. | 0,5. | ||||||
F (X2) | 4,5. | — 5. | |||||||
III. | Х | 0,75. | 0,5. | — 1,5. | 1,5. | ||||
х2 | 2,5. | — 1,5. | 2,5. | ||||||
Хв | —. | ||||||||
х" | 0,5. | — 1. | —. | ||||||
Р (Х3) | — 2. | ||||||||
IV. | х3 | 1,5. | — 3. | ; | |||||
х2 | — 2. | 1,5. | 2/3. | ||||||
хв | |||||||||
хн | — 2. | —. | |||||||
F (Xt) | — 1. | ||||||||
V. | х3 | 3,5. | — 2. | ||||||
х4 | 2/3. | — 4/3. | 2/3. | ||||||
хв | *5. | 4/3. | — 2/3. | ||||||
Хи | — 2/3. | 4/3. | |||||||
F (X 5). | 10! | 2! | 2/3. |
Пример 2.7. Рассмотрим решение предыдущей задачи примера 2.6 с учетом дополнительных ограничений другого вида тогда получим:
Заполним симплексную табл. 2.8 и проведем соответствующие операции, учитывая, что при вычислении частных 0, необходимо деление проводить только с числами одинакового знака.
Таблица 2.8
План. | Базисные переменные. | Значения базисных переменных. | Х". | хв | Xi. | х2 | *3. | Ха. | х$ | Хв | 0,. min. |
I. | Xi. | 0,5. | |||||||||
х2 | 0,5. | ||||||||||
*3. | 1,5. | — 1. | 1,5. | ||||||||
х4 | |||||||||||
*5. | — ¼. | — 1. | ¼. | ||||||||
Х6 | — 0,5. | — 1. | —. | ||||||||
F (X i). | — 2. | — 3. | |||||||||
VI. | *3. | 3,5. | — 2. | ||||||||
х4 | 2/3. | — 4/3. | 2/3. | ||||||||
*5 | 4/3. | — 2/3. | |||||||||
х". | — 2/3. | 4/3. | |||||||||
хв | 4/3. | — 2/3. | |||||||||
*6. | — 2/3. | 4/3. | |||||||||
F (X6) | 101 | 2/3. |
После нескольких итераций, часть которых в таблице пропущена, получим оптимальный план.
Решение задачи закончено, и Fmax(Х%) = 10- тыс. руб. Решите за;
дачи № 1—4 п. 2.3.1 симплексным методом.