Теоретическая часть
ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ.
Наиболее распространенной формулировкой задач линейного программирования (ЛП) является их представления в виде основной задачи линейного программирования (ОЗЛП). Эта задача звучит так: найти неотрицательные значения переменных x1, x2, …, xn, которые обращали бы в максимум (или минимум) линейную функцию этих переменных
F(X) = c1 x1 +c2 x2 + . . . +cn xn ,
При ограничениях неравенствах:
a11 x1 +a12 x2 + . . . + a1n xn b1 ,
a21 x1 +a22 x2 + . . . + a2nxn b2 ,
… … … …
am1 x1 +am2 x2 + . . . + amn xn bm .
При необходимости перехода от задачи максимизации к задаче минимизации целевой функции следует изменить знаки коэффициентовcj при переменных xj, на противоположные, т.е. задача максимизации функции F(X)=(C,X) приводится к задаче на поиск минимума функции -F(X)=(C,X).
Вектор X ={ x1 , x2, . . . , xn } , удовлетворяющий ограничениям задачи ЛП, называется решением . При X 0 полученное решение называется допустимым. Если X обращает в максимум (минимум) целевую функцию F(X), то решение называется оптимальным.
ГРАФИЧЕСКИЙ МЕТОД РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Графический метод основан на геометрической интерпретации задачи ЛП. Рассмотрим ограничения в виде равенств. Будем исходить из того, что число переменных n на два больше числа независимых уравнений ограничений m, т.е. n-m =2. Тогда две из переменных, например x1 и x2 можно принять в качестве свободных, а остальные m сделать базисными и выразить их через свободные. В результате получим m=n-2 уравнений вида:
x3 = 31 x1 +32 x2 +3 ,
x
()
. . . . . . . . . . . . . . . . . ,
xn = n1 x1 +n2 x2 +n .
где ij и i сочетания коэффициентов aij bi соответственно.
Будем искать решение задачи на плоскости в прямоугольной системе координат x10x2 (рис.1). Допустимые решения для переменных x1 и x2 будут находиться выше оси 0x1 и правее.
Найдем на плоскости x10x2 отображения остальных переменных x3 , x4 , . . . , xn в соответствии с уравнениями (). С этой целью рассмотрим например переменную x3 и положим, что ее величина равна своему крайнему значению, т.е. x3 =0. Тогда из первого уравнения системы получим:
31 x1 +32 x2 +3 =0 .
Это уравнение прямой на которой x3 =0. Заштрихованная сторона этой прямой соответствует x3 >0.
Аналогично строятся и остальные ограничивающие прямые x4 =0, x5 =0, . . . xn =0, для каждой из которых определяется сторона, где x1 0, x2 0, . . . , xn 0. Часть плоскости x10x2 (заштрихованная область), называется областью допустимых решений (ОДР). В этой области значения всех переменных положительны. Вершины ОДР называются базисными допустимыми решениями.
Для нахождения оптимального решения подставим () в выражение для целевой функции и после приведения подобных членов получим
F(x)=0 + 1 x1 + 2 x2
Запишем вместо F(x) функцию
F1(x)= 1 x1 + 2 x2
Обе функции достигают максимума (минимума) при одних и тех же значениях переменных x1 и x2 .
Найдем значения x1 и x2 доставляющие максимум (минимум) функции F1(x). Для этого определим положение этой функции на плоскости x10x2, как показано на рисунке. При F1(x)=0 эта функция есть прямая проходящая через начало координат. Вторая точка через которую пройдет эта прямая, определяется координатами x1=2, x2=1. Если функции F1(x) придавать различные постоянные значения, то прямая на рисунке, отображающая эту функцию, будет перемещаться параллельно самой себе. Очевидно, максимального значения функция достигнет, когда прямая F1(x) достигнет крайней точки С области допустимых решений.
ТАБЛИЧНЫЙ СИМПЛЕКС-МЕТОД
Оптимизационные исследования задач ЛП удобно проводить, пользуясь симплекс-таблицами. Существует достаточно большое количество форм симплекс-таблиц. Воспользуемся одной из форм, по которой рекомендуется следующий порядок решения задачи ЛП:
1. Математическая модель задачи приводится к расширенной форме.
2. Определяется начальное базисное допустимое решение.
3. Составляется исходная симплекс-таблица (табл. 4), в которую вносятся следующие параметры, соответствующие начальному базисному допустимому решению:
3.1. Весовые коэффициенты cj при переменных xj ( j=1, ... ,n) целевой функции (строка C).
3.2. Весовые коэффициенты cj при базисных переменных xi ( i=1, ... ,m) целевой функции (столбец C).
3.3. Переменные xi ( i=1, ... ,m) , которые входят в текущий базис (столбец Хр ).
3.4. Свободные коэффициенты b i ( i=1, ... ,m) уравнений ограничений (столбец B).
3.5.Элементы a ij ( i=1, ... ,m ; j=1, ... ,n) матрицы условий задачи (столбцы A1, .., An ).
Таблица 4
C |
|
|
c1 |
... |
cj |
... |
ck |
... |
cn |
|
Хр |
B |
A1 |
... |
Aj |
... |
Ak |
... |
An |
c1 |
x1 |
b1 |
A11 |
... |
a1j |
... |
a1k |
... |
a1n |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
ci |
xi |
bi |
ai1 |
... |
aij |
... |
aik |
... |
ain |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
cr |
xr |
br |
ar1 |
... |
arj |
... |
ark |
... |
arn |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
cm |
xm |
bm |
am1 |
... |
amj |
... |
amk |
... |
amn |
S |
|
|
S1 |
... |
Sj |
... |
Sk |
... |
Sn |
3.6. Оценки Sj ( j=1, ... ,n) векторов условий Aj , которые определяются по формуле :
где ci весовые коэффициенты при базисных переменных .
Из этой формулы следует, что коэффициенты z j вычисляются для каждого столбца как сумма почленных произведений коэффициентов ci на одноименные коэффициенты j-го столбца. При заполнении симплекс-таблицы (в дальнейшем будем рассматривать задачу максимизации целевой функции) необходимо иметь в виду:
если Sj 0 для всех j=1, ..., n, то полученное решение является оптимальным;
если имеются Sj <0 и в столбцах Aj, соответствующих этим отрицательным оценкам, существует хотя бы один элемент aij > 0, то возможен переход к новому решению, связанному с большим значением целевой функции;
если имеются Sk <0 и в столбце Ak все элементы aik 0, то в области допустимых решений целевая функция не ограничена сверху.
4. Определяется вектор Ak, который необходимо ввести в базис для улучшения решения, по наибольшему значению k . Переменная этого столбца xk будет новой базисной переменной, которая вводится в базис. Столбец, содержащий эту переменную, называется направляющим столбцом.
5. Определяется вектор, который нужно вывести из базиса, используя равенство:
Это условие позволяет найти направляющую строку. Переменная xr, соответствующая этой строке, выводится из базисного решения и заменяется переменной xk направляющего столбца. Элемент ark, который стоит на пересечении направляющего столбца и направляющей строки, называется направляющим элементом.
6. Заполняется таблица соответствующая новому базисному решению. В этой таблице, прежде всего заполняются клетки строки r с вводимой переменной xk. Для этого все элементы этой строки делятся на направляющий элемент. Получаются элементы новой строки:
Остальные элементы новой таблицы определяются по формулам исключения (на основании метода полного исключения Гаусса):
Процесс вычислений заканчивается, когда найдено оптимальное решение.