- •Министерство образования Республики Беларусь
- •I. Решение систем линейных уравнений методом Жордана-Гаусса
- •Матрицы и
- •Решение системы, полученное после приравнивания нулю всех свободных переменных, называется базисным. Алгоритм приведения матрицы к базисному виду
- •Контрольные задания для самостоятельного решения
- •Варианты:
- •II. Решение задачи линейного программирования геометрическим методом
- •Контрольные задания для самостоятельного решения
- •Варианты:
- •III. Решение задачи линейного программирования Симплекс-методом
- •Алгоритм Симплекс-метода
- •Контрольные задания для самостоятельного решения
- •Варианты:
- •IV. Двойственность в линейном программировании. Двойственный симплекс-метод
- •Контрольные задания для самостоятельного решения Задание 4. Решить задачу линейного программирования двойственным симплекс-методом. Варианты
- •V. Транспортная задача
- •Контрольные задания для самостоятельного решения
- •VI. Задача о максимальном потоке в сети
- •Алгоритм расстановки пометок нахождения увеличивающего пути
- •Алгоритм Форда – построения максимального потока в сети.
- •Контрольные задания для самостоятельного решения
- •VII. Сетевое планирование.
- •Алгоритм правильной нумерации.
- •Алгоритм нахождения ранних сроков наступления событий
- •Алгоритм нахождения поздних сроков наступления событий
- •Контрольные задания для самостоятельного решения
- •VIII. Задача о кратчайшем пути
- •Алгоритм построения кратчайших путей в сети
- •Контрольные задания для самостоятельного решения
- •Литература
Решение системы, полученное после приравнивания нулю всех свободных переменных, называется базисным. Алгоритм приведения матрицы к базисному виду
Каждая итерация алгоритма состоит из трех шагов:
Шаг 1. В первой строке матрицы находим ненулевой элемент a1j 0 , (желательно, a1j = 1) . Если таких нет, то в случае b1 = 0 вычеркиваем нулевую строку; если b1 ≠ 0 , то, очевидно, система несовместна. Найденный элемент назовем разрешающим (или ведущим).
Если a1j = 1, то переходим к шагу 3, иначе к шагу 2.
Шаг 2. Делим первую строку на разрешающий элемент a1j ≠ 0.
(После этого шага коэффициент при xj в первом уравнении будет a1j = 1)
Шаг 3. Ко всем остальным строкам, кроме первой, прибавляем первую строку, умноженную на (-aij ), где i - номер изменяемой строки ( i = 2,3,…, m ). После этого шага коэффициент при xj в остальных уравнениях будет 0 , и переменная xj станет базисной в первом уравнении. Затем применяем шаги 1 , 2 и 3 ко второму уравнению полученной матрицы и т.д. Так как число уравнений системы конечно, то этот процесс завершится не более чем за m итераций.
Решение системы по этому алгоритму называется методом Жордана-Гаусса.
После того, как система приведена к базисному виду, находят базисное решение, соответствующее выбранному базису. Для этого переменные, не вошедшие в базис, приравнивают нулю, а остальные переменные (базисные) находят по правым частям соответствующих уравнений. Приведем решение типового примера задания 1:
Найти базисное решение системы с расширенной матрицей
Применим алгоритм приведения матрицы к базисному виду: В первой строке элемент a12 =1, поэтому выберем его в качестве разрешающего. Теперь изменяем вторую и третью строки следующим образом: ко второй строке прибавляем первую, умноженную на (-2), к третьей прибавляем первую, умноженную на (-5). В результате получим матрицу
,
в которой переменная x2 стала базисной в первом уравнении. Теперь применяем шаги 1-3 ко второй строке полученной матрицы. Находим ненулевой элемент, например, a24 = 3, и делим вторую строку на этот элемент. Получим матрицу
Теперь делаем нули в остальных строках четвертого столбца этой матрицы, для чего к первой строке прибавляем вторую, умноженную на -1, к третьей прибавляем вторую, умноженную на -9. В результате расширенная матрица системы примет вид:
Вычеркивая нулевую третью строку, получим матрицу, в базисном виде:
В первой строке базисной является переменная x2 , а во второй – переменная x4. Переменные x1 и x3 являются свободными. Приравнивая их нулю, получаем базисное решение, соответствующее этому базису: x1 = x3 = 0, x2 =8/3,
x4 = 4/3 или Х1 = (0, 8/3, 0, 4/3). Найдем другое базисное решение, т.е. решение, в котором базисными являются другие переменные. В базис можно включить переменные x1 или x3 , которые сейчас являются свободными. Выберем, например, переменную x1 для включения в базис. Ее можно сделать базисной в первой строке, т.к. элемент а11 = 8/3 ≠ 0 (при этом из базиса выйдет переменная x2), или во второй строке а21 = -2/3 ≠ 0 (при этом из базиса выйдет х4 ). Будем делать x1 базисной, например, в первой строке, т.е. в качестве разрешающего выберем элемент а11 = 8/3 ≠ 0 (помечен в последней матрице). Как и раньше, разделив первую строку на разрешающий элемент и прибавив ко второй строке полученную первую, умноженную на 2/3, приведем матрицу к новому базису:
Полагая свободные переменные x2 и x3 равными нулю, получим новое базисное решение Х2 = (1, 0, 0, 2).