2. Линейное программирование
2.1. Общая характеристика задачи
Линейное программирование (ЛП) – это область математического программирования, посвященная теории и методам решения экстремальных задач, характеризующихся линейными зависимостями в целевой функции и ограничениях. (Понятие линейной функции было дано в замечании 1.8)
Особенно широкое применение ЛП нашло в экономике и организации производства. Многочисленные примеры экономических и организационных задач, сводимых к задаче ЛП, приведены в [4…8]. Применение ЛП при решении задач оптимального проектирования ограниченно. Вместе с тем методы решения задач ЛП иллюстрируют общие принципы решения задач МП и являются основой ряда других методов МП, применяемых в САПР.
2.2. Постановки задач линейного программирования
Постановки задач ЛП имеют различные формы. В одних задачах целевая функция должна быть максимизирована, в других – минимизирована. Ограничения на переменные могут быть заданы равенствами или неравенствами. Кроме того, в некоторых задачах требование неотрицательности может распространяться не на все переменные.
З а м е ч а н и е 2.1. В дальнейшем для определенности все теоретические положения ЛП будут сформулированы для задачи максимизации. Тем не менее, на основе использования соотношений (1.2) они могут быть перенесены и на задачу минимизации.
В зависимости от особенностей системы ограничений все постановки задачи ЛП укладываются в три основные формы: стандартную, каноническую и общую.
Стандартная задача ЛП имеет вид:
max z = c1x1+c2x2+…+cnxn ,
a11x1+a12x2+…+a1nxn £ b1 ,
a21x1+a22x2+…+a2nxn £ b2 ,
. . . . . . . (2.1)
am1x1+am2x2+…+amnxn £ bm ,
x1 ³0, x2 ³0, …, xn ³ 0.
Это задача с однотипными ограничениями-неравенствами и неотрицательными переменными.
Введя обозначения
C=(c1, c2, …, cn);
A =; X = ; B = , можем записать стандартную задачу в матричной форме:
max z=CX; AX£B; X³0. (2.2)
Здесь линейная зависимость (форма) c1x1+c2x2+…+cnxn записана в виде скалярного произведения CX векторов C и X.
З а м е ч а н и е 2.2. В дальнейшем вектор X, использующийся в матричных формах записи задач ЛП в виде вектора-столбца, в тексте будем использовать в форме вектора-строки Xт =(x1, x2, …,xn ) . При этом символ транспонирования “т” будем опускать.
Введем для j-го столбца матрицы A обозначение Aj. Тогда получим еще одну – векторную форму записи этой задачи
max z = c1x1+c2x2+…+cnxn ,
A1x1+A2x2+…+Anxn £ B , (2.3)
x1 ³0, x2 ³0, …, xn ³0.
З а м е ч а н и е 2.3. Во второй строке постановки (2.3) каждое из слагаемых в левой части неравенства представляет собой вектор, являющийся произведением вектора-столбца на число.
В стандартной задаче соотношение между числом неизвестных n и числом ограничений m может быть произвольным: задача имеет смысл при n >m, n =m, n <m.
Канонической задачей называется задача ЛП, в которой все переменные неотрицательны и ограничения имеют форму равенств :
max z = CX ; AX = B ; X ³ 0.(2.4)
В канонической задаче число неизвестных всегда больше числа уравнений (n>m). Это обусловлено тем, что, если число неизвестных равно числу уравнений и уравнения линейно независимы, то система имеет единственное решение. Очевидно, что в этом случае в связи с отсутствием выбора задача оптимизации не возникает.
З а м е ч а н и е 2.4. Будем в дальнейшем считать, что среди уравнений системы ограничений канонической задачи нет «лишних», т.е. что они образуют систему линейных независимых уравнений, и матрица условий задачи имеет ранг m.
Каноническая задача также может быть представлена в векторной форме, аналогичной (2.3).
Каноническая задача имеет ряд разновидностей. Так в [16] рассматривается допустимая каноническая форма задачи ЛП. В такой форме bj ³ 0.
Важным частным случаем канонической задачи является каноническая задача в базисной форме, отличающаяся тем, что все коэффициенты вектора ограничений Bнеотрицательны, bi ³ 0 (i=1, …, m) и в каждом уравнении имеется переменная с коэффициентом 1, которая не входит ни в одно из остальных уравнений.
Система ограничений такой задачи имеет вид:
xi +aij xj = bi, i =1, …, m .(2.5)
Переменные xi в этом выражении, обладающие указанным свойством, называются базисными.
Общей задачей линейного программирования называется задача, в которой имеются ограничения как в виде равенств, так и неравенств. Кроме того, требование неотрицательности может быть наложено не на все переменные.
З а м е ч а н и е 2.5. Отметим отсутствие единообразия в названиях форм постановок общей задачи ЛП. Так, в [7, 8] базисную форму (2.5) называют канонической, а каноническую форму (2.4) стандартной.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.