
- •Лабораторная работа № 2 Тема: «Симплекс-метод решения задачи линейного программирования»
- •Содержание отчета
- •Теоретические сведения
- •Переход к таблице
- •Исключение свободных переменных
- •Нахождение опорного решения
- •Поиск оптимального решения (решение задачи максимизации)
- •Разные способы задания ограничений
- •Задача минимизации линейной формы
- •Варианты заданий *
Разные способы задания ограничений
Смешанная система ограничений. Часто вместо системы неравенств (2.1.2) ограничения в задаче линейного программирования задаются в виде системы уравнений или в виде смешанной системы, состоящей из уравнений и неравенств. Рассмотрим общий случай, когда ограничения имеют смешанный характер, а переменные частично свободны и частично несвободны (неотрицательны). В этом случае задача линейного программирования формулируется следующим образом.
Найти максимум линейной формы
Z = p1x1 + … + pnxn (3.1.1)
при ограничениях-неравенствах
ai1x1 + … + ainxn ai ; (i=
), (3.1.2)
при ограничениях-равенствах
ai1x1 + … + ainxn = ai ; (i=
),
при несвободных переменных
xj 0 (j =
), (3.1.3)
при свободных переменных
xj 0 (j =
).
Алгоритм нахождения максимального решения с помощью симплекс-метода будет выглядеть следующим образом.
Осуществить переход к табличной записи задачи максимизации. Ограничения-неравенства (3.1.2) записываются в виде
yj = -(ai1x1 + … + ainxn) + ai 0,
(i =
),
а ограничения-равенства в виде 0-уравнений (0-строк):
0 = -(ai1x1 + … + ainxn) + ai ,
(i =
)
затем составляем таблицу
|
-x1 |
... |
-xl |
-xl+1 |
... |
-xn |
1 |
|
||
y1= |
a11 |
... |
a1l |
a1,l+1 |
... |
a1n |
|
|
||
... |
. |
. |
. |
. |
. |
. |
... |
|
||
yk= |
ak1 |
... |
akl |
ak,l+1 |
... |
ak,n |
ak |
(3.1.4) |
||
0= |
ak+1,1 |
... |
ak+1,l |
ak+1,l+1 |
... |
ak+1,n |
ak+1 |
|
||
... |
. |
. |
. |
. |
. |
. |
... |
|
||
0= |
am1 |
... |
aml |
am,l+1 |
... |
amn |
an |
|
||
Z= |
-p1 |
... |
-pl |
-pl+1 |
... |
-pn |
0 |
|
и исключаем из нее свободные переменные xl+1, … , xn. Для удобства записи будем считать, что на верх таблицы вместо исключенных xl+1, … , xn переброшены y1, … , yn-l так, что получена, например, таблица (3.1.5) и отдельно выражения для свободных переменных xl+1, … , xn.
-
-x1
...
-xl
-y+1
...
-yn-l
1
yn-l+1 =
b11
...
b1l
b1,l+1
...
b1n
b1
...
.
.
.
.
.
.
...
yk=
bk1
...
bkl
bk,l+1
...
bk,n
bk
(3.1.5)
0=
bk+1,1
...
bk+1,l
bk+1,l+1
...
bk+1,n
bk+1
...
.
.
.
.
.
.
...
0=
bm1
...
bml
bm,l+1
...
bmn
bn
Z=
q1
...
ql
ql+1
...
qn
Q
Если на верх таблицы вместо какого-нибудь
свободного члена xj
перейдет 0 из левого столбца (так всегда
происходит, если n-l>k),
то расположенный под ним столбец
коэффициентов вычеркиваем. Без ограничения
общности можно считать, что bi 0 (i =
),
так как любое 0-уравнение (исходное или
преобразованное) можно в случае
необходимости умножить на –1.
Исключение 0-строк. Правило исключения k-й 0-строки формулируется так:
разрешающим столбцом берется столбец таблицы 3.1.5, содержащий положительный коэффициент, пусть, например,
(если таковой имеется) из k-й 0-строки, т.е s-й столбец.
для выбора разрешающей строки находим минимальное неотрицательное (МНО) среди отношений элементов столбца свободных членов к соответствующим отличным от нуля коэффициентам разрешающего столбца. Пусть МНО достигается при , т.е.
.
Тогда -ю строку берем в качестве разрешающей, так что ‑ разрешающий элемент.
Если разрешающим оказался коэффициент bks, т.е. = k (благоприятный случай), то после шага модифицированного жорданового исключения мы избавляемся от k-й 0-строки, т.е. нуль, стоящий слева этой строки, попадает на верх таблицы и будет вычеркнут вместе с расположенным под ним столбцом, что уменьшит размерность пространства на единицу.
Если же разрешающим оказался элемент и k, то продолжаем шаги модифицированных жордановых исключений, работая все время с k-й 0-строкой (т.е. выбираем каждый раз разрешающий элемент из столбца, содержащего положительный коэффициент k-й 0-строки) до тех пор, пока либо не избавимся от k-й 0-строки, либо в k-й (или другой) 0-строке не останется ни одного положительного коэффициента при положительном свободном члене, что означает несовместность системы.
Поиск опорного решения (см. п. 2.1.3).
Поиск оптимального решения (см. п. 3.1.1).