Научная статья на тему 'Многокритериальная оптимизация на основе меры зависимости целевых функций'

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

CC BY
427
101
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ / КРИТЕРИЙ / КОНФЛИКТ / КООПЕРАЦИЯ / НЕЗАВИСИМОСТЬ ЦЕЛЕВЫХ ФУНКЦИЙ / КОЭФФИЦИЕНТ И МАТРИЦА ВЗАИМОДЕЙСТВИЯ ЦЕЛЕВЫХ ФУНКЦИЙ / АГРЕГИРОВАНИЕ / ПРИНЦИП БОЛЬШИНСТВА

Аннотация научной статьи по математике, автор научной работы — Мелькумова Екатерина Михайловна

Статья содержит описание подхода к решению задач многокритериальной оптимизации с использованием меры кооперации, конфликта и независимости целевых функций. Рассмотрен частный случай решение задачи линейной оптимизации.

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

Текст научной работы на тему «Многокритериальная оптимизация на основе меры зависимости целевых функций»

Известия Тульского государственного университета Естественные науки. 2011. Вып. 1. С. 177-187 = ИНФОРМАТИКА

УДК 519.81

Многокритериальная оптимизация на основе меры зависимости целевых функций

Е.М. Мелькумова

Аннотация. Статья содержит описание подхода к решению задач многокритериальной оптимизации с использованием меры кооперации, конфликта и независимости целевых функций. Рассмотрен частный случай — решение задачи линейной оптимизации.

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

Введение

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

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

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

1. Анализ взаимодействия целевых функций

Рассмотрим задачу многокритериальной оптимизации следующего вида

где х = (х\, ..,хп)т £ Мп, X С Мп — множество допустимых решений задачи (1), ¡г : Мп ^ М, Уг = 1,и — целевые функции (критерии).

Будем считать, что все функции ¡г (г = 1,и) являются непрерывно дифференцируемыми в X, тогда для каждой целевой функции определен градиент в любой точке х £ X:

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

Заметим, что целевые функции в задаче (1) могут взаимодействовать различным образом. К основным типам взаимодействия отнесем кооперацию, конфликт и независимость.

Пусть ¡г(х) и ¡у(х) — две произвольные целевые функции из (1). Будем говорить, что

1) цель ¡г(х) кооперирует с целью ¡у(х), если

3) если предыдущие условия не выполняются, то целевые функции fi(x) и fj (x) независимы в X.

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

Так как все функции fi(i = 1,п) непрерывно дифференцируемы в X, то для любой точки х0 из X и произвольного ненулевого приращения p £ Rn можно определить производную по направлению p от функции fi(x) в точке х0. Если направление p задать с помощью единичного вектора с координатами е = (cos а1,..., cos an), то производная в точке х0 по направлению, определяемому вектором е, определяется как скалярное произведение векторов Vfi(x0) и е, т.е.

(1)

(3)

(4)

Заметим, что

а) производная функции fi(x) в точке х0 по направлению, определяемому градиентом этой функции в указанной точке, имеет максимальное значение по сравнению с производной в этой точке по любому другому направлению;

б) значение производной функции fi(x) по направлению, определяемому градиентом этой функции в точке х0, равно | V fi(х0)|, т.е. длине вектора Vfi(x0) в данной точке.

В самом деле,

9fdX ) = (Vfi(x0),e) = 1 V fi(x0)| • |e| • cosф, (6)

где ф £ [0,^] — угол между векторами Vfi(x0) и е. Так как е = 1, то

9ft ) = |V fi(x°)| • cosф- (7)

Максимальное значение производной dfde ) имеем при cos ф = 1, т.е. при совпадении направления е с направлением Vfi(x0), причем производная по этому направлению будет равна | V fi(x0)|.

Рассмотрим две целевые функции fi(x) и fj (x), градиенты которых

)Т и

dxn

соответственно задаются векторами Vfi(x) = дХХ~ ’

Vfj(x) = (f

' dfj (x) df j (x) 4 T

Определим направление , задаваемое вектором (ж), в некоторой

точке ж0 в виде

е . dfj(x ) ej I о,

dxi

Т

0

\

y( fj (x°A2 dfj (x0)

^ ' dxk ’ dxn \

U jñ ] =Vfj ^

(8)

Заметим, что е\ = \^fj(ж0)\ = 1, так что координаты представляют собой направляющие косинусы градиента функции fj(ж) в точке ж0. Имеем Найдем производную по направлению ej от целевой функции ¡^ж) в некоторой точке ж0.

0) п я ^( 0) (Х°)

