3. Неединственность решения.
В отличие от неограниченности и несовместности задачи, неединственность – явление положительное: есть возможность выбрать из нескольких оптимальных решений наилучшее по тому или иному дополнительному критерию.
Рассматривается задача P в канонической форме с m уравнениями (ограничениями), n переменными, m ≤ n:
f0(x) = c0 · x → max при A0x = b0, x ≥ 0.
Пусть X – множество допустимых решений задачи P, X* – множество оптимальных решений задачи. Предполагаем, что задача разрешима (X* ≠ Ø).
x* – некоторое базисное оптимальное решение с базисом β и базисной матрицей B.
Если x1 – альтернативное решение, то все точки отрезка {(1–λ) x* + λ x1 | λ [0; 1]} также являются решениями, т.е. лежат в X*.
Утверждение:
Условия x1
X*
и
необходимы
и достаточны, чтобы вектор x1
был альтернативным решением задачи P.
Доказательство: Пусть x1 – альтернативное решение задачи. Тогда x1 X* и x1 ≠ x*. Если их небазисные части совпадают и равны нулю x1н(β) = x*н(β) = 0, то их базисные части x1б(β) и x*б(β) удовлетворяют системе уравнений Bx = b0. Так как B – невырожденная матрица (как базисная), то у этой системы единственное решение. Поэтому x1 = x*. Получаем противоречие с положением об альтернативности этого решения. Отсюда некоторые небазисные компоненты вектора x1 положительны и соответственно g(x1) > 0.
Обратно: пусть есть некоторое оптимальное решение x1 X*, для которого g(x1) > 0. Но так как для решения x*н(β) = 0, то g(x*) = 0 и x1 ≠ x*. Получаем, что x1 – альтернативное решение задачи P.
Правило для построения альтернативных решений:
Формулируется задача P1 линейного программирования: максимизация произвольной линейной функции на X* с ограничениями
A0x = b0, x ≥ 0, f0(x) = f0(x*).
Задача P1 совместна, а, значит, либо неограниченна, либо разрешима.
В первом случае – решая задачу симплекс-методом, найдем луч L = {x0 + λv | λ ≥ 0}, целиком лежащий в X*. Любая точка на этом луче – будет альтернативным решением.
Во втором случае – найдем базисное оптимальное решение, которое может совпадать с x*.
Из
рассмотренного утверждения – задача
P1
с целевой функцией
имеет альтернативное решение, если оно
существует.
Рассмотрим задачу P^ (максимизация на множестве оптимальных решений суммы небазисных переменных):
при
A0x
= b0,
x
≥ 0,
f0(x)
= f0(x*).
Следствие: Задача P^ либо неограниченна, либо разрешима. В первом случае существует луч альтернативных решений. Во втором случае: если x1 –решение задачи P^, то либо g(x1) = 0 и x* – единственное решение исходной задачи P, либо g(x1) ≠ 0 и x1 – альтернативное решение.
Приведем задачу P к базису (оптимальному) β. Задача примет вид P`:
при
Ax
= b,
x
≥ 0.
где вектор b и все γi неотрицательны (так как базис допустим и оптимален), в матрице A базисным переменным соответствуют столбцы из единичной матрицы.
Эти задачи эквивалентны, значения их ЦФ совпадают для всех допустимых решений. Последняя симплекс-таблица для задачи P описывает задачу P`.
Пусть
I0
= {i
| bi
= 0}, v
= (vj
| j
N(β)).
Очевидно, что элементов множества I0
и вектора v
меньше, чем m+1
и n
соответственно. Покажем, что задача P^
заменяется задачей Q
с меньшим числом переменных и ограничений:
v ≥ 0.
Теорема (критерий альтернативного решения): Задача P имеет альтернативное решение тогда и только тогда, когда максимум ЦФ в задаче Q не равен нулю.
Доказательство:
1. Пусть задача P имеет альтернативное решение. Тогда существует x1 X*, для которого g(x1) > 0.
Определим вектор v задачи Q следующим образом: vj = x1j для j N(β). Тогда условие неотрицательности в задаче Q выполнено, так как x1 допустимое решение задачи P.
В
задаче P`
уравнение с номером i
имеет вид
.
Пусть i
I0,
тогда bi
= 0. Тогда для вектора x1
получаем
,
так как
.
Таким образом, выполнено неравенство в задаче Q.
Условие
f(x1)=f(x*)
влечет
, так как
x*н
= 0. Получили, что вектор v
допустим в Q
и h(v)
= g(x1)
> 0.
Значит, максимум функции h в задаче Q не может быть нулем.
2. Пусть максимум ЦФ в задаче Q не равен нулю. Задача является совместной, так как нулевое решение допустимо. Следовательно, задача либо неограниченна, либо разрешима.
Тогда существует некоторое допустимое решение v = (vj | j ∉ N(β)) задачи Q, для которого h(v) > 0. Тогда при любом λ > 0 вектор λv также является допустимым решением (проверяется подстановкой) и для него h(λv) = λh(v) > 0.
Определим вектор x1 следующим образом:
для всех j ∉ N(β) положим x1j = λvj.
если
j
N(β),
то j
= j(i)
для некоторого i
{1,…,m};
пусть
.
если
,
то
,
так как bi
≥ 0.
если
,
то i
∉ I0.
Тогда
bi
> 0, и мы можем подобрать такое λ,
чтобы обеспечить
Достаточно выбрать λ
≤ λ0,
где λ0
– минимум отношений bi
к
по всем i,
для которых
.
Если таких нет, то λ0 = + ∞. В любом случае λ0 > 0.
Таким образом, получим полностью определенный вектор x1 ≥ 0, удовлетворяющего всем ограничениям по построению.
Из
следует, что
.
Поэтому x1 X*.
При
этом
.
Тогда x1 – альтернативное решение задачи P.
Следствие 1: Для существования альтернативного решения в задаче P необходимо, чтобы γk было равно нулю при некотором k N(β).
Следствие 2: Для существования альтернативного решения в задаче P достаточно, чтобы при некотором k N(β) выполнялись условия γk = 0 и aik ≤ 0 для всех i из I0.
Следствие 3: Если решение x* задачи P невырожденно, то для существования альтернативного решения достаточно чтобы γk было равно нулю при некотором k N(β).
