Научная статья на тему 'Интервальная устойчивость оптимального решения задачи линейного программирования при параметрическом анализе'

Интервальная устойчивость оптимального решения задачи линейного программирования при параметрическом анализе Текст научной статьи по специальности «Математика»

CC BY
256
55
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Мартынов А. П., Салимоненко Е. А., Федорова Н. И.

В работе рассматривается методика определения пригодности оптимального решения задачи линейного программирования для случая, когда в процессе его практического внедрения некоторые коэффициенты базисных условий, играющие роль нормативных данных и объемов ресурсов, могут варьироваться в зависимости от одного параметра.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Interval stability of optimal solution of linear programming problem under parametric analysis

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.

Текст научной работы на тему «Интервальная устойчивость оптимального решения задачи линейного программирования при параметрическом анализе»

Вычислительные технологии

Том 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: ramazanov@imat.rb.ru

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 + Ь

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.