dfi(x ),, , 0Л , ST^dfi(x ) sxr

(Vfi(x0),ej) =

Dei vvj‘v" L^i dxr

\ Oxk

k=1

r=1

1 A 9fi(x°) dfj(x0) = (Vfi(x0), Vfj(x0)) (9)

ñx.„ ñx.„ I V7 f-(x0)l (

ln (dfj (x0)^2 r=1 dxr dxr \V fj (x0)|

¿Л dxk

2

Аналогично, можно определить производную целевой функции fj (х) по направлению ег = Vfi(x0), задаваемому градиентом vfj (х) в некоторой точке х0. Имеем

dfj (x°) dei

= (Vfj (x°),ei) =

1

In ( 2

(Vfi(x°), Vfj(x°)) IV fi(x°)l

E

r=1

dfi(x°) dfj (x°)

dxr

dxr

(10)

Заметим, что

dfi(x0)

dej

dei

V fi(x°)|

V fj(x°)| '

Таким образом, для функции Д(х) имеем производную а^оеХ- ^ по направлению ej в точке х0, при этом ее максимальное значение | V fг(x0)| достигается в направлении, задаваемом градиентом Vfi(x0) в этой же точке. Следовательно, для оценки отклонения направления ej от направления, соответствующего градиенту Vfг(x0), можно использовать величину

kj (fi)lx0 —

dfi(x0)

Iv fi(x°)l

П 9fi(x°)

dxr

r=1

df( (x0)

jj У dxr

/ n

IE

k=1

dfi(x0)

Oxk

2

/ n

lE

k=1

{ dfj (x0) V dxk

£

r=1

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

dfi(x0)

dej

n

lE

k=1

{ dfi(x0)

V dxk

dfj (x0) dej

n

IE

k=1

dxk

(11)

С другой стороны,

kj (fi)|x0 —

dfi(x0)

dej

(Vfi(x°), Vfj(x°))

IV fi(x°)| Iv fi(x°)| • | V fj (x°)|

— cos ф,

(12)

где ф £ [0,п] — угол, образованный градиентами Vfi(x°) и vfj(x°) в некоторой точке x°. Значения cosф £ [—1,1], при этом, если cosф > 0, то ф

— острый угол (и можно говорить о кооперации соответствующих целевых функций), если cos ф — 0, то ф — П, т.е. градиенты образуют прямой угол, тогда цели будем считать независимыми, если же cos ф < 0, то угол ф является тупым (и можно говорить о конфликте соответствующих целевых функций), поскольку при cos ф — —1, ф — П и векторы Vfi(x°) и Vfj (x°)

dfj (x0)

2

2

2

dfj (x0)

противоположно направлены. Если cos ф — 1, ф — 0 и векторы Vfi(x°) и Vfj (x°) одинаково направлены.

Рассмотрим некоторые свойства введенного коэффициента, предполагая, что он вычислен в некоторой точке x°.

2. Задача линейного программирования

Рассмотрим частный случай задачи (1), когда все целевые функции линейны, т.е.

Уг = 1,^ (^г(х) = ^ Сгих^ , (13)

где х = (х1,..., хп)Т £ X С Мп, сг = (сг1,..., сгп)т — вектор коэффициентов целевой функции.

В линейном случае градиент каждой целевой функции полностью определяется коэффициентом целевой функции Vfг(x) = сг и представляет собой постоянный вектор.

Коэффициент взаимодействия целевых функций определяется по формуле

п

Сгк cjk

(ci, cj) k=1

n

IE С l=1 \l l=1

nn

E cl\ E j

Для определения типа взаимодействия разобъем промежуток [0, п] на три промежутка [0,п] = [0, 3] и (|, 2П) и [2^, п].

Заметим, что разбиение можно осуществить иначе. Главное, чтобы получаемые промежутки поддавались интерпретации, и на их основе можно было бы строить качественные оценки взаимодействия целей.

С учетом введенного разбиения на основе коэффициентов к^ можно сформулировать следующие правила принятия решений:

1) чем ближе к^ к 1, тем в большей степени целевые функции fг(x) и fj(х) являются кооперирующими, поэтому если к^ £ [ 2, 1], то цели кооперируют;

2) чем ближе к^ к —1, тем в большей степени цели fi (х) и fj (х) являются конкурирующими, поэтому если к^ £ [—1, — 1 ], то цели конкурируют;

3) чем ближе к^ к 0, тем в большей степени цели ^(х) и fj(х) являются независимыми, поэтому если к^ £ [— ^^], то цели независимы.

Вычислив коэффициенты взаимодействия для каждой пары целевых функций, можно сформировать матрицу К = {к^ }м с элементами \к^ \ ^ ^ 1, которая задает симметричное бинарное отношение. На его основе можно сформировать различные подходы.

Знак коэффициента позволяет сделать вывод о типе взаимодействия, а также важна и количественная оценка такого взаимодействия.

Для оценки силы взаимодействия целей воспользуемся понятием нечеткого множества. в этом случае каждому из промежутков [0, 3 ], (§ , тт ), [2п , п] ставится всоответствие промежуток изменения cos ф. Соответственно, имеем [ 1, 1], (—1, 2), [—1, — 2].

3. Алгоритм решения задачи многокритериального линейного программирования

Пусть задана многокритериальная задача линейного программирования:

2

fP(x) = Е CpXp — max (p = 1,n), x E X, (15)

i=1

при x E X Q Rn, где X — множество допустимых значений переменной x, n

— число целевых функций (критериев).

Предлагается следующий алгоритм решения задачи математического программирования, учитывающий тип взаимодействия между целевыми функциями:

1. Для каждой целевой функции решить задачу максимизации с исходными граничными условиями, получив оптимальное решение xp и соответствующее значение целевой функции fp(x*).

2. Для каждой пары fi и fj целевых функций определить коэффициент взаимодействия kij по формуле (14). Составить матрицу K = {kij}nxn коэффициентов взаимодействия целевых функций.

3. Определить тип взаимодействия между всеми парами целевых функций, используя для принятия решения правила:

1) если kj E [ 2, 1], то цели fi и fj кооперируют;

2) если kj E [—1, — 2], то цели fi и fj конкурируют;

3) если kj E [— 2, 2], то цели fi и fj независимы.

Составить таблицу типов взаимодействия:

Кооперация Конфликт Независимость

г? 1, Sj S2 S3

Здесь У] Б,, Б2, — количество функций, с которыми конкретная целевая

