Тема 4. Повторение - решение задач графическим методом. Симплекс-метод решения ЗЛП
Задание. Решить графическим методом следующие задачи:
Задача 1. | Задача 2. | Задача 3. | ||
Задача 4. | Задача 5 | |||
Симплекс-метод решения ЗЛП Цель занятия: овладение студентами симплекс-методом решения ЗЛП. Задачи занятия: - изучение правил построения симплекс-таблицы; - получение навыка решения ЗЛП с помощью симплекс-таблиц. Методические указания Симплекс метод – основной, универсальный метод, которым можно решить любую задачу ЛП. Симплекс метод представляет собой схему перехода от одного базисного решения к другому, третьему и так далее, пока не будет найдено | ||||
Симплекс метод – основной, универсальный метод, которым можно решить любую задачу ЛП.
Симплекс метод представляет собой схему перехода от одного базисного решения к другому, третьему и так далее, пока не будет найдено оптимальное решение либо не будет установлено, что система ограничений противоречива.
Применение симплексного метода разбивается на два этапа.
П е р в ы й э т а п. Получение допустимого базисного решения, если исходное базисное решение недопустимое, или установление несовместности системы ограничений (на этом этапе целевая функция не рассматривается).
Рассмотрим на примере определение базисного решения
Пример 1.
Любые “m” переменных из m уравнений с n переменными (m < n) называются основными, если определитель из коэффициентов при них отличен от нуля
Х1,Х2 – основные переменные, а Х3, Х4, Х5 – неосновные. Базисными называются решения системы из m уравнений с n неизвестными (m < n), в которых неосновные переменные имеют нулевые значения. Выразим основные переменные через неосновные. Оставим слева только основные переменные, а все остальные перенесем вправо
домножим первое и второе уравнения на дополнительные множители
и методом алгебраического сложения получим:
Первое базисное решение (3;1;0;0;0)
Проверим Х1 и Х3 в качестве основных
Проверим Х1 и Х4 в качестве основных
Х1,Х4 – основные переменные, а Х2, Х3, Х5 – неосновные.
Второе базисное решение (3;0;0; ;0)
Аналогично найдем еще четыре базисных решения:
(0;1; 0;0;0); (0;1;0;0;1); (0;0; ; ;0); (0;0;0; ;1)
Выделим среди базисных решений те, где компоненты неотрицательны – оно называется допустимым (опорным). Если хотя бы одна компонента отрицательна, то решение называется недопустимым.
Найти самостоятельно базисные решения системы и указать допустимые или доделать дома.
Пример 2. Даны системы ограничений трех задач ЛП:
Найти допустимое базисное решение.
Решение. (а) Введем дополнительные переменные Х4 и Х5 (со знаком плюс, так как все неравенства вида ( ) и представим данную систему неравенств в виде эквивалентной системы уравнений
В качестве основных берем переменные, каждая из которых входит только в одно уравнение системы, т.е. дополнительные переменные -
Х4 и Х5.
1 шаг.Основные переменные - Х4 ,Х5 ; неосновные переменные Х1 ;Х2 и Х3 . Выражая основные переменные через неосновные, получим
Приравнивая к нулю неосновные переменные Х1;Х2 и Х3 найдем базисное решение (0;0;0;12;4), которое является допустимым.
(б) Введем дополнительные переменные Х4 и Х5 ( со знаком минус, т.к. все неравенства вида ( ) . Получим
Здесь в качестве основных переменных брать дополнительные переменные Х4 и Х5 невыгодно: они входят в левые части уравнений с отрицательными компонентами.
Целесообразно в качестве основных взять переменную Х3 и дополнительную переменную Х5. Переменная Х3 также входит только в одно уравнение системы, но, в отличие от Х4 с положительным коэффициентом. Это приведет также к недопустимому базисному решению, но лишь с одной отрицательной компонентой.
1 шаг.Основные переменные – Х3 ,Х5 ; неосновные переменные Х1 ;Х2 и Х4 . Выражая основные переменные через неосновные, получим
базисное решение (0;0;4;0;-4) – недопустимое.
Для получения допустимого базисного решения нужно перевести в основные переменную, которая в уравнении с отрицательным свободным членом (во втором уравнении) имеет положительный коэффициент, т.е. Х1или Х2.
Если переводить в основные переменную Х1 , то ее максимальное значение определяется из условия
В этом случае выделяется второе уравнение и в неосновные переводится переменная Х5.
Если переводить в основные переменную Х2, то ее максимальное значение определяется из условия
Т.е. выделяется первое уравнение и в неосновные переводится переменная Х3.
Какую же переменную выгоднее перевести в число основных? При возможности выбора переводим в основную ту переменную, для которой выделенное уравнение имеет отрицательный свободный член. Это гарантирует уменьшение (по крайней мере на единицу) числа отрицательных компонент в новом базисном решении, в противном случае их число сохранится прежним.
Итак, переводим в основные переменную Х1. При Х1=2, как видно из уравнения , переменная Х5 = 0 переходит в число неосновных.
2 шаг. Основные переменные – Х1 ,Х3 ; неосновные переменные Х2 ;Х4 и Х5 .
Выражаем новые основные переменные через новые неосновные, начиная с последнего:
или
Второе базисное решение (2;0;3;0;0) – допустимое.
Замечание.Если бы мы перевели в основную переменную Х2, то, как нетрудно убедиться, получили бы новое базисное решение (0;4;-4;0;0), являющееся по-прежнему недопустимым, и для нахождения допустимого базисного решения потребовался бы дополнительный шаг.
(в) Вводя дополнительные переменные, приведем систему ограничений к виду
1 шаг.Основные переменные – Х4 ,Х5; неосновные переменные Х1 ;Х2 и Х3 . Выражая основные переменные через неосновные, получим
Первое базисное решение (0;0;0;-9;-8) – недопустимое.
Переводим в основные, например, переменную Х1 (она входит с положительным коэффициентом в выражение для основных переменных Х4 ,Х5 содержащие отрицательные свободные члены). Найдем
т.е. выделяем первое уравнение
При Х1 = 3 переменная Х4 = 0 и переходит в число неосновных.
2 шаг. Основные переменные – Х1 ,Х5 ; неосновные переменные Х2 ;Х3 и Х4 .После преобразования получим
Второе базисное решение (3;0;0;0;-5) – недопустимое, но лучше первого, так как содержит на одну отрицательную компоненту меньше. По соображениям, приведенным в предыдущей задаче, в основные можно перевести либо переменную Х3, либо Х4. Переводим в основные переменные Х4, поскольку это позволяет упростить преобразования:
( для первого уравнения отношение равным , т.к.
переменная Х4 входит в него с тем же (положительным) знаком, что и свободный член). Выделяем второе уравнение, из которого видно, что при
Х4 = 15 переменная Х5 = 0 переходит в число неосновных.
3 шаг. Основные переменные – Х3 ,Х4; неосновные переменные Х1 ;Х2 и Х5 . Третье базисное решение (8;0;0;15;0) – допустимое.
Пример 3. Дана система ограничений одной из задач ЛП (в канонической форме):
Показать, что данная система несовместна.
Р е ш е н и е.1 шаг. Основные переменные – Х3 ,Х4; неосновные переменные Х1 ;Х2.
Первое базисное решение (0;0;-8;2) –недопустимое.
Перевести в основные можно только переменную Х2, которая входит с положительным коэффициентом в уравнение, имеющее отрицательный свободный член:
Выделяем второе уравнение. При Х2 = 2 переменная Х4 = 0 и переходит в число неосновных.
2 шаг. Основные переменные – Х2 ,Х3; неосновные переменные Х1 ;Х2 .
Второе базисное решение (0;2;-4;0) вновь недопустимое, так как выделенным на 1 шаге оказалось уравнение с отрицательным свободным членом. Однако получить лучшее решение уже нельзя, потому что во втором уравнении и свободный член, и коэффициенты при всех неосновных переменных отрицательны. Следовательно, задача не имеет ни одного допустимого базисного решения, т.е. система ее ограничений несовместна.
В т о р о й э т а п.Нахождение оптимального решения.
На этом этапе важно установить: является ли найденное оптимальное решение единственным, или произойдет нарушение его единственности; будет ли целевая функция иметь конечный оптимум, или она не ограничена.
Решим три задачи на нахождение минимума, в которых первый этап решения уже завершен:
Закончить решение задачи.
Р е ш е н и е. (а) Базисное решение (0;0;2;0) – вырожденное (основная переменная Х4 = 0) и не оптимальное, так как переменная Х1 входит в выражение линейной функции с отрицательным коэффициентом. Чтобы минимизировать линейную функцию переведем переменную Х1 в основные. Тогда
Первое отношение считаем условно равным , так как переменная Х1
в первом уравнении отсутствует. Второе отношение равно нулю, ибо свободный член второго уравнения равен нулю, а переменная Х1 входит в него с отрицательным коэффициентом.
Выделяем второе уравнение. При Х1 = 0 переменная Х4 = 0 и переходит в число неосновных. Делаем следующий шаг.
Основные переменные – Х1 ,Х3; неосновные переменные - Х2 ;Х4
Получили новое базисное решение (0;0;2;0) – такое же, как и на предыдущем шаге (только теперь равна нулю основная переменная Х1). Соответственно не изменилось и значение линейной функции. И это естественно, так как переменная Х1 по-прежнему равна нулю, хотя теперь и является основной. Однако такой формальный шаг с переводом Х1 в основные является вынужденным для дальнейшего решения задачи.
Для получения улучшенного решения переводим в основные переменную Х2 , которая входит в выражение линейной функции с отрицательным коэффициентом:
Обратите внимание на то, что и в данном случае первое отношение считается условно равным : хотя свободный член в первом уравнении и равен нулю, но переменная Х2 входит в это уравнение с положительным коэффициентом, т.е. первое уравнение не ограничивает рост переменной Х2 . Выделяем второе уравнение. При Х2 =2 переменная Х3 =0; переведем ее в число неосновных, а затем переходим к следующему шагу.
Основные переменные – Х1 ,Х2; неосновные переменные - Х3 ;Х4 . После преобразований
Новое базисное решение (4;2;0;0) является оптимальным, т.к. в выражении линейной функции нет основных переменных с отрицательными коэффициентами. Находим оптимум линейной функции: при оптимальном базисном решении (4;2;0;0).
б) Базисное решение (0;0;2;6) – оптимальное, т.к. выполнен критерий оптимальности (для случая минимизации линейной функции). Оптимум линейной функции В выражении для линейной функции отсутствует неосновная переменная Х1, то оптимальное решение не единственное (т.е. существует бесконечное множество оптимальных решений, среди которых конечное число базисных оптимальных решений). Получим эти решения.
Какой бы ни была переменная Х1 , удовлетворяющая данной системе ограничений, при Х2=0 оптимальное значение линейной функции одно и тоже: Переменная Х1 ,может принимать значения
Для получения всех оптимальных решений выразим все переменные через Х1 , считая, что Х2=0, и полагая что Х1 =С.
Ответ. при оптимальных решениях
b) Базисное решение (0;0;4;3) - не оптимальное, т.к. не выполнен критерий оптимальности. Переведем в число основных переменную Х2, которая входит в выражение для линейной функции с отрицательным коэффициентом. Найдем
Полученные отношения означают, что оба уравнения не ограничивают рост переменной Х2, т.е. линейная функция F, будучи отрицательной по знаку, неограниченно возрастает по абсолютной величине. Итак, задача не имеет конечного оптимума, т.е.
Рассмотрим алгоритм решения задач симплексным методом.
1. Математическая модель задачи должна бать канонической. Если она неканоническая, то ее надо привести к каноническому виду.
2. Находим исходное опорное решение и проверяем его на оптимальность. Для этого заполняем симплекс-таблицу. Все строки таблицы 1-го шага, за исключением строки Dj (индексная строка), заполняем по данным системы ограничений и целевой функции. Симплексная таблица будет иметь следующий вид:
сi | Сj | С1 | с2 | ¼ | сm | сm+1 | ¼ | сn | f(`X) |
Базисная переменная (БП) | x1 | x2 | ¼ | xm | xm+1 | ¼ | xn | b1 | |
c1 | x1 | ¼ | h1, m+1 | ¼ | h1n | l1 | |||
c2 | x2 | ¼ | h2, m+1 | ¼ | h2n | l2 | |||
¼ | ¼ | ¼ | ¼ | ¼ | ¼ | ¼ | ¼ | ¼ | ¼ |
cm | xm | ¼ | hm, m+1 | ¼ | hmn | lm | |||
Dj | ¼ | Dm+1 | ¼ | Dn | f(`X1) |
Индексная строка (Dj) для переменных находится по формуле
и для свободного члена по формуле
.
При этом возможны следующие случаи решения задачи на максимум:
- если все оценки Dj ³ 0, то найденное решение оптимальное;
- если хотя бы одна оценка Dj £ 0, но при соответствующей переменной нет ни одного положительного коэффициента, решение задачи прекращают, так как f(X) ® ¥, т.е. целевая функция не ограничена в области допустимых решений;
- если хотя бы одна оценка отрицательная, а при соответствующей переменной есть хотя бы один положительный коэффициент, то нужно перейти к другому опорному решению;
- если отрицательных оценок в индексной строке несколько, то в столбец базисной переменной (БП) вводят ту переменную, которой соответствует наибольшая по абсолютной величине отрицательная оценка.
Пусть одна оценка Dk £ 0 или наибольшая по абсолютной величине Dk £ 0, тогда k-й столбец принимают за разрешающий. За разрешающую строку принимают ту, которой соответствует минимальное отношение свободных членов (bi) к положительным коэффициентам k-го столбца. Элемент, находящийся на пересечении ключевых строки и столбца, называют ключевым (разрешающим) элементом.
3. Заполнение симплексной таблицы 2-го шага:
- переписывается ключевая строка, разделив ее элементы на ключевой элемент;
- заполняют базисные столбцы;
- остальные коэффициенты таблицы находят по правилу «прямоугольника». Оценки можно считать по приведенным выше формулам или по правилу «прямоугольника». Получается новое опорное решение, которое проверяется на оптимальность и т.д.
Примечание. Если целевая функция f(X) требует нахождения минимального значения, то критерием оптимальности задачи является неположительность оценок Dj при всех .
Правило «прямоугольника» состоит в следующем. Пусть ключевым элементом 1-го шага является элемент 1-й строки (m+1)-го столбца h1, m+1. Тогда элемент i-й строки (m+2)-го столбца 2-го шага, который обозначим , по правилу «прямоугольника» определяется по формуле
,
где h1, m+1, hi, m+1, hi, m+2 – элементы 1-го шага.
Пример 4. Разберем решение примера 1 симплекс-методом
Запишем систему ограничений в канонической форме:
Найдем первое решение основные переменные, а неосновные. Пусть неосновные переменные равны нулю, тогда решение допустимое, т.к. все координаты положительны. Можно переходить ко второму этапу – оптимизации. Построим такую таблицу:
сi | сj | Примечания | |||||
Базисные переменные (БП) | х1 | х2 | х3 | х4 | bi | ||
х3 | |||||||
х4 | |||||||
Dj | -2 | -4 |
Т.к. в индексной строке две отрицательных переменных и задача на максимум, то необходимо в базис перевести ту их них, которая больше влияет на целевую функцию и это х2. Определим, из какого уравнения это лучше сделать. Для этого найдем разделим свободный член b на коэффициент при х2 во втором столбце и выберем минимум:
Получается, что из первого уравнения. Выберем х2 = 2 за разрешающий элемент и выделим его. Вся строка, в которой содержится разрешающий элемент, будет называться разрешающей. Продолжаем заполнять таблицу.
Все элементы первой строки разделим на разрешающий, получим:
сi | сj | Примечания | |||||
Базисные переменные (БП) | х1 | х2 | х3 | х4 | bi | ||
х3 | |||||||
х4 | |||||||
Dj | -2 | -4 | |||||
х2 | 1/2 | 1/2 | |||||
х4 | |||||||
Dj |
х2 – переводим в базис, значит в других уравнениях х2 = 0. Чтобы заполнить вторую строку до конца воспользуемся правилом прямоугольника.
сi | сj | Примечания | |||||
Базисные переменные (БП) | х1 | х2 | х3 | х4 | bi | ||
х3 | |||||||
х4 | |||||||
D1 | -2 | -4 | |||||
х2 | 1/2 | 1/2 | |||||
х4 | 3/2 | -1/2 | |||||
D2 |
Во второй индексной строке нет отрицательных значений, значит найденное значение оптимальное, а .
Дома сделать следующие задания
4. Для изготовления шкафов и буфетов деревообрабатывающий комбинат применяет древесину 4-х видов. Запасы древесины по каждому виду ограничены и составляют соответственно 120, 160, 120, 80 единиц. Количество единиц древесины каждого вида, необходимое для изготовления одного шкафа и одного буфета, а также прибыль от реализации даны в табл.
Таблица 1
Вид древесины | Запас древесины | Количество единиц древесины, необходимое для производства ед. продукции | |||
Шкафы | Буфеты | ||||
I II III IV | |||||
Прибыль | |||||
Составить математическую модель задачи и решить ее симплекс методом.