|
Алгоритм симплекс-методаDate: 2015-10-07; view: 533. Решение задачи ЛП симплекс-методом можно разбить на 3 шага. 1. Выбор начального базисного плана. 2. Проверка его на оптимальность. Если план оптимальный — задача решена. В противном случае — 3. Переход к новому базису. Повторяя действия со второго шага, за конечное число шагов мы либо придем к оптимальному решению, либо убедимся в его отсутствии. Это означает конечность процедуры симплекс-метода. I шаг. Выбор начального плана. Пусть задача ЛП задана в канонической форме. Т.е. система ограничений состоит только из уравнений, правые части которых неотрицательны (т.е. Эти базисные переменные канонической задачи составят естественный начальный базисный план Х1 при
II шаг. Проверка плана на оптимальность. Проверка плана на оптимальность заключается в анализе коэффициентов индексной строки (кроме d0). Возможны 3 случая: 1. Все элементы индексной строки неотрицательны. Тогда записанный в этой таблице план Х1 является оптимальным, 2. Среди элементов индексной строки есть отрицательные, но в столбце над ними нет ни одного положительного элемента. В этом случае целевая функция F не ограничена сверху на области планов и оптимального решения задачи не существует. 3. Среди элементов индексной строки есть отрицательные, и в столбцах над ними есть хотя бы один положительный элемент. Это означает, что целевая функция на плане Х1 не достигла максимального значения и план может быть улучшен. Переходим к III шагу. III шаг. Построение нового плана. Каждый новый план отличается от предыдущего одной из базисных переменных. Переход к новому плану осуществляется преобразованиями Жордана-Гаусса, на каждом шаге которых один из базисных столбцов выводится из базиса и заменяется другим, небазисным. Алгоритм перехода к новому плану заключается в следующем. 1. Среди отрицательных элементов индексной строки выбираем наибольший по абсолютной величине (если таких несколько, можно взять любой из них). Соответствующий ему столбец называется ключевым столбцом, выделяем его. Переменная, соответствующая ключевому столбцу, войдет в новый базис, т.к. ключевой столбец переходит в число базисных. 2. Среди элементов ключевого столбца находим ключевой элемент. Для этого составляем отношения свободных членов к положительным элементам ключевого столбца; среди всех отношений выбираем минимальное. Знаменатель этого минимального отношения принимаем за ключевой элемент. Содержащая ключевой элемент строка соответствует переменной, которая выводится из базиса. 3. Все элементы строки, в которой находится ключевой элемент, делятся на значение ключевого элемента. Полученная строка называется ключевой строкой и записывается в новую таблицу на соответствующее место. Ключевую строку выделяем. 4. Остальные элементы новой таблицы (включая элементы индексной строки) находятся по правилу двух перпендикуляров: «прежнее значение элемента минус произведение чисел, стоящих на концах перпендикуляров, опущенных из этого элемента на ключевой столбец и ключевую строку». Поясним сказанное на примере задачи (1). Пусть в табл.1. отрицательный элемент d2<0 индексной строки соответствует столбцу х2. Тогда столбец х2 является ключевым и пусть элемент a22 — ключевой элемент, выделим их. Переменная х4 выходит их базиса, ее место займет переменная х2. Вторая строка плана Остальные элементы пересчитываются по правилу двух перпендикуляров, их значения приведены в таблице 2. Отметим, что элементы новой таблицы под ключевым столбцом равны 0, за исключением элемента в ключевой строке, который всегда равен 1, поскольку ключевой столбец становится базисным. Таблица 2.
В первую очередь целесообразно пересчитывать индексную строку, т.к. в случае оптимальности плана достаточно ограничиться вычислением элементов только второго столбца. Пример 1. Составить математическую модель и найти решение следующей задачи. Предприятие выпускает продукцию двух видов — I и II, используя для этого два вида сырья — S1 и S2. Количество сырья, необходимое для выпуска единицы продукции, запасы сырья и прибыль от продажи единицы продукции заданы в таблице. Необходимо составить план производства, при котором прибыль от продажи будет максимальной, при условии, что продукции II вида можно произвести не более 6 единиц.
Обозначим количество выпускаемой продукции I и II вида через х1 и х2 соответственно.
Первые два неравенства выражают ограничение объемов выпуска продукции наличными запасами сырья S1 и S2, третье неравенство соответствует ограничению количества продукции II вида. Функция цели — суммарная выручка от продажи продукции —максимизируется. Задача содержит две переменные и может быть решена графически, однако разберем на данном примере решение симплекс –методом. Запишем задачу в каноническом виде. Правые части ограничений неотрицательны, знаки неравенств типа «
Внесем данные в симплекс-таблицу (табл.3).
Таблица 3.
Базисными переменными в первом уравнении является переменная х3 , во втором уравнении — переменная х4, в третьем — переменная х5. Для вычисления элементов индексной строки припишем слева и сверху таблицы коэффициенты при соответствующих переменных целевой функции: коэффициент при х1 равен 1, при х2 равен 2, остальные переменные не содержатся в целевой функции, следовательно, коэффициенты при них равны 0. Найдем элементы индексной строки по формулам (2).
Поскольку в индексной строке есть отрицательные элементы (d0 не рассматриваем), план X1 не оптимален, следовательно, необходим переход к новому базису. Наибольшим по модулю среди отрицательных элементов индексной строки является элемент –2, записанный в столбце Найдем ключевой элемент. Для этого определим минимальное среди отношений свободных коэффициентов системы к положительным элементам ключевого столбца, Остальные элементы нового плана X2 находятся по правилу двух перпендикуляров. Заполнение новой таблицы рациональнее начинать с индексной строки, поскольку если все ее элементы окажутся неотрицательными, то план оптимален, и для остальных переменных достаточно будет вычислить лишь значения столбца свободных членов. Индексная строка: Строка Строка В таблице получены план X2 и целевая функция Индексная строка: По правилу двух перпендикуляров:
В плане X3 базисными переменными являются х1, х2, Выписываем оптимальный план задачи:
Исходная задача содержала только две переменных, следовательно, окончательно, X*(x1,x2)=(2;3). Отброшенная переменная Предлагаем самостоятельно решить эту задачу графически и проверить себя по известному уже ответу.
Пример 2. Решить задачу ЛП:
Это общая задача, правые части ограничений неотрицательны. Сведем задачу к основной. Первое ограничение уже дано в виде уравнения, в левую часть второго ограничения-неравенства для записи его в виде уравнения введем дополнительную переменную Получаем каноническую задачу:
Внесем условия в симплекс-таблицу (табл.4). Базисными являются переменные Для заполнения индексной строки слева и сверху таблицы выпишем коэффициенты при переменных, входящих в целевую функцию, по формулам (2) вычислим элементы индексной строки:
Таблица 4.
Начальный план Остальные элементы плана X2 находим по правилу двух перпендикуляров. Индексная строка: Строка Отрицательный элемент d2 = –4 индексной строки находится в столбце Разделим первую строку плана X2 на По правилу двух перпендикуляров: В последней симплекс-таблице (табл.4) находится оптимальный план Окончательный ответ:
|