Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Симплекс-метод в линейном программировании



Задачи линейного программирования удобно решать симплекс-методом – специальным методом оптимального (направленного) перехода. Он заключается в последовательном переходе от одной вершины области допустимых значений к другой, соседней, в которой значение функции цели лучше, чем в исходной точке. Движение происходит по периметру контура двумерной области или в случае более двух переменных – по ребрам многомерного многогранника. Более оптимальным, строго говоря, был бы путь не по периметру (или ребрам), а поперек области или вдоль грани, или внутри объема многогранника к оптимальной вершине.

Аналитически доказывается, что:

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

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

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

Геометрически (для случая n = 2) этот метод означает следующее. На первом шаге выбирают любую вершину многогранника и проводят через нее прямую – функцию цели. Решения (конкретные значения x1, x2), соответствующие вершине, будут опорными (базисными). По найденным значениям x1, x2 и функции цели находят направление к другой вершине (второй шаг), в которой функция цели возрастает (или убывает, если ищется минимум). В результате получают второе опорное решение. Симплекс-метод дает оптимальную последовательность шагов, приводящую к оптимальному решению, если оно существует.

Наглядная геометрическая интерпретация процесса нахождения оптимального решения получится, если от исходной прямоугольной системы координат (x1, x2) перейти к двумерной косоугольной системе введением дополнительных неосновных свободных переменных

y v = xn+ v, n = 1,..., m

в соответствии с равенством (2.3). Тогда для случая двух переменных имеем

y v = av1x1 + a v 2x2 + b v.

В качестве преобразующих формул можно выбрать любые из соотношений (1.4). При этом в области допустимых значений y v положительны. Из всего многообразия набора новых переменных следует выбрать такую систему координат, в которой бы новое начало координат у = = 0 совпадало с одной из вершин многогранника. В противном случае придется приближать новое начало координат к одной из вершин многогранника.

Пример. Максимизируем функцию

(2.7)
L = –4x1 + x2 = max

при ограничениях:

x1 + 4x2 – 8 ³ 0;

(2.8)
2x1 – x2 + 2 ³ 0;

–x1 – x2 + 10 ³ 0;

– x1 + 2x2 + 2 ³ 0.

Для этого перейдем от прямоугольной системы координат (x1, x2) к косоугольной (y1, y2) (рис. 2.5), для которой (система 1)

y1 = –x1 + 2x2 + 2= x3;

y2 = x1 + 4x2 – 8 = x4.

Рис. 2.5. Геометрическая интерпретация симплекс-метода для двумерного случая

В новой системе 1 осями координат будут прямые y1 = 0, y2 = 0, совпадающие с ребрами AD и АВ, начало координат совпадет с вершиной А, координаты которой x1 = 4, x2 = 1. Функция цели примет вид

L = –4x1 + x2 = 17/16y1 – 7/6y2 – 15,

так как

x1 = – 2/3y1 + 1/3y2 + 4;

x2 = 1/6y1 + 1/6y2 + 1.

В начале координат (точка A) y1 = x3 = 0; y2 = x2 = 0; LA = –15. Функция цели возрастает при увеличении y1 = x3, поэтому следует двигаться в положительном направлении оси y1 = x3; y2 = x4 = = 0 и в вершине В перейти к новой системе координат (система 2):

y2 = x4 = x1 + 4x2 – 8;

y3 =x5 = 2x1 – x2 + 2

(точка пересечения прямых y2 = 0, y3 = 0 определяет вершину B). Выражая из формул (2.8) x1 и x2 через y2, y3, получаем:

x1 = 1/9y2 + 4/9y3;

x2 = 2/9y2 – 1/9y3 + 2.

Подставляя эти выражения в линейную форму (2.7), имеем

L = –4x1 + x2 = –2/9y2 – 2y3 + 2.

Отсюда значение функции цели в вершине B LB = +2.

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

Заметим, что на рис. 2.5 граница области соответствует прямым уi = 0 (i = 1, 2, 3, 4). Нумерация всей косоугольной системы координат меняется на каждом шаге. Так, на первом шаге прямая AD является осью у2, а прямая АВ – осью у1; на втором шаге прямая АВ является осью у3, а прямая ВС – осью у2. Косоугольная система координат будет выбрана неудачно, если:

y1 = –x1 + 2x2 + 2 = x3;

y3 = 2x1 – x2 + 2 = x5.

В этом случае начало координат (y1 = x3 = 0, y3 = x5 = 0) придется на точку Е с координатами x1 = –1,5, x2= –2, не принадлежащую области допустимых значений. Общее правило выбора начальной вершины заключается в том, что она должна лежать на пересечении пары осей косоугольных координат уi = 0 (i= 1, 2,..., m) и при подстановке ее координат в другие ограничения остальные координаты уj должны быть положительны, т.е. точка должна принадлежать допустимой области.

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

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

L = c1y1 + c2y2 +... + cmym

