Свойства решений задачи линейного программирования
Выпуклые множества и их свойства. Для того, чтобы изучить свойства ЗЛП, необходимо дать строгое определение выпуклого множества. Ранее выпуклое множество определялось как множество, которое вместе с любыми двумя своими точками содержит отрезок, их соединяющий.
Обобщением понятия отрезка для нескольких точек является их выпуклая линейная комбинация.
Точка Х называетсявыпуклой линейной комбинацией точек , если выполняются условия
.
Множество точек являетсявыпуклым, если оно вместе с любыми своими двумя точками содержит их произвольную выпуклую, линейную комбинацию.
Можно доказать следующую теорему о представлении выпуклого многогранника.
Теорема 1.1. Выпуклый п-мерный многогранник является выпуклой линейной комбинацией своих угловых точек.
Из теоремы 1.1 следует, что выпуклый многогранник порождается своими угловыми точками или вершинами: отрезок – двумя точками, треугольник – тремя, тетраэдр – четырьмя точками и т.д. В то же время выпуклая многогранная область, являясь неограниченным множеством, не определяется однозначно своими угловыми точками: любую ее точку нельзя представить в виде выпуклой линейной комбинации угловых точек.
Свойства задачи линейного программирования.Ранее были рассмотрены различные формы задачи линейного программирования и показано, что любая задача линейного программирования может быть представлена в виде общей или канонической задачи.
Для обоснования свойств задачи линейного программирования и методов ее решения целесообразно рассмотреть еще два вида записи канонической задачи.
Матричная форма записи:
(1.3)
Здесь С – матрица-строка, А – матрица системы, Х – матрица-столбец переменных, В – матрица-столбец свободных членов:
.
Векторная форма записи:
(1.4)
где векторы соответствуют столбцам коэффициентов при неизвестных.
Выше была сформулирована, но не доказана в общем виде следующая теорема.
Теорема 1.2. Множество всех допустимых решений системы ограничений задачи линейного программирования является выпуклым.
Доказательство: Пусть - два допустимых решения ЗЛП, заданной в матричной форме. Тогда и . Рассмотрим выпуклую линейную комбинацию решений , т.е.
при
и покажем, что она также является допустимым решением системы (1.3). В самом деле
,
т.e. решение X удовлетворяет системе (1.3). Но так как , то и Х>0, т.е. решение удовлетворяет условию неотрицательности.
Итак, доказано, что множество всех допустимых решений задачи линейного программирования является выпуклым, а точнее, представляет выпуклый многогранник или выпуклую многогранную область, которые в дальнейшем будем называть одним термином – многогранником решений.
Ответ на вопрос, в какой точке многогранника решений возможно оптимальное решение задачи линейного программирования, дается в следующей фундаментальной теореме.
Теорема 1.3. Если задача линейного программирования имеет оптимальное решение, то линейная функция принимает максимальное значение в одной из угловых точек многогранника решений. Если линейная функция принимает максимальное значение более чем в одной угловой точке, то она принимает его в любой точке, являющейся выпуклой линейной комбинацией этих точек.
Доказательство: Будем полагать, что многогранник решений является ограниченным. Обозначим его угловые точки через , а оптимальное решение - через X* . Тогда F(X*) ³ F(X) для всех точек Х многогранника решений. Если X* – угловая точка, то первая часть теоремы доказана.
Предположим, что X* не является угловой точкой, тогда на основании теоремы 1.1 X* можно представить как выпуклую линейную комбинацию угловых точек многогранника решений, т.е.
.
Так как F(X) – линейная функция, получаем
. (1.5)
В этом разложении среди значений выберем максимальное. Пусть оно соответствует угловой точке Xk (1 £ k £ р); обозначим его через М, т.е. . Заменим в выражении (1.5) каждое значение этим максимальным значением М. Тогда
.
По предположению Х* – оптимальное решение, поэтому, с одной стороны, ,но, с другой стороны, доказано, что
F(X*) £ М, следовательно, , где Xk – угловая точка. Итак, существует угловая точка Xk , в которой линейная функция принимает максимальное значение.
Для доказательства второй части теоремы допустим, что целевая функция принимает максимальное значение более чем в одной угловой точке, например, в точках , где , тогда
.
Пусть Х – выпуклая линейная комбинация этих угловых точек, т.е.
.
В этом случае, учитывая, что функция F(X) – линейная, получим
,
т.е. линейная функция F принимает максимальное значение в произвольной точкеХ, являющейся выпуклой линейной комбинацией угловых точек.
Замечание. Требование ограниченности многогранника решений в теореме является существенным, так как в случае неограниченной многогранной области, как отмечалось в теореме 1.1, не каждую точку такой области можно представить выпуклой линейной комбинацией ее угловых точек.
Доказанная теорема является фундаментальной, так как она указывает принципиальный путь решения задач линейного программирования. Действительно, согласно этой теореме вместо исследования бесконечного множества допустимых решений для нахождения среди них искомого оптимального решения необходимо исследовать лишь конечное число угловых точек многогранника решений.
Следующая теорема посвящена аналитическому методу нахождения угловых точек.
Теорема 1.4. Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точка многогранника решений, и наоборот, каждой угловой точке многогранника решений соответствует допустимое базисное решение.
Доказательство: Пусть – допустимое базисное решение системы ограничений ЗЛП (1.4), в котором первые т компонент - основные переменные, а остальные п - т компонент – неосновные переменные, равные нулю в базисном решении (если это не так, то соответствующие переменные можно перенумеровать). Покажем, что Х – угловая точка многогранника решений.
Предположим противное, т.е. что Х не является угловой точкой. Тогда точку Х можно представить внутренней точкой отрезка, соединяющего две различные, не совпадающие с X, точки
другими словами, – выпуклой линейной комбинацией точек многогранника решений, т.е.
, (1.6)
где (полагаем, что , ибо в противном случае точка Х совпадает с точкой Х1 или Х2).
Запишем векторное равенство (1.6) в координатной форме:
Т.к. все переменные и коэффициенты неотрицательны, то из последних п-т равенств следует, что , т.е. в решениях Х1, Х2 и Х системы уравнений (1.4) значения п - т компонент равны в данном случае нулю. Эти компоненты можно считать значениями неосновных переменных. Но значения неосновных переменных однозначно определяют значения основных, следовательно,
.
Таким образом, все п компонент в решениях Х1, Х2 и Х совпадают, и значит, точки Х1 и Х2 сливаются, что противоречит допущению. Следовательно, X – угловая точка многогранника решений.
Докажем обратное утверждение. Пусть – угловая точка многогранника решений и первые ее т координат положительны. Покажем, что Х – допустимое базисное решение.
Если векторы линейно независимы, то ранг матрицы А, составленной из компонент этих векторов, равен т, т.е. определитель , следовательно, переменные являются основными, и решение – базисное, допустимое, т.е. утверждение доказано.
Предположим противное, т.е. векторы линейно зависимы; тогда в равенстве
(1.7)
хотя бы один из коэффициентов отличен от нуля. Умножим почленно равенство (1.7) на множитель μ > 0:
. (1.8)
Подставив координаты угловой точки Х многогранника решений в систему ограничений (1.4), получим
. (1.9)
Равенство (1.8) почленно сложим с равенством (1.9), а затем вычтем его из равенства (1.9). Получим
, (1.10)
. (1.11)
Сравнивая полученные равенства (1.10), (1.11) с равенством (1.9), заключаем, что при любом μ системе ограничений (1.4) удовлетворяют решения и .
Поскольку все , то можно подобрать μ настолько малым, что все компоненты решений Х1 и Х2 будут неотрицательными. В результате Х1 и Х2 будут различными допустимыми решениями задачи (1.4). При этом, как легко видеть, решение , т.е. точка Х лежит на отрезке (в данном случае в его середине), расположенном в многограннике решений. Значит, Х не является угловой точкой, что противоречит условию. Следовательно, наше допущение неверно, т.е. векторы линейно независимы и Х – допустимое базисное решение задачи (1.4).
Из теорем 1.3 и 1.4 непосредственно вытекает важное следствие: если задача линейного программирования имеет оптимальное решение, то оно совпадает, по крайней мере, с одним из ее допустимых базисных решений.
Итак, оптимум линейной функции задачи линейного программирования следует искать среди конечного числа ее допустимых базисных решений.