- •1.Оптимизационные задачи, их классификация 7
- •Оптимизационные задачи, их классификация
- •Классификация задач оптимизации
- •Классификация методов оптимизации
- •2. Постановка задачи линейного программирования
- •2.1 Общая задача линейного программирования (злп)
- •2.2 Математические модели задач линейного программирования
- •2.3 Формы записи задач линейного программирования: общая, каноническая и стандартная
- •3. Графический метод решения задачи линейного программирования
- •4. Симплекс- метод решения задач линейного программирования
- •4.1 Метод Жордана – Гаусса - метод решения систем линейных уравнений
- •III итерация
- •4.2. Симплексные таблицы. Нахождение начального опорного решения
- •4.3. Критерий оптимальности
- •4.4. Невырожденные злп, алгоритм их решения
- •4.5. Альтернативный оптимум, алгоритм нахождения всех оптимальных решений
- •Алгоритм нахождения всех оптимальных опорных решений
- •4.6. Вырожденные злп, алгоритм их решения
- •5. Двойственные задачи
- •5.1 Постановка двойственной задачи
- •5.2 Основное неравенство двойственности
- •5.3 Критерий Канторовича
- •5.4 Первая теорема двойственности
- •5.5. Вторая теорема двойственности (необходимое и достаточное условия оптимальности решения).
- •5.6. Третья теорема двойственности
- •5.7. Двойственный симплекс-метод
- •6. Транспортная задача
- •6.1 Экономическая постановка и математическая модель транспортной задачи
- •6.2 Методы нахождения начального плана перевозок
- •Метод «северо-западного угла»
- •Метод минимальной стоимости
- •6.3 Метод потенциалов решения транспортной задачи
- •6.4 Открытая модель транспортной задачи
- •7. Матричные игры, их применение к решению оптимизационных задач
- •7.1 Основные понятия теории матричных игр
- •7.2 Решение матричных игр в чистых стратегиях
- •7.3 Решение матричной игры в смешанных стратегиях
- •7.4 Сведение матричной игры к задаче линейного программирования
- •7.5 Статистические игры
- •8. Графы, их применение в решение оптимизационных задач
- •8.1 Определение графа
- •8.2 Путь и цикл в графе
- •8.3 Связность графа, деревья
- •8.4 Виды графов
- •8.5 Сети. Критический путь
- •Вопросы к экзамену
- •Индивидуальные задания Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 8
- •Задание 9 Задачи 9.1 – 9.10
- •Методы оптимизации
- •Часть I
4. Симплекс- метод решения задач линейного программирования
Симплексный метод является наиболее применимым в настоящее время методом решения задач линейного программирования. Как известно, если задача линейного программирования имеет оптимальное решение, то оно совпадает, по крайней мере, с одним из опорных решений. Именно, на этом основана идея рассматриваемого метода - упорядоченный перебор опорных решений или последовательное их улучшение.
4.1 Метод Жордана – Гаусса - метод решения систем линейных уравнений
Метод последовательных исключений, или Жордана- Гаусса представляет собой удобный вычислительный алгоритм, построенный на последовательном применении эквивалентных преобразований системы линейных уравнений, которые приводят к равносильной системе.
Рассмотрим систему m уравнений с n неизвестными:
Алгоритм метода Жордана - Гаусса:
Все коэффициенты системы и свободные члены (элементы расширенной матрицы системы) записывают в таблицу
Выбирают ведущий элемент0 (k=1,2,...,m; s=1,2,...,n) ,
где k- тую строку называют ведущей, s- тый столбец - ведущим.
Все элементы ведущей строки пересчитывают по формуле:
т.е. элементы ведущей строки делятся на ведущий элемент.
В ведущем столбце элементы записывают нулями, кроме ведущего.
Остальные элементы таблицы пересчитывают по формуле «определителя второго порядка»:
,
полагая главной диагональю ту, где находится ведущий элемент:
и полученный результат всегда делится на ведущий элемент
(см. пример 7).
Итак, для любого элемента таблицы получим:
Следующая итерация проводится над элементами полученной таблицы. Все преобразования проводят до тех пор, пока система не будет приведена к единичному базису.
Систему r- уравнений, в которой столбцы коэффициентов при r неизвестных являются единичными векторами: e1=(1,0,. . . ,0), e2=(0,1,. . .,0), er=(0,0,. . .,1) называют системой уравнений, приведенной к единичному базису:
Очевидно, ранг системы равен r.
Выразив базисные переменные x1,x2,…,xr через свободные xr+1,xr+2,…,xn, получим общее решение системы линейных уравнений:
Замечания:
Если число r базисных неизвестных равно n- числу неизвестных системы, т.е. r=n то система имеет единственное решение:
X=( ,,,. . .,)
Если в ходе вычислений появится строка таблицы, все элементы которой, кроме свободного члена, равны нулю, то данная система несовместна.
Если r<n (число базисных переменных меньше числа всех неизвестных), то система не определена и находим общее решение.
Если в общем решении неопределенной системы линейных уравнений свободным неизвестным придать нулевые значения, то полученное частное решение X=(b10; b20; . . .; br0; 0; 0; . . .; 0), называется базисным.
Неотрицательные базисные решения системы называются опорными.
Базисное решение не единственно ,так как выбор ведущего элемента произволен. Система m уравнений с n неизвестными, у которой ранг (число базисных переменных) равен r, может иметь различных базисных решений не более, чем
Пример 7 Найти методом Жордана - Гаусса общее решение, а также все базисные и опорные решения следующей системы линейных уравнений:
Решение
Согласно алгоритму метода Жордана - Гаусса все коэффициенты системы и свободные члены (элементы расширенной матрицы системы) запишем в таблицу, в которой и выполним все преобразования (подробный комментарий к каждой итерации приводится после таблицы):
Базис |
х1 |
х2 |
х3 |
х4 |
аi0 |
| |
х1 |
1 |
-2 |
0 |
1 |
-3 |
ведущая строка | |
|
3 |
-1 |
-2 |
0 |
1 |
| |
|
2 |
1 |
-2 |
-1 |
4 |
| |
|
1 |
3 |
-2 |
-2 |
7 |
| |
I итерация | |||||||
х1 |
1 |
-2 |
0 |
1 |
-3 |
| |
х2 |
0 |
5 |
-2 |
-3 |
10 |
ведущая строка | |
|
0 |
5 |
-2 |
-3 |
10 |
| |
|
0 |
5 |
-2 |
-3 |
10 |
| |
II итерация | |||||||
х1 |
1 |
0 |
-4/5 |
-1/5 |
1 |
| |
х2 |
0 |
1 |
-2/5 |
-3/5 |
2 |
| |
|
0 |
0 |
0 |
0 |
0 |
| |
|
0 |
0 |
0 |
0 |
0 |
|
Выбран ведущий элемент а11=1 в первой таблице, составленной по условию задачи.
I итерация:
Вторую таблицу начинают заполнять с элементов ведущей строки (она не изменилась)
В первом столбце записывают нули, кроме а11=1.
а13=0, следовательно, третий столбец не изменится.
Вычисление остальных элементов производят по формуле « определителя второго порядка »:
После окончания I итерации получаем в первом столбце (1,0,0,0) и базисную переменную х1.
II итерация:
Выбран в качестве ведущего элемента а22=5.
Элементы ведущей строки делят на 5.
Во втором столбце записывают нули, кроме а22=1
Вычисление остальных элементов производят по формуле «определителя второго порядка». После итерации I получили три совпадающих строки, откуда следует, что два уравнения «лишние». При выполнении итерации II эти строки превратились в нулевые строки. В результате получаем два уравнения (ранг r=2), которые разрешены относительно базисных переменных х1 и х2.
Таким образом, данная система совместна и не определена, ее общее решение имеет вид:
Частное решение Х=(1,2,0,0) - базисное решение. Всего базисных решений будет шесть, так как
.
Чтобы найти остальные базисные решения, проводим «замещение» одной базисной переменной на другую, до тех пор пока не найдем все базисные решения системы. Следует при этом следить, чтобы на какой-то итерации не повторялся уже использованный ранее базис.
Базис |
х1 |
х2 |
х3 |
х4 |
bi0 |
Базисные решения |
x1 |
1 |
0 |
-4/5 |
-1/5 |
1 |
(1,2,0,0) |
x2 |
0 |
1 |
-2/5 |
-3/5 |
2 |
|
I итерация | ||||||
x3 |
-5/4 |
0 |
1 |
1/4 |
-5/4 |
(0,3/2,-5/4,0) |
x2 |
-1/2 |
1 |
0 |
-1/2 |
3/2 |
|
II итерация | ||||||
x3 |
0 |
-5/2 |
1 |
3/2 |
-5 |
(-3,0,-5,0) |
x1 |
1 |
-2 |
0 |
1 |
-3 |
|