Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





Рассмотрим две разновидности симплексного метода: симплекс-метод с естественным базисом и симплекс-метод с искусственным базисом (или М-метод).

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

Для определенности предположим, что первые m векторов матри­цы системы составляют единичную матрицу. Тогда очевиден первона­чальный опорный план: (b1, b2, …, bm, 0, …, 0).

Проверка на оптимальность опорного плана проходит с помощью критерия оптимальности, переход к другому опорному плану - с помо­щью преобразований Жордана-Гаусса и с использованием критерия оптимальности. Полученный опорный план снова проверяется на оптимальность и т.д. Процесс заканчивается за конечное число шагов, при­чем на последнем шаге либо выявляется неразрешимость задачи (ко­нечного оптимума нет), либо получаются оптимальный опорный план и соответствующее ему оптимальное значение целевой функции.

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

Теорема 3.1. Если для некоторого вектора, не входящего в ба­зис, выполняется условие

где

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

а) если все координаты вектора, подлежащего вводу в базис, непо­ложительны, то задача линейного программирования не имеет решения;

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

Теорема 3.2. Если для всех векторов выполняется условие

то полученный план является оптимальным.

На основании признака оптимальности в базис вводится вектор А k, давший минимальную отрицательную величину симплекс-разности:

 

 

Чтобы выполнялось условие неотрицательности значений опорно­го плана, выводится из базиса вектор А г , который дает минимальное положительное отношение

Строка А г называется направляющей, столбец А г и элемент а гк –направляющими (последний называют также разрешающим элементом).

Элементы вводимой строки, соответствующей направляющей стро­ке, в новой симплекс-таблице вычисляются по формуле

а элементы любой другой i-й строки пересчитываются по формулам:

Значения базисных переменных нового опорного плана (показа­тели графы "план") рассчитываются по формулам:

для для

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

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

Для использования приведенной выше процедуры симплекс-ме­тода к минимизации линейной формы F следует искать максимум фун­кции F,= -F, затем полученный максимум взять с противоположным знаком. Это и будет искомый минимум исходной задачи линейного программирования.

Симплексные таблицы

Практические расчеты при решении реальных задач симплексным методом выполняются в настоящее время с помощью компьютеров. Однако если расчеты осуществляются без ЭВМ, то удобно использо­вать так называемые симплексные таблицы. Рассмотрим алгоритм их составления, не углубляясь в его подробное обоснование. Для оп­ределенности считаем, что решается задача на отыскание максимума.

I. После введения добавочных переменных систему уравнений и линейную функцию записываем в виде, который называется расширен­ной системой:

 

 

Предполагаем, что все добавочные переменные имеют тот же знак, что и свободные члены; в противном случае используем так называе­мый М-метод, который будет рассмотрен ниже.

II. Исходную расширенную систему заносим в первую симплексную таблицу. Последняя строка таблицы, в которой приведено уравнение для линейной функции цели, называется оценочной. В ней указываются коэффициенты функции цели с противоположным знаком: b1 = – сi. В левом столбце таблицы записываем основные переменные (базис), в первой строке таблицы – все переменные (отмечая при этом основные), во втором столбце – свободные члены расширенной системы b1, b2, …, bm. Последний столбец подготовлен для оценочных отношений, нeoбxoдимыx при расчете наибольшего возможного значения переменной. В рабочую часть таблицы (начиная с третьего столбца и второй строки) занесены коэффициенты аij при переменных из расширенной системы. Далее таблица преобразуется по определенным правилам.

III. Проверяем выполнение критерия оптимальности при решении задачи на максимум - наличие в последней строке отрицательных коэффициентов bi < 0 (сi > 0). Если таких нет, то решение оптимально, достигнут max F = c0 (в левом нижнем углу таблицы), основные переменные принимают значения аi0 (второй столбец), основные переменные равны 0, т.е. получаем оптимальное базисное решение.

IV. Если критерий оптимальности не выполнен, то наибольший по модулю отрицательный коэффициент Ьi < 0 в последней строке определяет разрешающий столбец s.

