Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники ТПР / Учебник ТПР_4.2.doc
Скачиваний:
203
Добавлен:
17.06.2016
Размер:
2.38 Mб
Скачать

302

4.2. Симплекс-метод решения задач

линейного программирования

___________________________________________________________________________________________________________

4.2. Симплекс-метод решения задач линейного программирования

Основная идея симплекс-метода

Основываясь на определениях данных в предыдущей лекции, мы можем найти оптимальное решение задачи линейного программирования, записанной в стандартной форме, путем простого перебора всех базисных (допустимых) решений. Но, конечно, такая процедура не эффек­тивна. Алгоритм симплекс-метода находит оптимальное решение, рассматривая ограни­ченное количество допустимых базисных решений [19].

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

Пример 1.

Рассмотрим детали выполнения симплекс-метода при решении следующей задачи.

Компания Тиккурила производит краску для внутренних и наружных работ из сырья двух типов: М1 и М2. Основные данные задачи сведены в таблицу.

Расход сырья (в тоннах) на тонну краски

Максимально возможный ежедневный расход сырья

Для наружных

работ

Для внутренних

работ

Сырье М1

6

4

24

Сырье М2

1

2

6

Доход (в $1000)

на тонну краски

5

4

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

Переменные задачи: 1= объем ежедневного производства краски для наружных работ (тонны), 2 = объем ежедневного производства краски для внутренних работ (тонны).

Краска обоих видов производится из сырья М1 и М2. Первые два ограниче­ния задачи порождены ограниченными ежедневными запасами сырья. Другие два отображают ограниченный рыночный спрос на краску. Прибыль от одной тонны краски для наружных работ составляет $5000, а краски для внутренних работ – $4000. Целевая функция задачи должна максимизировать общую при­быль. Для удобства вычислений доходность производства красок масштабирована в тысячах долларов.

Эта задача в стандартной форме записывается так:

максимизировать

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

Здесь s1, s2, s3, s4 – дополнительные (остаточные) переменные, добавленные в неравенства для преобразования их в равенства.

Задачу ЛП в стандартной форме можно представить в виде следующей ком­пактной таблицы.

Нижние четыре строки этой таблицы представляют равенства ограничений; значения правых частей этих равенств даны в столбце "Решение". Строка z = W() полу­чена из равенства

W() – 5 1– 4 2 = z 5 1– 4 2= 0.

Дополнительные переменные s1, s2, s3 и s4 составляют очевидное начальное допустимое базисное решение. При этом, поскольку небазисные переменные 1 и 2 равны нулю, значения s1, s2, s3 и s4 автоматически отображаются в столбце "Решение": s1 = 24, s2 = 6, s3 = 1 и s4 = 2. Значение целевой функции при этом решении равно нулю.

Будет ли это начальное решение оптимальным? Конечно, нет, поскольку пере­менные 1 и 2 здесь равны нулю, а возрастание этих переменных даже на единицу приводит к увеличению значения целевой функции W() = 5 1+ 4 2 на 5 (при увеличении на единицу 1) или на 4 единицы (при увеличении на единицу 2). Поскольку в формуле целевой функции коэффициент при переменной 1 больше, чем коэффициент при 2, переменную 1 следует ввести в число базисных переменных (в этом случае она станет вводимой). Если об­ратиться к приведенной выше таблице, то вводимая переменная определяется сре­ди множества небазисных переменных, как переменная, имеющая наибольший по модулю отрицательный коэффициент в zстроке (строке Симплекс разности).

Включаемая (вводимая) переменная 1 должна принять положительное значение. На рис. 4.2.1 видно, что, исходя из начальной точки A ( 1 = 0, 2 = 0), наибольшее зна­чение, которое можно присвоить переменной 1 (не выходя из пространства до­пустимых решений), равно 4, что соответствует точке B ( 1 = 4, 2 = 0). Это озна­чает, что решение переместилось от крайней точки A в крайнюю точку В.

Рис. 4.2.1

Поскольку симплекс-метод не должен основываться на графическом пред­ставлении задачи ЛП, необходимо определить, как выбрать точку B алгебраиче­ски. Из рисунка 4.2.1 видно, что B является одной из точек пересечения прямых, со­ответствующих ограничениям, с осью 1. Алгебраически точку пересечения можно найти как отношение правой части равенства (значение в столбце "Ре­шение") к коэффициенту при переменной 1 в этом равенстве, как показано в следующей таблице.

Нас интересуют только неотрицательные отношения (или точки пересече­ния на положительной полуоси 1), так как они соответствуют направлению возрастания переменной 1. Отметим, что все значения в столбце "Решение" неотрицательные, поэтому вычисляемое отношение будет неотрицательным и конечным только в том случае, если знаменатель отношения строго положителен. Именно поэтому мы не рассматриваем отношения, соответствующие третьему и четвертому равенствам, так как там знаменатели или отрицатель­ные, или равны нулю.

Минимальное неотрицательное отношение равно значению вводимой пере­менной 1 в новом решении, а именно 1= 4 (сравните с точкой B на рис. 1). Зна­чение целевой функции при этом значении 1 возрастет до 20 (= 54).

Теперь среди текущих базисных переменных s1, s2, s3 и s4 следует определить исключаемую переменную, которая примет нулевое значение после введения в базис переменной 1. (Напомним, что в этом примере должно быть в точности 4 базисные переменные.) Поскольку наименьшее (неотрицательное) отношение соответствует переменной s1, в точке B именно эта переменная обращается в нуль. Таким образом, переменная s1 будет исключаемой, в этом случае переменная 1 автоматически получает значение 4. Замена исключае­мой переменной s1 на вводимую переменную 1 приводит к новому базисному решению ( 1, s2, s3, s4).

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

Процесс вычисления нового базисного решения состоит из двух этапов [19]:

Соседние файлы в папке Учебники ТПР