Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
846.14 Кб
Скачать

11 Вопрос

Среди универсальных методов решения задач линейного программирования наиболее распространен симплексный метод (или симплекс-метод), разработанный американским ученым Дж. Данцигом. Суть этого метода заключается в том, что вначале получают допустимый вариант, удовлетворяющий всем ограничениям, но необязательно оптимальный (так называемое начальное опорное решение); оптимальность достигается последовательным улучшением исходного варианта за определенное число этапов (итераций). Нахождение начального опорного решения и переход к следующему опорному решению проводятся на основе применения метода Жордана-Гаусса для системы линейных уравнений в канонической форме, в которой должна быть предварительно записана исходная ЗЛП; направление перехода от одного опорного решения к другому выбирается при этом на основе критерия оптимальности (целевой функции) исходной задачи.

Симплекс-метод основан на следующих свойствах задачи линейного программирования:

1. Не существует локального экстремума, отличного от глобального. Другими словами, если экстремум есть, то он единственный.

2. Множество всех планов задачи линейного программирования выпукло.

3. Целевая функция задачи линейного программирования достигает своего максимального (минимального) значения в угловой точке многогранника решений (в его вершине). Если целевая функция принимает свое оптимальное значение более чем в одной угловой точке, то она достигает того же значения в любой точке, являющейся выпуклой линейной комбинацией этих точек.

4. Каждой угловой точке многогранника решений отвечает опорный план задачи линейного программирования.

12 Вопрос

Рассмотрим пример. Решить следующую систему линейных уравнений.

Запишем расширенную матрицу системы линейных уравнений. Коэффициент не равен нулю. Ко второй строке прибавим элементы первой строки, умноженные на –1 (или из элементов второй строки вычтем элементы первой строки).

Коэффициент не равен нулю. Умножим элементы второй строки на –1, а затем к элементам первой строки прибавим элементы второй строки, умноженные на –2.

После преобразований получаем следующую систему линейных уравнений.

Дадим свободным переменным x3, x4 нулевые значения. Получим следующее решение системы линейных уравнений:

x1=1, x2=1, x3=0, x4=0.

Полученное решение называется базисным решением системы линейных уравнений. В найденном базисном решении все значения переменных неотрицательны. Такое базисное решение называется опорным.

В общем случае число базисных переменных равно m – рангу матрицы системы линейных уравнений. Остальные переменные (не базисные) называются свободными. Число свободных переменных равно n-m.

Можно найти и другие базисные решения. Для этого необходимо в матрице A (матрице коэффициентов) найти миноры m – порядка, не равные 0. Переменные, соответствующие этим столбцам, будут базисными. Давая свободным переменным нулевые значения и решая полученную систему уравнений, например методом Крамера, мы найдем другие базисные решения.

Каждое базисное решение определяется системой m линейно независимых векторов. Поскольку в данной системе n векторов содержится не более чем систем, каждая из которых состоит из m линейно независимых векторов, величина является верхней границей числа базисных решений.

Среди базисных решений особую роль в дальнейшем играют опорные решения. Дадим строгое определение опорного решения.

Допустимое решение задачи (5) называется опорным, если система вектор – столбцов матрицы A, соответствующих положительным координатам xj, линейно независима.

Базисом опорного решения называется произвольная линейно независимая система из m столбцов матрицы А, включающая в себя все столбцы, соответствующие положительным координатам опорного решения. Каждому опорному решению соответствует свой базис. Знание базиса позволяет найти опорное решение.

Найдем начальное опорное решение канонической задачи линейного программирования.

Матрица A содержит единичную матрицу второго порядка. Дадим дополнительным переменным нулевые значения. В результате находим начальное опорное решение – (0,0,3,2).