функция fj соответственно кооперирует, конфликтует и независима.

4. Определить коэффициенты значимости аj (г = 1,3, ] = 1,п) ¿-го взаимодействия для целевой функции fj (х) в ее обобщенной оценке по

Б? ' 3

формуле: ^ = П, где Б1 Е [0,1] и У] Е а3,, =1.

i=1

5. Для выбранного принципа принятия группового решения (принцип большинства, правило Борде и др.) построить ранжирование (х*1,..., х*р) точек — решений хр по предпочтительности в зависимости от значений целевых функций [1]. Соответствующим образом упорядочить целевые функции.

6. Назначить коэффициенты зависимости для каждой пары целевых функций.

7. Построить оценки ^кооп(/ь ..., /„), ^конфл(/ь ^нез(/ь

р = 1,п, ] = 1,п, представляющие собой сумму произведений функций, с которыми соответствующая ]-ая целевая функция кооперирует, конфликтует и независима, и коэффициентов ее зависимости с остальными целевыми функциями, входящими в конкретную оценку.

8. Построить обобщенную целевую функцию по правилу:

П

^ (/1,...,/п)=^2 Ъ(/и...,/п ), (16)

3=1

где

...,/п) = а^ооп(/ь ...,/п) + а2^конфл(/1, ...,/п) + а3^нез(/1,..., /п).

Учитывая определение весов, получим формулу:

л ( n

F (h.....fn) = - £ si F^f.... fn) +

\г=1

(17)

+ £ s2Fj““*”(fb..., fn) + £ 4F”’(fl. ....fn)) . (18)

i=1 i=1 )

9. Решить задачу математического программирования F(f1,..., fn) ^ max при x <E X Q Rn.

4. Пример решения задачи с помощью описанного подхода

