Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВКР-Гончаренко.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
772.1 Кб
Скачать

1.2. Основы симплекс-метода

Рассмотрим задачу ЛП в канонической форме:

14 (14)

при

15 (15)

16х 0 (16)

Пусть и  — соответственно строка i матрицы А0. Будем считать, что строки матрицы линейно независимы.

Любую задачу ЛП можно привести к канонической форме; если задача в канонической форме разрешима, то среди ее решений есть хотя бы одна крайняя точка множества допустимых решений (утверждение 1); крайние точки множества допустимых решений задачи ЛП в канонической форме совпадают с БДР.

Опираясь на перечисленные факты, можно представить себе следующую процедуру решения задачи. Проверим каким-либо образом, имеет ли задача решение и, если имеет, приведем ее к канонической форме. Пусть матрица А0 канонической формы имеет размерность m × n и ранг m. Построим все m × m-подматрицы матрицы А0, отбрасывая вырожденные, оставшиеся подматрицы соответствуют базисам матрицы А0. Выберем из них допустимые базисы, построим соответствующие БДР. Выберем БДР, которое доставляет максимум целевой функции.

Но такой алгоритм на практике не может быть реализован, так как число БДР экспоненциально растет с ростом размерности задачи (числа переменных и/или ограничений). Процедуру можно ускорить, если организовать ее так, чтобы в процессе перебора БДР значение ЦФ не убывало (последовательное улучшение плана). Эта исходная идея симплекс-метода, которая реализуется следующим образом.

1. Описываем целевую функцию уравнением

Введем в задачу новую переменную z и ограничение

17 . (17)

В любом допустимом решении (х, z) задачи (14) – (17) значение ЦФ на х равно z.

2. Выбираем исходное базисное допустимое решение

Замечание 2. Выбирая исходное БДР, мы должны проверить совместимость ограничений (15) – (16), (если они несовместны, то допустимых решений нет). □

Предположим, что зафиксировано БДР (текущее БДР) с базисом (текущий базис) и базисной матрицей В. Тогда в соответствии с определениями 4, 5 и 6, х0 = х, N() = { j(i) | 1 ≤ im} и

18 (18)

Уравнение (17) можно записать в следующем виде:

19 (19)

3. Выражаем базисные переменные через небазисные1

Изменив, если надо, порядок следования столбцов в матрице А0 и переменных в векторе х (но сохраняя первоначальные номера столбцов и переменных как идентификаторы), приведем систему уравнений (15) к виду (13): В матрице (B | M) сначала записаны столбцы матрицы А0, соответствующие переменным xj(i) (1 ≤ im), затем столбцы небазисных переменных в порядке возрастания номеров; в векторе х переменные записаны в том же порядке. Умножив обе части этого векторного равенства слева на В–1, получим эквивалентную систему

20(Im | B–1M) ∙ x = B–1b0. (20)

Пусть и . При этом b  0, так как базис  допустим (см. определение 6). Теперь (20) можно переписать так:

21 (21)

Будем говорить, что xj(i) — базисная переменная для уравнения с номером i. Понятно, что уравнения (21) позволяют выразить базисные переменные через небазисные.

Замечание 3. Если уравнения (15) любым способом приведены к виду (21), то столбцы переменных xj(i) в исходной матрице А0 образуют базис . Соответствующее базисное решение х системы уравнений А0х = b0 получим, полагая хн() = 0 и хб() = b (подробнее: для всех i). Это же БДР можно получить по формулам (18). □