Донецкий национальный технический университет
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 3115 / 710 | Оценка: 4.34 / 4.12 | Длительность: 13:54:00
Специальности: Программист

Лекция 4: Метод полного исключения. Табличный симплекс – метод. Геометрическая интерпретация задач линейного программирования

< Лекция 3 || Лекция 4: 123 || Лекция 5 >
Аннотация: В данной лекции продолжается рассмотрение методов решения задач линейного программирования, в частности, рассматриваются такие методы, как метод полного исключения и табличный симплекс – метод. Здесь рассматриваются основные свойства данных методов, их основные характеристики, достоинства и недостатки. Также дается геометрическая интерпретация задач линейного программирования.

1. Метод полного исключения

Рассмотренный выше алгоритм симплекс-метода неудобен для программирования и решения задач на ЭВМ. Потребовалась его рационализация как по форме представления информации, так и в способе организации вычислений, чтобы сделать его пригодным для реализации на ЭВМ. С этой целью был разработан табличный вариант симплекс-метода. В его основе лежит метод полного исключения Жордана - Гаусса.

Пусть задана система линейных алгебраических уравнений

\sum_{i=1}^p a_{ij} x+i = a_{i0}, \quad j=1,2,.,m.

В матричной форме данная система имеет следующий вид:

Ax=A0.

Матрица Ap=[A, A0] называется расширенной матрицей. Метод полного исключения Жордана - Гаусса состоит из конечного числа однотипных итераций и заключается в сведении матрицы к единичному виду. Метод основывается на двух операциях:

  1. одну из строк расширенной матрицы умножают на множитель, отличный от нуля;
  2. из каждой строки расширенной матрицы вычитают одну строку, умноженную на некоторое число.

Каждое из таких элементарных преобразований (называемых преобразованием Гаусса) приводит к новой системе линейных уравнений, которая эквивалентна начальной системе.

Первая итерация метода полного исключения.

  1. Среди элементов A выбирают произвольный элемент, отличный от нуля. Его называют направляющим элементом итерации. Строку и столбец, содержащие направляющий элемент, называют направляющими.
  2. Все элементы направляющей строки расширенной матрицы делят на направляющий элемент. В результате получают направляющую строку с направляющим элементом, равным единице. Далее из элементов каждой строки матрицы A вычитают элементы новой направляющей строки, умноженные на элементы, которые расположены на пересечении данной строки и направляющего столбца.

Матрицу, в которую преобразовалась расширенная матрица Ap после первой итерации, обозначим A_p^{(1)}. В ней все элементы направляющего столбца, кроме направляющего элемента (равного 1), стали нулями. Совокупность элементов первых n столбцов матрицы Ap, лежащих вне направляющей строки и столбца предыдущей (предыдущих) итерации называют главной частью матрицы A_p^{(1)}.

Вторая и дальнейшие итерации метода проводятся аналогично первой, причем до тех пор, пока имеется возможность выбора направляющего элемента.

Если после k -й итерации главная часть матрицы A_p^{(k)} не содержит ни одного элемента или содержит только нули, то процесс заканчивается.

Пусть процесс оборвался после итерации 1. Предположим вначале, что среди строк матрицы A(l) есть такие, которые не были направляющими ни в одной из предыдущих итераций, например, строка с номером i. Тогда очевидно,

aij=0; j = 1, 2, ., n.

Поскольку для любой строки справедливо

A^{(i)} x = a_{i0} , ( 1.1)
то уравнение для i -й строки имеет вид
0x_1 + 0x_2 + . + 0x_n = a_{i0}^{(l)}. ( 1.2)

Если a_{i0}^{(l)} \neq 0, то уравнение (1.2) противоречиво, и данная система уравнений неразрешима.

Если a_{i0}^{(l)} = 0, то уравнение (1.2) представляет собой тождество и i -я строка может быть отброшена.

Перебрав одну за другой все строки матрицы A(l), которые не являлись направляющими, либо устанавливают неразрешимость системы уравнений, либо отбрасывают все нулевые строки.

Таким образом, в системе окажется равно l уравнений. Примем для определенности, что это первые по порядку l уравнений. Тогда полученную систему уравнений можно записать в виде

\sum_{j=1}^n a_{ij}^{(l)} = a_{i0}^{(l)}, \quad i=1,2,.,l. ( 1.3)

Пусть i -й направляющей строке соответствует i -й направляющий столбец вследствие соответствующего выбора направляющего элемента. Тогда

a_{ij}^{(l)} = 
\begin{cases}
0, i \neq j \\
1, i = j &i=1,2,.,l.
\end{cases} ( 1.4)

Следовательно, (1.3) можно записать в виде:

x_i = a_{i0}^{(l)} - \sum_{j=l+1}^n  a_{ij}^{(l)} x_j , \quad i=1,2,.,l ( 1.5)
причем переменные xi (i=1, ., l) являются базисными, а переменные xj (j=l+1, ., n) - небазисными.

При xj = 0 (j=l+1, ., n) получим одно из базисных решений системы уравнений x_i = a_{i0}^{(l)}, \quad i=1, 2, ., l, \; x_j=0; \quad j=l+1,.,n.

Задавая для xj произвольные значения \alpha_j, получим полное множество решений.

Если xi - i -я компонента этого решения, то

x_i = \left\{
\begin{aligned}
& a_{i0} - \sum_{j=i+1}^n a_{ij} \alpha_j, \text{если} \; i = 1, \ldots, l \\
& \alpha_i, \text{если} \; i = l+1,l+2,\ldots,n
\end{aligned}
\right. ( 1.6)

Обозначим

\begin{align*}
& x_0 = (a_{10}, a_{20}, \ldots, a_{l0}, \; 0, \ldots , 0) \\
& x_j = (-a_{1j}, -a_{2j}, \ldots, -a{ij}, \; 0,\ldots,0,1,0, \ldots, 0), \; 1 \leq j \leq n.
\end{align*}

Тогда общее (полное) решение системы линейных уравнений определяется соотношением, аналогичным (1.6):

x_{\text{общ}} = x_0 + \sum_{j=i+1}^n a_j x_j ( 1.7)
где x0 - базисное решение начальной системы уравнений; \sum_{j=i+1}^n a_j x_j - полное решение соответствующей однородной системы уравнений (то есть при A0=0 ).

Обозначим расширенную матрицу системы уравнений после k -й итерации через

A_p^{(k)} =[a_{i0}^{(k)}, a_{i1}^{(k)},.,a_in^{(k)}], \quad i=1,2,.,m.

Пусть a_{ij}^{(k)} - направляющий элемент преобразования на (k+1) -й итерации. Тогда в результате (k+1) -й итерации метода полного исключения Гаусса получим матрицу A_p^{(k+1)}, элементы которой определяются следующими соотношениями:

  1. для всех элементов направляющей строки
    a_{il}^{(k+1)} = \frac{a_{il}^{(k)}}{a_{ij}^{(k)}}, \quad l=1,2,.,n; ( 1.8)
  2. для элементов направляющего столбца
    a_{rj}{k+1} = 0; \; r=1,.,n, \; \text{причем} \; r \neq u; \; a_{ij^{(k+1)}} = 1; ( 1.9)
  3. для всех остальных элементов матрицы
    a_{ri}^{k+1} = a_{ri}^{k} - \frac{a_{il}^{(k)}}{a_{ij}^{(k)}} \, a_{rj}^{(k)}, \; l \neq j , r \neq i. ( 1.10)
< Лекция 3 || Лекция 4: 123 || Лекция 5 >