Рассмотрим следующую многокритериальную задачу линейного программирования:

f1(x) = 4x1 + 2x2 ^ max, f2 (x) = 2x1 + 4x2 ^ max,

f3(x) = 3x1 + 9x2 ^ max, f4 (x) = 8x1 + 2x2 ^ max,

f5(x) = 4x1 — x2 ^ max, f6(x) = 3x1 — 2x2 ^ max, (19)

f7(x) = —2x1 + 4x2 ^ max, fs(x) = —3x1 + x2 ^ max, fg(x) = —4x1 — 3x2 ^ max

при условии

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

2x1 + 3x2 ^ 8, —x1 + 3x2 ^ 9, 2x1 — x2 ^ 10, x1 ^ 0, x2 ^ 0. (20)

В соответствии с предложенным подходом решим одноцелевые задачи при условии (20), получив следующие два вектора:

x* = ((6, 2), (3, 4), (3, 4), (6, 2), (6, 2), (5, 0), (0, 3), (0, 3), (0, 0)),

/*(х*) = (28, 22, 45, 52, 22,15,12, 3, 0). (21)

Определяя коэффициенты взаимодействия целевых функций по формуле (14), получим матрицу К вида:

К

< Vх 0.8 0.71 0.98 0.25 0.49 0.00 —0.71 —0.99

0.8 V 0.99 0.65 0.22 —0.12 0.6 —0.14 —0.89

0.71 0.99 V 0.54 0.08 —0.26 0.71 0.00 —0.82

0.98 0.65 0.54 V 0.88 0.67 —0.22 —0.84 —0.97

0.25 0.22 0.08 0.88 V 0.94 —0.65 —0.99 —0.63

0.49 —0.12 —0.26 0.67 0.94 V —0.87 —0.96 —0.33

0.00 0.6 0.71 —0.22 —0.65 —0.87 V 0.71 —0.18

-0.71 —0.14 0.00 —0.84 —0.99 —0.96 0.71 V 0.57

V—0.99 —0.89 —0.82 —0.97 —0.63 —0.33 — 1 ОО 0.57 V /

(22)

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

Построим обобщенную целевую функцию. Используя матрицу взаимодействия целевых функций, построим следующую таблицу.

Таблица 1

Целевая функция Количество Кооперация взаимодей Конфликт ствующих функций Независимость

1 4 2 3

2 5 1 3

3 5 1 3

4 6 2 1

5 3 3 3

6 3 2 4

7 4 2 3

8 3 4 2

9 2 5 2

Таким образом, имеем матрицу коэффициентов значимости аI (г = 1, 3, 3 = М):

/4 5563343 2\

'999999999'

Т

а=

\3

\ 9

5

9

(23)

Упорядочим точки — решения однокритериальных задач для каждой целевой функции по убыванию их значений (таблица 2).

Таблица 2

Ґ1 28 20 20 6 0 ЛБСБЕ, ЛСББЕ

¡2 20 22 10 12 0 БЛБСЕ

fз 36 45 15 27 0 БЛБСЕ

¡4 52 32 40 6 0 ЛСББЕ

¡5 22 8 20 -3 0 ЛСБЕБ

¡6 14 1 15 -6 0 СЛБЕБ

¡7 -4 10 -10 12 0 ББЕЛС

¡8 -16 -5 -15 3 0 БЕБСЛ

¡9 -30 -24 -20 -9 0 ЕБСБЛ

А(6,2) В(3,4) С(5,0) Б(0,3) Е(0,0)

В качестве основы будем использовать правило большинства: если дан профиль — набор ранжировок, выражающих предпочтение членов группы (рі,... ,рг), альтернатива а получает в групповой ранжировке более высокое место, чем альтернатива Ь тогда и только тогда, когда большинство (более половины) индивидуумов оценивают а выше Ь [1].

1 2 3 4 5

А 4 3 0 1 2

В 2 2 5 1 0

С 1 3 2 3 1

Б 2 1 2 3 2

Е 1 1 1 2 5

=>

Правило большинства

А 1

В 3

С 2,4

Б 4

Е 5

Таким образом, ранжирование альтернатив представляет собой упорядоченную по убыванию важности последовательность точек ЛСББЕ, которую запишем в виде:

(6, 2) ^ (5, 0) ^ (3, 4) ^ (0, 3) ^ (0, 0).

Следовательно, в соответствии с правилом большинства лучшей является точка (6, 2).

Теперь применим правило большинства для построения обобщенной целевой функции.

Используя коэффициенты значимости из (23) и ранжирование точек, полученное с помощью правила большинства, найдем обобщенные оценки для композиций целевых функций

(1 - 4 - 5) —► (6) —► (2 - 3) —► (7 - 8) —► (9). (24)

Правило принятия решений, например, имеет вид: функции,

достигающие своего экстремума в одной точке имеют коэффициент зависимости, равный 1. Функции, достигающие своего экстремума в соседних точках в ранжировании точек имеют зависимость 0.5 ^ 0.5, в точках через две в ранжировании точек — 0.7 ^ 0.3 и т.д., т.е. для нашей задачи

(1 - 4 - 5) °'^'5 (6) (1 - 4 - 5) °'^4'3 (2 - 3)

(1 - 4 - 5) °'^'2 (7 - 8) (1 - 4 - 5) °-9^°5 (9).

Обозначим через ¡^ композицию двух целевых функций ¡г и /. Тогда обобщенные оценки Fj(¡1,..., ¡п), ] = 1, 9 для целевых функций fj, ] = 1, 9 примут следующий вид:

^¡1^ . . , ¡9) = а^(/11/12/13/14) + + а3¡15¡16¡17)

^¡1,, . . . , ¡9) = а2(/21/22/23/24/27) + а2(/29) + а2(f25f26f28)

. . . , ¡9) = а3(/31 ¡32/3з/'з4/'з7) + а3(/39) + а3(f35f36f38)

F4(f1, . . . , ¡9) = а4(/41 ¡42¡43¡44¡45¡46) + а4(/48¡49) + а4(/47)

F5(f1, . . . , ¡9) = а5(/54/’55/’56) + а2(/58/59) + а3з(/51/52/53/57) (25)

F6(f1, . . . ¡9) = а6(/64/65/66) + а6(/67¡68) + а3(/61/62/63/69)

F7(f1, . . . , ¡9) = а\(/72/73/77¡78) + а2(/76/79) + а7(/71/74/75)

F8 (f1, ...,/9) = а81(/87/88/89) + а8(/81/84/85/86) + а^(/82/83)

F9(f1, . . . , ¡9) = а1(Ь8/99) + а2(¡91 ¡92¡93¡94¡95¡97) + а9(f96),

где коэффициенты значимости (г = 1, 3, j = 1, 9) находятся по правилу (23). Затем определяется обобщенная целевая функция

9

F (¡^..,¡9) = ^ Fj (¡1,...,/9). (26)

j=l

Построив обобщенные оценки целевых функций из (25), открыв скобки, приведя подобные, получим, что обобщенная целевая функция примет вид:

9

Е(£х,..., £д) = ^ Fj (¡1,..., ¡9) = 119,1333333Ж1 +84, 0666667x2. j=l

Решая задачу линейного программирования с исходной допустимой областью решений и целевой функцией F(¡1 ,...,¡9), получим решение ж* = (6, 2), при этом F* = F(ж*) = 88, 9333331.

Таким образом, используя принцип большинства для построения обобщенной целевой функции, получаем, что наилучшим решением является точка (6,2).

Заключение

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

Список литературы

1. Робертс Ф.С. Дискретные математические модели с приложениями к социальным биологическим и экологическим задачам. М.: Наука, 1986. 495 с.

Мелькумова Екатерина Михайловна (pmim@yandex.ru), аспирант, кафедра вычислительной математики и прикладных информационных технологий, Воронежский государственный университет.

Multicriterion optimization on basis of measure of objective

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

functions dependency

E.M. Melcumova

Abstract. This article contains definition approach to solutions multicriterion optimization problems with the help of cooperation, conflict and independence measures of objective functions. In the article is considered private case - linear optimization problem solution.

Keywords: multicriterion optimization, criterion, cooperation, conflict, independence of objective functions, interaction factor of objective functions, interaction matrix, aggregation, majority principle.

Melcumova Ekaterina (pmim@yandex.ru), postgraduate student, department of calculus mathematics and applied information technologies, Voronezh State Universuty.

Поступила 04-01.2011

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