|
Аналитические методы поиска оптимального решенияРассмотрим две разновидности симплексного метода: симплекс-метод с естественным базисом и симплекс-метод с искусственным базисом (или М-метод). Симплекс-метод с естественным базисом. Для использования симплексного метода задача линейного программирования должна быть приведена к каноническому виду, т.е. система ограничений должна быть представлена в виде уравнений, причем матрица системы уравнений должна содержать единичную подматрицу размерностью 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
В соответствии с п. 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
Критерий оптимальности вновь не выполнен. Теперь первый столбец разрешающий; х1 переходит в основные, min{3/1; 11/2; ¥; 7} = 3; первая строка разрешающая, а11 – разрешающий элемент. Новая симплексная таблица примет вид таблице (5.3.3). Таблица 5.3.3
И на этот раз критерий оптимальности не выполнен; пятый столбец и вторая строка разрешающие. а25 = 5 – разрешающий элемент. Переходим к таблице 5.3.4.
Таблица 5.3.4
Критерий оптимальности выполнен, значит 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
Последняя строка – это (-М)-функция, т.е. (Мф)у1. Заполняем её, умножая строку у1 на коэффициент (-М). Проверяя выполнение критерия оптимальности при отыскании максимума (-М)-функции, определяем, что в последней строке имеется отрицательный элемент во втором столбце, значит, он является разрешающим. Переменная х2 переходит в основные. Минимальное оценочное отношение находится в первой строке, она - разрешающая. Переменная у1 переходит в неосновные, обращается в нуль на следующем базисном решении и далее исключается из рассмотрения. В соответствии с общим алгоритмом получаем таблицу 5.3.6.
Таблица 5.3.6
Последняя строка показывает, что критерий оптимальности выполнен; max (Мф) = 0, значит, min Мф = 0, далее эту строку можно не рассматривать. Получено допустимое базисное решение (0; 1; 0; 2; 3).
Двойственные задачи Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|