Составляем оценочные ограничения каждой строки по следующим правилам:

1) ¥, если bi и ais имеют разные знаки;

2) ¥, если bi = 0 и ais < 0;

3) ¥, если аis = 0;

4) 0, если bi = 0 и ais> 0;

5) , если аi0 и аis имеют одинаковые знаки.

Определяем .

Если конечного минимума нет, то задача не имеет конечного оптимума (Fmax = ¥). Если минимум конечен, то выбираем строку q, на которой он достигается (любую, если их несколько), и называем ее раз­решающей строкой. На пересечении разрешающих строки и столбца находится разрешающий элемент аqs.

V. Переходим к следующей таблице по правилам:

а) в левом столбце записываем новый базис: вместо основной переменной хq - переменную xs;

б) в столбцах соответствующих основным переменным про­ставляем нули и единицы: 1 - против "своей" основной переменной, 0 - против "чужой" основной переменной, 0 – в последней строке для всех основных переменных;

в) новую строку с номером q получаем из старой делением на разрешающий элемент aqs;

г) все остальные элементы а вычисляем по правилу прямоугольника (рис. 5.3.2).

 

 

 
 


aij ais

 

aqj aqs

Рис. 5.3.2

Далее переходим к п. III алгоритма.

Рассмотрим пример. Решим задачу об использовании ресурсов, приведенную в подразделе 1.4, с помощью симплексных таблиц.

Задача 3.2. Исходная система ограничений имеет вид:

Решение. Приведем задачу к канонической, введя дополнитель­ные переменные x3, x4, x5, x6. Расширенная система задачи имеет вид:

Линейную функцию представим в виде F – 2x1 – 3x2 = 0.

Заполняем первую симплексную таблицу (табл. 5.3.1), в которой переменные х3, х4, х5, х6 – основные. Последняя строка заполняется коэффициентами линейной функции с противоположным знаком (см. п. II алгоритма).

 

Таблица 5.3.1

Базис Свободный член Переменные Оценочное отношение
х1 х2 х3 х4 х5 х6
x3               18/3
x4                
x5               5
x6               ¥
F   -2 -3          

 

В соответствии с п. III алгоритма проверяем критерий оптимальности. В последней строке имеются отрицательные коэффициенты. Выбираем из них наибольший по модулю (-3); второй столбец - разрешающий, переменная x перейдёт в основные (этот столбец отмечен стрелкой). В соответствии с п.IV находим оценочные отношения и x2 = min {18/3; 16; 5; ¥} = 5. Третья строка является разрешающей (отмечена горизонтальной стрелкой). На пересечении разрешающих строки и столбца стоит элемент а33 = 1.

Строим таблицу 5.3.2 по правилам п. V алгоритма:

а) в новом базисе основные переменные: х3, х4, х2, х6;

б) расставляем нули и единицы; например, в клетке, соответствующей основной переменной х3 по столбцу и строке, ставим 1, а в клетке, соответствующей основной переменной х3 по строке, а основной переменной х2 – по столбцу, ставим 0 и т.п. В последней строке против всех основных переменных ставим 0. Третья строка получается делением на разрешающий элемент а33 = 1. Остальные клетки заполняем по правилам прямоугольника. Например:

и т.д.

Получим вторую симплексную таблицу (таблице 3.2).

Таблица 5.3.2

Базис Свободный член Переменные Оценочное отношение
x1 x2 x3 x4 x5 x6
x3           -3   3
x4           -1   11/2
x5               ¥
x6                
F   -2            

Критерий оптимальности вновь не выполнен. Теперь первый столбец разрешающий; х1 переходит в основные, min{3/1; 11/2; ¥; 7} = 3; первая строка разрешающая, а11 – разрешающий элемент.

Новая симплексная таблица примет вид таблице (5.3.3).

Таблица 5.3.3

Базис Свободный член Переменные Оценочное отношение
x1 x2 x3 x4 x5 x6
x3           -3   ¥
x4       -2       5/5
x5               5/1
x6       -3       12/9
F           -3    

 

