Вычислительные технологии
Том 4, № 4, 1999
ИНТЕРВАЛЬНАЯ УСТОЙЧИВОСТЬ ОПТИМАЛЬНОГО РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ПРИ ПАРАМЕТРИЧЕСКОМ АНАЛИЗЕ
А. П. Мартынов, Е.А. Салимоненко, Н. И. Федорова Уфимский государственный авиационный технический университет
In this paper, a technique determining whether the optimal solution of a linear programming problem is feasible or not is considered for the case when some coefficients of the basic conditions may vary being dependent on a one-dimensional parameter.
Оптимальное базисное условие задачи линейного программирования (ЗЛП) представляется в виде системы линейных уравнений
где В — матрица размерности (т х т), составленная из базисных столбцов; хв — оптимальное решение-вектор размерности т; Ь — вектор правой (свободной) части размерности т. Коэффициенты матрицы В и вектора Ь будем варьировать в зависимости от одного параметра представив условие (1) в виде
где с — матрица размерности (т х т), d — вектор размерности т, х(£) — решение системы (2), £ — управляемый параметр, характеризующий, например, время. Могут быть и другие роли этого параметра, связанные с изучением влияния погрешностей исходных данных на структурные изменения исходных данных.
Матрица с и вектор d определяют структурную характеристику варьирования коэффициентов матрицы В и вектора Ь. Если считать, что £ > 0, то знаки коэффициентов матрицы с и вектора d определяют направления варьирования (уменьшение или увеличение).
Оценка пригодности решения системы (1) будет определяться решением следующей задачи: найти множество значений параметра которое будем обозначать через М, такое, чтобы при £ £ М решения системы (2) удовлетворяли условию
Россия
e-mail: [email protected]
BxB = b,
(1)
(B + tc)x(t) = b + td,
(2)
Xi < Xi(t) < Xi, i = 1,..., m,
© А.П. Мартынов, Е.А. Салимоненко, Н.И. Федорова, 1999.
где xi и X — заданные величины, характеризующие интервал допустимых значений решения Xi(t), i = 1,... , m. Такой подход согласуется с основными требованиями системного моделирования: при t = 0 получается исходное решение, интервалы изменения параметра t определяют интервалы допустимого варьирования коэффициентов матрицы B и вектора b в заданной структуре (2).
Методика решения поставленной здесь задачи основывается на математическом аппарате теории определителей, поиска корней полиномов и решения системы неравенств.
Как известно, решения системы (2) можно представить через отношения определителей с линейно зависимыми от одного параметра элементами
xi(t)=Шт i=1--™- (4)
где |B + tc| — определитель матрицы (B + tc) условия (2), |B + tc|i — определитель, полученный из определителя |B + tc| заменой i-го столбца вектором (b + td). В условии (4), естественно, должно быть
|B + tc| =0. (5)
Так как матрица B является оптимальным базисом задачи линейного программирования, то условие (5) не может не выполняться при всех значениях параметра t. Например, при t = 0
|B | = 0. (6)
Значения параметра t, при которых
|B + tc| =0, (7)
определяются путем раскрытия определителя условия (7) в полином как определителя с линейно зависимыми от одного параметра элементами. Представим определитель |B + tc| в виде
|B + tc| = |Ь.1 + tC.i,b.2 + tC.2,...,b.m + tC.m|, (8)
где b.j + tc.j — j-й столбец определителя |B + tc|, j = 1,... , m.
Используя основные свойства определителей, определитель (8) разложим по первому столбцу в виде суммы двух определителей
|b.i + tc.i, . . . ,b.m + tC.m| = = |b.i,b.2 + tc.2, . . . ,b.m + tc.m| + |tc.i, b.2 + tc.2, . . . , b.m + tc.m| =
= |b.i, b.2 + tC.2, . . . , b.m + tC.m| + t|c.i, b.2 + tc.2, . . . , b.m + tc.m|. (9)
Продолжая процесс разложения каждого из вновь образованных определителей по другим столбцам, получим
|B + tc| = hk tk + ■ ■ ■ + hiti + ■ ■ ■ + hit + h0, (10)
где 0 < k < m, hj = 0 при j = k + 1,... , m. В полиноме (10) коэффициент hi равен сумме определителей, содержащих i столбцов из матрицы c и (m — i) столбцов из матрицы B.
m!
Число таких определителей находят по формуле сочетаний CL = -,-гт-г, i = 1,... , m.
(m — i)!i!
Решая уравнение
hk tk + ••• + h^ + hit + ••• + ho = 0, (11)
находим значения t, при которых выполняется условие (7). Пусть оно выполняется при t = ti. Тогда ранг матрицы (B + tic) будет меньше m. При этом возможны два случая. В первом система (2) при t = ti не имеет решения. Следовательно, значение t = ti не может входить в искомое множество . Во втором случае система (2) имеет множество решений, среди которых могут быть такие, которые будут удовлетворять условию (3). Таких решений может и не быть. Для решения этого вопроса систему (2) при t = ti представим в виде
Ax = p, (12)
где A = B + tic, X = x(ti), p = b + tid. Используя метод полного исключения переменных, систему (12) преобразуем к виду (r переменных выражаем через другие)
nm
Xni + amiJ Xj = pmi, i = 1,..., r, (13)
j=nr+1
где ni, i = 1,... , r, — номера выделенных переменных, mi, i = 1,... , r, — номера строк, не обращающихся в тождество 0 = 0; r — ранг матрицы A в условии (12); amij и fîm. — преобразованные коэффициенты матрицы A и вектора p, i = 1,..., r, j = Ur+i,... , nm. Из условия (13) определяем переменные xni и подставляем в условие (3):
nm
Xni < Pmi - Y1 ami,j Xj < Xni, i = ^ . . . , r (14)
j=nr+1
и
Xj < Xj < Xj, j = nr+i,... , nm. (15)
Если система неравенств (14)-(15) совместная, то особая точка t = ti включается в множество , в противном случае — не включается.
Если при решении системы неравенств (14)-(15) использовать целевую функцию
max(^n2+iXn2 + i +-----+ ^mXm), (16)
то получим задачу линейного программирования, которая позволяет применять дополнительные требования к постановке задачи исследования решений системы линейных уравнений. Следует заметить, что переход от системы (12) к системе (13) может быть неоднозначным, т. е. номера выделенных переменных ni,... , nr могут быть различными. При составлении задачи (14)-(16) могут быть сформулированы дополнительные ограничения по качественным и количественным взаимосвязям различных групп компонентов решения системы линейных уравнений.
Таким образом, рассматривая все действительные корни (особые точки) полинома (11), устанавливаем, какие из них входят во множество , и какие — не входят.
В случае, когда |B + tc| = 0, т. е. выполняется условие (5), другие определители условия (4) так же, как и в условии (10), раскрываются в полиномы
|B + tc|i = À(i)ki tki + ■ ■ ■ + A(i)j tj + ■ ■ ■ + A(i)it + A(i)o, (17)
где 0 < ki < m, i = 1,... , m. Как и в условии (10), если ki < m, i = {1,... , m}, то некоторые первые коэффициенты в полиноме (17) равны нулю.
Подставив полиномы (10) и (17) в условие (4), получим
г = 1,
х
кг /к
(Ь)г = £ А(г)3V £ 13'
3=0 / 3=0
, т,
(18)
где 0 < кг < т, 0 < к < т. Из условия (18) следует, что решения системы (2) в зависимости от параметра Ь выражаются в виде отношений полиномов.
Для получения оценки пригодности решения системы (1) используем условие (3), подставив в него выражения решений из условия (18). В результате получим систему неравенств с полиномами
кг / к
хг < ^^ А(г)3Ь3 / ^^ 13Ь3 < Хг, г = 1,..., т.
3=0 / 3=0
(19)
Система неравенств (19) вначале представляется в виде Ек=0 А(г)3¿^Ек=0 1*33 - Хг < 0, г =
3=0 3 к
3=0 1
1 , . . . , т,
Хг — Ек=0 Л«33/ 3 133 < 0, г = 1,..., т,
(20)
где г = 1,..., т, 0 < кг < т, 0 < к < т.
После приведения к общему знаменателю система (20) записывается в виде
Ек^ и(г)33/3 133 < 0, г = 1,
Ек=г0^) *(г)3133 < 0, г = 1,
т,
, т,
(21)
где
, т;
и(г)3 = А(г)3 — 13Хг, = 0,1,..., к(г, и); и(г)3- = 0, = к(г,и), ■у(г)3 = 13 хг — А(г)3, = 0,1 ...,к(г,^); ^(г)3 = 0, = к(г, V),..., т;
0 < к(г, и) < т, 0 < к(г, V) < т, г = 1,..., т.
Для решения системы неравенств (21) разработаны вычислительные схемы [1-3], основанные на разложении полиномов в виде произведений линейных множителей с учетом кратности действительных корней и положительных множителей (квадратные трехчлены с комплексными корнями) и применении метода интервалов.
Рассмотрим пример. Пусть задана система линейных уравнений
Х1 + 2х2 + 3х3 = 140, 2x1 + х2 + 3х3 = 130, 3х1 + 2х2 + х3 = 100,
(22)
которая имеет решение: х1 = 10, х2 = 20, х3 = 30. Исходные данные будем варьировать в виде условия (2):
1 2 — Ь 3 — Ь
2 1+ Ь 3
3 2 + Ь 1 + Ь
140 — 5Ь 130 + 15Ь 100 + 30Ь
Ограничения типа (3) задаются в виде
5 < < 15, 15 < Ж2(*) < 25, 25 < < 35. (24)
Результаты раскрытия определителей условия типа (4) в виде системы (18) следующие: ж1(*) = (-20*3 + 140*2 - 240* + 120)/(4*2 - 16* +12), х2(*) = (100*2 - 340* + 240)/(4*2 - 16* + 12),
х3(*) = (80*2 - 440* + 360)/(4*2 - 16* + 12). (25)
Подставив выражение (25) в условие (24) и выполнив преобразования типа (20)-(21), имеем
(20*3 + 80*2 - 60)/(4*2 - 16* + 12) < 0, (20*3 - 120*2 + 160* - 60)/(4*2 - 16* + 12) < 0, (60* - 60)/(4*2 - 16* + 12) < 0, (-40*2 + 100*2 - 60)/(4*2 - 16* + 12) < 0, (60*2 + 120* - 60)/(4*2 - 16* + 12) < 0, (20*2 + 40* - 60)/(4*2 - 16* + 12) < 0. Разложив полиномы на множители, систему (26) приводим к виду
-20(* - 1)(* - - 3 )/(4(* - 1)(* - 3)) < 0,
(26)
2
2
20(* - 1)(* - - 5 ^"~")/(4(* - 1)(* - 3)) < 0,
60(* - 1)/(4(* - 1)(* - 3)) < 0, -40(* - 1)(* - 1, 5)/(4(* - 1)(* - 3)) < 0, -60(* - 1)(* - 1)/(4(* - 1)(* - 3)) < 0, к 20(* - 1)(* + 3)/(4(* - 1)(* - 3)) < 0.
(27)
Система (27) имеет решение
3 - ^ < г< 5 - ^
2
2
(28)
Как видно из условия (27), особыми точками являются * =1 и * = 3. Используя формулы (12)-(15), убеждаемся, что при * =1 существует допустимое по условию (3) решение системы (23):
х1(1) = 5; х2(1) = 15; х3(1) = 35.
При * = 3 система (23) не имеет решений.
Таким образом, искомое множество М записывается в виде
_ ,3 - 5 - ^3 М ={--— <*< --—, *
2
2
1
Используя найденное множество М, определяем интервалы возможного варьирования коэффициентов системы (22), при которых решения будут удовлетворять условиям интервальной устойчивости типа (3). Наличие разрывных точек во множестве М показывает, что даже в линейных системах могут возникать критические (аварийные) ситуации. И, с другой стороны, математические модели такого рода могут быть использованы для определения и анализа таких ситуаций.
Список литературы
[1] Мартынов А. П. К исследованию устойчивости решения задачи линейного программирования в условиях неопределенности исходной информации. Методы оптимизации. Вып. 75, УАИ, Уфа, 1974, 20-27.
[2] Мартынов А. П., Салимоненко Е. А. и др. Системное моделирование производственных процессов на базе метода генерации столбцов. Гилем, Уфа, 1998.
[3] Мартынов А. П., Салимоненко Е. А. и др. Линейные модели с взаимозависимыми параметрами управления и их применение. Реактив, Уфа, 1998.
Поступила в редакцию 2 ноября 1998 г., в переработанном виде 26 января 1999 г.