этот коэффициент должен быть наибольшим. При многих переменных геометрическая интерпретация симплекс-метода с помощью косоугольной системы координат сохраняет свою силу, только число координат должно быть равно числу ребер, исходящих из данной вершины (рис. 2.6). Далее заметим, что косоугольные координаты yi совпадают с дополнительными переменными xn+i, которые вводятся для того, чтобы ограничения-неравенства перевести в строгие равенства.

Рис. 2.6. Геометрическая интерпретация симплекс-метода для трехмерного случая

Рассмотрим рис. 2.7, на котором представлена область допустимых значений на плоскости (x1,x2) и поверхность функции цели L(x1,x2). Так как ограничения линейные, то допустимая область представляет собой выпуклый многоугольник. Из-за линейности функции цели

L(x1,x2) = c1x1 + c2x2 + b

поверхность ее является плоскостью в трехмерном пространстве, наклонной к горизонтальной плоскости (x1,x2) под определенным углом. Граница области допустимых значений через функцию цели отобразится в некоторый многоугольник в плоскости L(x1,x2). Нетрудно с помощью геометрического воображения убедиться, что экстремум совпадает с одной из вершин этого многоугольника и он – единственный. В исключительном случае экстремум достигается на ребре многоугольника, лежащего в плоскости (x1,x2), когда линейная форма совпадает с одним из ограничений и сторона многоугольника в плоскости L(x1,x2) параллельна плоскости (x1,x2).

Рис. 2.7. Локальный (он же глобальный) экстремум в линейном программировании

Если функция цели нелинейная, то экстремум может достигаться в середине участка поверхности L(x1,x2) и экстремумов может быть несколько. Аналогичная ситуация может появиться при нелинейных ограничениях. Область допустимых значений тогда может быть многосвязной, и в каждой односвязной области достигается свой экстремум.

Таким образом, применительно к симплекс-методу геометрически задачу линейного программирования для случая двух переменных можно представить в следующем виде. Над допустимой областью значений (x1,x2) строится поверхность функции цели L(x1,x2). Так как функция цели линейная, то ее поверхность будет плоскостью в трехмерном пространстве. Расстояние любой точки поверхности L(x1,x2) до горизонтальной плоскости (x1,x2) равно значению целевой функции при соответствующих x1, x2. При симплекс-методе ищется вершина, наиболее или наименее удаленная от плоскости (x1,x2). Если взять три переменных, то необходимо провести четырехмерную плоскость. Область допустимых значений ограничена многогранником в четырехмерном пространстве. Очевидно, что экстремум в этом случае будет достигаться или в вершине, или на ребре, или на грани. Аналогичная ситуация имеет место и в случае любого числа переменных, только тогда будут многомерные многогранники и плоскости.

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

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

но в частных случаях некоторые из cj равны нулю. На первом шаге выбирают m базисных переменных. Решение системы уравнений

при нулевых значениях небазисных координат называется базисным решением. В качестве базисных переменных можно выбрать любые m переменных, для которых векторы аi = ||aij|| линейно независимы, т.е. детерминант матрицы ||aij|| отличен от нуля. Однако на первом шаге их необходимо выбрать так, чтобы базисное решение, соответствующее началу координат косоугольной системы, принадлежало допустимой области (было бы одной из ее вершин). Вопрос о выборе начального базиса (базисного решения) требует специального рассмотрения, которое будет выполнено ниже.

Формализованная симплекс-таблица

Процедура отыскания экстремума с помощью симплекс-метода может оформляться в виде специальной таблицы (формализованной симплекс-таблицы). Разберем эту таблицу на примере. Для этого преобразуем рассмотренную выше задачу к такому виду, чтобы можно было применить симплекс-метод. С этой целью введем дополнительные переменные xn+i:

x3 = –x1 + 2x2 +2 ³ 0;

(2.9)
x4 = x1 + 4x2 – 8 ³ 0;

x5 =- x1 – x2 + 10 ³ 0;

x6 = 2x1 – x2 + 2 ³ 0;

L = –4x1 + x2.

Пример. Пусть система ограничений с введением переменных задана в виде равенств (2.9), т.е.

x1 – 2x2 + x3 = 2;

–x1 – 4x2 + x4 = –8;

x1 + x2 + x5 = 10;

–2x1 + x2 + x6 = 2.

Минимизируем L = –4x1 + x2 при xi ³ 0, i = 1, 2,.... 6. Очевидно, что решение x1 = 0, x2 = 0, x3 = = 2, x4 = –8, x5 = 10, x6 = 2 удовлетворяет уравнениям (2.9), но не удовлетворяет условию xi ³ 0 и поэтому не является базисным. Выбираемые небазисные переменные образуют косоугольную систему координат в ранее рассмотренной геометрической интерпретации.

Будем считать, что x3, x4 – небазисные переменные, и выразим через них базисные переменные и величину L:

x1 = –2/3x3 + 1/3x4 +4;

x2 = 1/6x3 + 1/6x4 + 1;

(2.10)
x5 = 1/2x3 – 1/2x4 + 5;