И на этот раз критерий оптимальности не выполнен; пятый столбец и вторая строка разрешающие. а25 = 5 – разрешающий элемент.

Переходим к таблице 5.3.4.

 

Таблица 5.3.4

Базис Свободный член Переменные Оценочное отношение
x1 x2 x3 x4 x5 x6
x3       -1/5 3/5      
x5       -2/5 1/5      
x2       2/5 -1/5      
x6       3/5 -9/5      
F       4/5 3/5      

 

Критерий оптимальности выполнен, значит Fmax = 24, оптимальное базисное решение (6; 4; 0; 0; 1; 3).

 

Метод искусственного базиса

При расчете с помощью симплексных таблиц часто удобнее пользо­ваться так называемым М-методом, или методом искусственного бази­са. Он заключается в следующем.

В каждое уравнение, дающее отрицательную компоненту в ба­зисном решении, вводим свою новую неотрицательную искусственную переменную у1, у2,..., уk, которая имеет тот же знак, что и свободный член в правой части уравнения. В первой таблице включаем в число основных все искусственные переменные и те обычные добавочные переменные, которые определяют неотрицательные компоненты базис­ного решения. Составляем новую линейную функцию Т = F - М (у1 + y2 +... + уk), где М -произвольно большое число, и ищем ее максимум (Т-задача). Назовем М-функцией выражение М (у1 + y2+„.+ yk). Справедлива следующая теорема (доказательство здесь не приводится):

1. Если в оптимальном решении Т-задачи все искусственные пе­ременные равны нулю, то соответствующие значения остальных пере­менных дают оптимальное решение исходной задачи (т.е. Tmax = Fmax, если у1 = y2=...= yk = 0, т.е. минимум М-функции равен нулю).

2. Если имеется оптимальное решение Т-задачи, в котором хотя бы одна из искусственных переменных отлична от нуля, то система огра­ничений исходной задачи несовместна.

3. Если Tmax = ¥, то исходная задача также неразрешима, причём либо Fmax = ¥, либо условия задачи противоречивы.

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

Пример. Решить М-методом следующую задачу, используя симплексные таблицы,

F = x1 + 2x2 ® max

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

 

Решение. Введём необходимое число искусственных переменных и столько же дополнительных строк в симплексные таблицы.

Имеем

F = x1 + 2x2 ® max

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

Х1 = (0; 0; -1; 3; 5) – недопустимое базисное решение с одной отрицательной компонентой, поэтому в первое уравнение введём искусственную переменную у1 с тем же знаком, что и свободный член:

Составляем первую симплексную таблицу (таблице 5.3.5).

 

 

Таблица 5.3.5

Базис Свободный член Переменные Оценочные отношения
x1 x2 x3 x4 x5 x6
y1   -1   -1       1
y4   -1            
y5               ¥
F   -1 -2         max
Mф М М     М max

Последняя строка – это (-М)-функция, т.е. (Мф1. Заполняем её, умножая строку у1 на коэффициент (-М). Проверяя выполнение критерия оптимальности при отыскании максимума (-М)-функции, определяем, что в последней строке имеется отрицательный элемент во втором столбце, значит, он является разрешающим. Переменная х2 переходит в основные. Минимальное оценочное отношение находится в первой строке, она - разрешающая. Переменная у1 переходит в неосновные, обращается в нуль на следующем базисном решении и далее исключается из рассмотрения.

В соответствии с общим алгоритмом получаем таблицу 5.3.6.

 

Таблица 5.3.6

Базис Свободный член Переменные Оценочные отношения
x1 x2 x3 x4 x5
x2   -1   -1      
x4              
x5              
F   -3   -2     max
-Mф             max

 

Последняя строка показывает, что критерий оптимальности выполнен; max (Мф) = 0, значит, min Мф = 0, далее эту строку можно не рассматривать. Получено допустимое базисное решение (0; 1; 0; 2; 3).

 

Двойственные задачи







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.