Читайте также:
|
|
Решение задачи линейного программирования
Приводим систему ограничений задачи ЛП к виду:
где – положительные числа. Целевую функцию записываем в виде:
Из коэффициентов системы уравнений и коэффициентов целевой функции составляем первую симплекс-таблицу:
Таблица 1
Б.п | x | x | xm | x | xj | C.к | |||||
а | |||||||||||
xi | а | ||||||||||
a | |||||||||||
f | f |
Числа , ,..., ,..., называются индексами; последняя строка называется индексной.
Полагая переменные (свободные) , ...,xn равными нулю, получим первое базисное решение (a , a , a 0...,0) и первое значение f целевой функции, соответствующее этому решению. Первый базисный план и первое значение целевой функции образуют последний правый столбец таблицы 1. В верхней нулевой строке таблицы 1 записаны все переменные задачи ЛП, в левом нулевом столбце записаны базисные переменные. Будем рассматривать задачу на максимум функции f.
Переход ко второй симплекс-таблице осуществляется следующим образом: выбираем j -й столбец (разрешающий) таблицы 1 из условия, что является наибольшим по модулю отрицательным индексом и хотя бы один из элементов a >0;
выбираем i -ю строку (разрешающую) из условия, что:
a / a = для a >0,
принимая a в качестве разрешающего элемента, производим преобразование коэффициентов таблицы (в том числе элементов индексной строки) так, как это делается при решении системы уравнений методом Жордана-Гаусса:
Таким образом, осуществляется переход от одного базисного решения системы ограничений к другому, от одной системы уравнений к другой, ей эквивалентной. При этом после преобразования в индексной строке получаются индексы, соответствующие новым свободным переменным. Переход к следующей таблице (если это необходимо) осуществляется аналогичным образом.
Сформулируем критерий оптимальности решения задачи ЛП с использованием симплекс-таблиц.
Если в очередной симплекс-таблице:
1) найдется хотя бы один отрицательный индекс и в каждом столбце с отрицательным индексом окажется хотя бы один положительный элемент, то план можно улучшить, перейдя к следующей симплекс-таблице;
2) найдется хотя бы один отрицательный индекс и все элементы в столбце, содержащем этот индекс отрицательные, то
fmax =+
3) нет ни одного отрицательного индекса, то достигнут оптимальный план.
Пример. Найти наибольшее значение функции f = 5 x + 2 x , если x , x неотрицательные и удовлетворяют системе неравенств:
Решение. Вводим балансовые переменные х3, x , x и получаем систему уравнений:
Целевую функцию представим в форме: f =0 - (-5x - 2х ). Составляем первую симплекс-таблицу 2:
Таблица 2
Б.п. | с.к. | |||||
-2 | ||||||
-1 | ||||||
f | -5 | -2 |
В качестве разрешающего столбца выбираем первый столбец, ибо = -5- наибольший по модулю отрицательный индекс. В качестве разрешающей выбираем третью строку, так как min .
Значит, разрешающим элементом является элемент а = 1. Переменная х переводится в состав базисных вместо х .Элементы разрешающей строки делим на 1(они не изменятся), элементы разрешающего столбца, кроме а , заменяем нулями. Все другие элементы преобразуем по формуле:
где i = 3, j =1, k 3, p 1.
Формулу эту называют «правилом прямоугольника», ибо ее легко запомнить, пользуясь прямоугольником:
Правило для запоминания формулы: для получения новой вершины а ' прямоугольника надо из старой вершины а вычесть произведение a а двух взаимно противоположных других вершин прямоугольника, деленное на вершину a , противоположную старой вершине а .
В результате получаем следующую таблицу 3:
Таблица 3
Б.п | х1 | х2 | х3 | х4 | х5 | С.к |
х3 | –5 | |||||
х4 | ||||||
х1 | –1 | |||||
f | –7 |
Снова выбираем разрешающий столбец по максимуму модуля отрицательного индекса, им будет второй столбец.
Так как min , то первая строка будет разрешающей.
Переменную х 2 вводим в состав базисных вместо х3. Элементы первой строки делим на разрешающий элемент а12 = 7. Элементы второго столбца, кроме а12, заменяем нулями. Все остальные элементы таблицы 2 преобразуем по «правилу прямоугольника». Получим в результате таблицу 4.
Дата добавления: 2015-07-26; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Основные теоремы линейного программирования | | | Задания для самостоятельной работы |