x6 = –3/2x3 +1/2x4 + 9;

L = 17/6x3 – 7/6x4 – 15.

Посмотрим, не достигла ли L своего минимального значения. Коэффициент при x4 отрицательный, следовательно, возрастание приведет к дальнейшему уменьшению L. Однако при этом необходимо следить, чтобы x1, x2, x5, x6, которые зависят от x4, не стали отрицательными, т.е. не вышли из допустимой области. Так как увеличение x4 приводит к увеличению x1, x2, x6, то для этих переменных такой опасности не существует. Рассматривая переменную x5, убеждаемся, что максимально допустимое значение x4 может быть x4 = 10. При этом:

x1 = 22/3; x2 = 8/3;

x3 = 0; x5 = 0; x6 = 14.

Поэтому за новый базис могут быть приняты переменные x1, x2, x4, x6, т.е. мы перешли к вершине x3= 0, x5= 0. Для того чтобы приступить к следующему шагу, необходимо выразить эти базисные переменные и L через небазисные (через координаты новой косоугольной системы координат). В итоге получим:

x1 = –1/3x3 – 2/3x5 +22/3;

x2 = 1/3x3 – 1/3x5 + 8/3;

x4 = x3 – 2x5 + 10;

x6 = –x3 + x5 + 14;

L = 10/3x3 + 7/3x5 – 80/3.

Совершенно очевидно, что как бы мы ни увеличивали x3, x5, уменьшить L не удается. Следовательно, достигнуто окончательное решение, при котором

x1 = 22/3; x2 = 8/3;

x4 = 10; x6 = 14;

Lмин = –80/3.

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

Первый шаг:

x3 + x1 – 2x2 = 2;

x4 – x1 – 4x2 = –8;

x5 + x1 + x2 = 10;

x6 – 2x1 + x2 = 2;

L + 4x1 – x2 = 0.

Второй шаг:

x1 + 2/3x3 – 1/3x4 =4;

x2 – –1/6x3 – 1/6x4 = 1;

x5 –1/2x3 + 1/4x4 = 5;

x6 +3/2x3 – 1/2x4 = 9;

L –17/6x3 + 7/6x4 = – 15.

Третий шаг:

x1 +1/3x3 + 2/3x5 = 22/3;

x2 –1/3x3 + 1/3x5 = 8/3;

x4 –x3 + 2x5 = 10;

x6 x3 + x5 = 14;

L –10/3x3 – 7/3x5 = –80/3.

Записи при вычислениях можно сократить, используя одну из форм симплекс-таблицы для каждого шага (табл. 2.1–2.3).

Симплекс-таблица 2.1 (первый шаг)

Базисная переменная Свободный член в ограничениях Небазисная переменная
x1 x2
x3     -2
x4 -8 -1 -4
x5      
x6   -2  
L     -1

Симплекс-таблица 2.2 (второй шаг)

Базисная переменная Свободный член в ограничениях Небазисная переменная
x3 x4
x1   2/3 -1/3
x2   -1/6 -1/6
x5   -1/2 1/4
x6   3/2 -1/2
L -15 -17/6 7/6

Симплекс-таблица 2.3 (третий шаг)

Базисная переменная Свободный член в ограничениях Небазисная переменная
x3 x4
x1 22/3 1/3 2/3
x2 8/3 -1/3 1/3
x4   -1  
x6      
L -80/3 -10/3 -7/3

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

На каждом шаге в базис включается одна из небазисных переменных, для которой положителен (или отрицателен в случае максимизации линейной формы) элемент, находящийся в самой нижней строке таблицы. Благодаря этому выбирается та переменная, увеличение которой приводит к уменьшению линейной формы (например на втором шаге переменная x4). При этом надо помнить, что числа в самой нижней строке симплекс-таблицы равны коэффициентам при соответствующих небазисных переменных в линейной форме, взятых с обратным знаком. Одновременно вычеркиваем из базисных переменных ту, которая дает наименьшее отношение свободного члена к коэффициенту в столбце, при соответствующей выбранной небазисной переменной в ограничениях, причем отрицательные отношения не учитываются, так как соответствующие переменные не могут стать отрицательными. Например, для табл. 2.2 отрицательное отношение свободного члена во второй строке к коэффициенту при переменной x4, которую рассматриваем на предмет возможности включения в базис, равно –6. Это указывает на то, что за счет увеличения переменной x4 переменная x2, которую предполагаем исключить из базиса, не обращается в нуль, что и соответствует уравнению

x = 1+ (1/6)x3 + (1/6)x4

(см. формулу 2.10). Поэтому ее исключать не следует. Геометрически это означает, что с включением переменной x2 и исключением переменной x4 вершина многогранника не будет достигнута. Для второго шага остается одна возможность – исключить x5, при этом следующая вершина многогранника будет достигнута.

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

Напомним, что симплекс-таблица строилась для случая минимизации линейной формы.





Дата публикования: 2014-11-28; Прочитано: 424 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.017 с)...