Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Математические методы в системах поддержки принятия решений

..pdf
Скачиваний:
6
Добавлен:
12.11.2023
Размер:
16.41 Mб
Скачать

Для отыскания решения х’ полученной задачи в [21] предложен сле­

дующий алгоритм.

Ал г о р и т м 1. Задать А,°>0.

2. Вычислить x0(A.°) = aig min ф(хД°), пользуясь алгоритмами п.6.1.

хе Я "

3.Для следующих итераций алгоритма вычислить

к\к) = шах^О, £/(**_,)+ X(/ ' n j

4. Вычислить хк(Х^к)) = ат& min ф(хД(**) с использованием алгоритма п. 6.1.

х е Я ”

Применим изложенный метод для выбора оптимального решения с использованием модифицированной функции Лагранжа ф(х,, х2, А,) в задаче, решенной методом штрафных функций.

Р е ш е н и е . Имеем:

 

 

 

ф(х,, х2, V = sinx, + sinx2 “

sin(x, + х2) + j[{max(0, х, + х2 - 2я + А,,)}2 +

 

+ {max(0, -х , + Х2)}2 + {max(0, - х 2 + А*)}2].

Зададим АДО = 0 и вычислим х<0)(А,(°)) из необходимого условия

 

Эф(х1,х2Д (0)) _ 0

Эф(х1,х2Д (0)) __^

 

Эх,

*

Эх2

 

т. е. из системы

 

 

 

cosx, -

cos(x, + х2) + {шах(0, х, + х2 -

2я + А.*0))} -

{тах(0, -х , + Х(20))} = О,

cosx2 -

cos(x, + х2) + {max(0, х, + х2 -

+ A.*0*)} -

{max(0, - х 2 + А,(30))} = О

или

max[cosx, - cos(x, + х2), cosx, - cos(x, + х2) + {0, х, + х2 - 2п + А*0*} - {0, -х , + Х(20)}] = О,

max[cosx2 - cos(x, + х2), cosx2 - cos(x, + х2) + {0, х, + х2 - 2п + А,*0*} - {0, —х2 + А.30)}] = О,

или из следующих систем:

COSX, - COS(X, + Х2) = 0, COSXj - co s(x, + х 2) = 0,

(1)

cosx, - cos(x, + x2) + x, + x2 - 2 n + X<°> + *1 - A.2 * = 0, cosx2 - cos(x, + x2) + x, + x2 - 2 n + A.*0* + x2 - A.(30) = 0.

Из системы (1) получаем

x, = x2 = 2тг/3,

191

а из системы (2) —

COSJCJ + JC, =» cosx2 + х2 -

Х \ 0) + Х(20)

- А.(3° \

cosxj + cosx2 - 2cos(x! + х2) = 4п -

3(xj + х2) -

^ 0) + Х(2°> + А.(3° \

При Я,«» = (А*0* = О, Я<2°> = О, Я<3°> = 0) искомое решение следует из (1) и из системы

cosx, + х, = cosxj + х2, cosx, + cosx2 - 2cos(x, + x2) = 4л - 3(x, + jt2).

(2a)

Очевидно: из первого уравнения системы (2а) получаем Х| = х2; тогда второе уравнение системы (2а) перепишем в виде

 

cosx + х - cos2x + 2х = 2я,

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

 

х1(Я,(°))=х1(Я,(0>) = 2я/3.

Вычислим теперь

= (А ^\ Щ ^ . ^ ) из выражений

Х(' у = шах(0, ^(Х<0>) + х2(Х(20)) — 2п + Х\0)), X f = max(0, -x,(X(20>) + Х(20>),

Х(Р = max(0, - х 2(Х<°>) + Х(30)).

Отсюда с учетом, что Х(0) = (Х*0) = 0, Х20) = 0, Х30) = 0) и Х|(Х<°>) = х2(Х(0>) = 2я/3, следуют значения компонент вектора Х(|>= (X*1* = 0, Х ^ = 0, X*3* = 0).

Итак, решение Xi(X<0>) = Х|(Х<°>) = 2я/3 является оптимальным.

6.7.Метод динамического программирования

вусловных дискретных задачах принятия решений

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

Принцип оптимальности [35; 53]: оптимальное поведение обладает тем свойством, что, каковы бы ни были первоначальные состояние и решение в начальный момент, последующие решения должны состав­ лять оптимальное поведение относительно состояния, получающегося в результате первого решения.

Функциональные (рекуррентные) уравнения записываются согласно особенностям задач принятия решений. Такие особенности исходят из структурных свойств критериальных функций: аддитивности, мультип­ ликативности или противоречивости частных критериев, составляющих векторную критериальную функцию на ограниченном множестве.

Запишем рекуррентное уравнение, например, для известной задачи о коммивояжере, в которой из некоторого множества маршрутов дви-

192

жения необходимо найти наиболее кратчайший маршрут из одного пункта с возвращением в него же при условии обязательного одноразо­ вого посещения каждого из всех других пунктов.

Пусть всего пунктов п. Задана квадратная матрицап х п с элемента­ ми с,у указывающими расстояния между пунктами / и j. Возможное ре­

шение задачи записывается в виде

х = (/„ /2, / р, /,),

где в скобках указаны индексы пунктов, а оптимальное решение долж­ но быть получено из решения задачи

г(х)= £ c (y-»m in,

( t . j ) e X

где Х = [(/„ /2)

,

ip), (i„ ,»,)] — упорядоченное множество пар ин­

дексов множества х.

 

 

 

 

 

 

Обозначим

через

Л*_,(1; /„ /2,

/

т+|,

/*_„ i j

длину

кратчай­

шего пути

из

пункта 1 в пункт

im,

проходящего через

пункты

ht 12»•••> ^т—1>^т+1) •••> ^к—1*

 

 

 

 

 

Тогда можно записать рекуррентное соотношение

 

 

Н у

 

П11П{А^_|(1, /|,l2,

Im_|,/m+i,

4-b 1*т)

 

последовательное применение которого приводит к следующему алго­ ритму поиска оптимального маршрута:

 

Л ,(1 ; 0 = с,<#/ = 2,

л;

 

Л2(1;

/2) = Л,(1; /,) + c,(/j, /„ /2 =

2,.... п\

/, * /2;

Л3(1; /1; /2; /3) =

Л2(1; /2) + ch h , iu i2, /3 = 2 ,.... n; »

* i2) /, * /2 * i3;

[Л„_,(1;2,4,...,л;3)+с3|],

Ля(12,3,...,л;1) = min

Случай адаттн ой критериальной функции. Если требуется найти ре­ шение х = (х*,х2, о б е с п е ч и в а ю щ е е максимум аддитивной крите­

риальной функции

13 — 5396

193

п

 

 

 

п

 

 

^

f j ( x j ) ПРИ ограничениях ^ а 7х у < 6, х; £ 0, х7 — целое,

 

!=I

 

 

 

У=1

 

 

то рекуррентное уравнение записывается в виде

 

 

 

Л* ( 0 = тах{Л(х*) + Л^., (,% -акх к)},

(*)

 

 

\хк I

 

 

 

где

 

 

 

 

 

 

 

t

 

 

к

к

 

0 £ х к < — , Л*(4) означает

max

Y

/Д х ,), при условии Y f lyx; < £,.

 

а*

 

х1-**--** y=i

y=i

 

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

целочисленного решения.

 

 

 

 

А л г о р и т м

 

 

 

 

 

1. Вычислить

хх = aig шах

/ х(хх) для всех £ = 0, 1, Ь.

 

 

 

• ч я

 

 

 

 

2. Заполнить таблицу

 

 

 

 

 

%

 

 

 

*Г«;>

 

 

0

 

 

Л,(0)

Х,*(0)

 

 

1

 

 

Л,(1)

*Г(1)

 

 

ь

 

 

А

 

 

3. Вычислить

 

 

 

 

 

 

 

Л2($) =

шах

{/22)+ Л ,( 4 - в 22)>

 

для всех £ = 0, 1,

b и определить величины х2(£)> доставляющие максимум функции

Л2(§) ПРИ соответствующем значении

О, Ь.

 

 

4. Заполнить таблицу, как и в оп. 2, для

Л2(£) и х2(5).

 

5.

Вычислить Л3(5) и xJ(S), пользуясь рекуррентным уравнением (*), и заполнить таб­

лицу по аналогии с п. 2 (п. 4).

6. Повторить выполнение операций вида оп. 2 или оп. 3 до вычисления Aw_j(^) для

всех

7. Вычислить

 

 

arg max

,{//»(*/i)+ Aw-l(^

1)}

ш

 

и значение функции Кп(Ь). В общем случае х„(Ь) может принимать несколько значений.

194

8. Найти х*

пользуясь составленными таблицами значений **(£) при

выполнении операций 2, 3,...»7 и зная, что при каждом известном значении х*„ =х*(Ь) другие переменные должны удовлетворять условию

л-1

^ajXjib-a„x'„,

j*l

т.е. определение х должно начинаться с вычисленного значения х„\

х'„=х'„(Ь),

 

 

Л - 1

 

 

x ’n-i = •*«-! (Ь-а„х'„) = aig max ^

/ у(ху) = Л ,., -

а„х'„),

 

 

7=1

 

 

 

 

л-2

 

л**»- eB-i *я-1 )>

■<«-2=*я-г(*~ « А “ «я-1*я-1)= aig max £

/ у(*у) = Л„_2(* -

 

 

J=I

 

 

Г

*

1

л

 

b

- ^ a

/ j = arg m ax/1(x1) = A1 Z>-

 

 

W

J

7*2

 

9.Повторить выполнение оп. 8 для всех других значений х„.

Построим ф у н к ц и о н а л ь н ы е у р а в н е н и я В е л л м а н а в следующей задаче. Найти оптимальное решение и0, при котором дости­ гается максимум критериальной функции W

з

i=i

при ограничениях/„/2,/з

/i(*o, и,) = -5(Хо - и,)2 + 4и(Хо - и,), / 2(х„ и2) = -(х, + и2)2

2

- 2и2 >

(*2 >^з)

(Х2 з) 2

 

16

 

 

 

 

 

Хо = 4, X, = х0 - и,, х2 = х, -

и2, Ху - Х2 - иъ,

 

О < и, й х0, О £ и2 £ х„

0 £ Из < х2,

 

и указать оптимальную траекторию х = (х£,х,°,х2 ,х°).

13*

195

Решение начнем с составления функционального уравнения Велл­ мана для последнего (третьего) шага. Полагаем, что процесс S2 перед этим шагом характеризуется величиной х2, тогда условный оптималь­ ный выигрыш на третьем шаге при условии, что S2 = х2, определим вы­

ражением

W »{S2 = х 2) = шах { - £ [ ( * , - и , ) 1 - 2 х |]} .

Из необходимого условия максимума получаем условное оптимальное управление u2(S2 = х2) = х2; тогда W J (S 2 = х 2) = х \ / 8.

Для предпоследнего (второго) шага условный оптимальный выиг­ рыш при условии, что процесс перед ним S t характеризуется величиной х и имеет вид

W2y(Sl = x l ) = m a x \ f 2(xi ,u2)+ W ’ (S2 = х, - « ,)] =

= max -Ос. + « , ) 2 - 2 и\ + -(х . - и , ) 2

о£«2^ ,[ 2 '

2 8 1

2

Из необходимого условия максимума получаем, что условное оптималь­ ное управление на втором шаге

u2(St

3

8

= х ,) = — х,,

при этом W *{SX= х,) = — х 2.

Для первого шага условный оптимальный выигрыш =Xo) = om ^ |y i(X o ,« ,)+ )K /(^ = х0 - « ,)] =

= оп т | - 5(* 0 - и ,) 2 +4и,(х0 -и ,)+ у - (х 0 - и ,) 2| .

Из необходимого условия максимума функции находим, что и, = х„.

Тогда искомое максимальное значение Wmax =PPj'(50 =4), а оптималь­ ное управление й° =(и°,и2 ,и2) и оптимальную траекторию

х° = ( x “ ,x |0, X j ,х®) получим, рассматривая шаги с первого по третий в

прямом порядке:

х° = 4

и 0

х° = ~ х° -

- и й 88

л 0 - %

И1

~ у р Л -

х0

и,

 

 

 

 

91’

196

Рассмотрим формирование р е к у р р е н т н ы х с о о т н о ш е н и й в задаче распределения ресурса. Пусть в распоряжении руководства объе­ динения имеется 6 = 7 грузовых автомобилей одной марки. Требуется

распределить их между четырьмя предприятиями, если известна эффек­ тивность^^), у = 1 , 2, 3 ,4 использования автомобилей предприятиями

в зависимости от ху — количества машин,

выделенных у'-му предпри­

ятию (табл.1 ):

 

 

 

 

 

 

 

 

Т а б л и ц а 1

xi

/|<*>)

/ 2<*2>

/з<*з>

/4<*4>

0

0

0

0

0

1

0,6

0,1

0,6

0,3

2

1,0

0,5

U

0,6

3

1,4

1,2

1,2

1,3

4

2

1,8

1,4

1,4

5

2,5

2,5

1,6

1,5

6

2,8

2,9

1,7

i ,6

7

3

3,5

1,8

1,7

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

г = х / , ( * , ) .

о

7=1

 

Цель объединения — максимизация (*) по х = (хь х2, х}, х4); ограниче­ ние на К, помимо целочисленности и неотрицательности х,,у = 1 , 2, 3, 4

имеет вид ^ х у = 7. у-1

Для решения задачи воспользуемся методом динамического про­ граммирования. При этом под у'-м этапом (шагом) в этом методе бу­ дем понимать выделение объединением машин у-му предприятию. (Состояние этапа Sj характеризуется количеством нераспределенных машин послеу-го шага, у = 1 , 2 , 3, 4, а Se = 7, S4 = 0.) Уравнения связи

имеют вид

Sj = Sj_t - f j , причем fj < Sj, у = 1, 2, 3,4.

197

В соответствии с общей схемой решение задачи начнем с последне­ го (четвертого) шага. Найдем условные оптимальные выигрыши на этом шаге f / ( S 3) при условии, что перед этим шагом система находилась в

состоянии S3, а х4 — управление на четвертом шаге,

/ / ( £ , ) = max {f<(xA) / S x = S 3 - x 4}, OS/4SJ3

но так как SA= 0, то f / ( S 3) = f 4(S4). Учитывая данные табл. 1, найдем а также условные оптимальные управления и у(S3) = S 3, кото­

рые представим в табл. 2.

 

 

 

 

 

 

 

 

Т а б л и ц а 2

S3

0

1

2

3

4

5

6

7

f f ( S 3)

0

0,3

0,6

1.3

1,4

1,5

1,6

1,7

< < * з )

0

1

2

3

4

5

6

7

 

 

 

 

 

 

 

 

Для предпоследнего (третьего) шага находим условный оптималь­ ный выигрыш f 3 (S2) для совокупности третьего и четвертого шагов,

если перед третьим шагом система была в состоянии S2:

/ ,' (S2) = max {/, (х3) + / / (S2 - х 3)},

Г )

OSJC3S52

 

а также условные оптимальные управления на третьем шаге и3 (S3), на

которых достигается максимум в (**). Полученные данные приведены в табл. 3.

Т а б л и ц а 3

s 2

0

1

2

3

4

5

6

7

f 3y( S 2)

0

0,6

i.i

1,4

1,9

2,4

2,5

2,7

< ( - s 2)

0

1

2

2

1

2

2 и 3

4

 

 

 

 

 

 

 

 

Для второго шага аналогично предыдущему находим условный опти­ мальный выигрыш f 2 (S l ) для совокупности этапов со второго по четвер­

тый при условии, что перед вторым шагом система была в состоянии 5,

f i (*?,) = max {/2(х2 ) + f 3y(S{ - х2)}, OSJC2S*э|

а также условные оптимальные управления на втором шаге и2 (£,). По­

лученные результаты приведены в табл. 4.

198

 

 

 

 

 

 

 

 

Т а б л и ц а 4

Si

0

1

2

3

4

5

6

7

№ )

0

0,6

u

1,4

1,9

2,5

3,1

3,6

 

0

0

0

0

0

0

5

5

Для первого шага алгоритма находим выигрыш на совокупности всех четырех этапов

f / ( S 0 = 7 )= шах {/,(х, ) + //( £ „ -х ,)},

UbJC | S i j g

причем этот выигрыш, учитывая фиксированное^ начального состоя­ ния системы S’ = 7, является безусловным и фактически определяет оп­ тимальное значение критерия.

Итак, шах/* равен 3,7. Оптимальное управление на первом шаге и * =«,(£„) = 1 является также безусловным. Далее, двигаясь в прямом

порядке отсчета (с первого шага по четвертый) находим оптимальные управления й ор‘ =(и1ор*,и^,‘,ИзР,,и^р*). Так, для первого шага

5 |0pl = S 0 —И|0р*= 6. Для второго шага из табл. 2 при S t = S lopl = 6 находим и * =5, тогда S** = <S’1op,-w°p' =1. Для третьего шага из табл. 1 при

S 2 = 5 20pt = 1 определяем, чтои^** =1, а также, что 5^* = 5,“pt - и ”1* =0. На­

конец, для четвертого шага из табл. 2 при S 3 =S£pl =0 найдем, что

и?* = 0. Итак, максимальное значение критерия достигается при

и 0* =(1,5,1,0),

т.е. при выделении первому и третьему предприятию по одному автомо­ билю, а второму—пяти автомобилей.

Случай мультипликативной критериальной функции. Пусть требуется

найти решение х* =(x*,xj,...,x*), обеспечивающее максимум мульти­

пликативной функции

п

п

п

тахП/у(Ху) ПРИ ограничениях ^ Д уХ у <b, ^ а уХу йЬ,

J* 1

у=1

У»1

Ху > 0 , Ху — целое, у = 1 , л, ау > 0, 6 > 0.

Рекуррентное уравнение записывается в виде

Л*(ф = шах{/*(х*)-Л*_,(£-а*х*)}, к = 2, п, 0 < $ й Ь „ 'хкt

л 1 =

/ .( * .)•

 

#sw

199

Схема алгоритма для вычисления решения х представляется такой

же, как и в алгоритме, приведенном для случая аддитивной критериаль­ ной функции.

Запишем рекуррентное уравнение для обратной задачи. Пусть, на­ пример, разрабатывается система из п подсистем. Последние резервиру­

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

Х = (х,,х2, — состав резервных подсистем;

П

R(X) — показатель надежности системы, пусть R(X)

где

/»1

 

Riix/) — показатель надежности /-й подсистемы, / = 1 , 2,..., п;

 

RQ — заданное значение надежности системы;

 

п

 

С(Х) — стоимость системы, будем считать С(Х) = ^ с , х , ,

где с, —

/=1

 

стоимость одного комплекта й резервной подсистемы.

Получаем следующую формальную постановку рассматриваемой за­ дачи. Выбрать вектор X ’ = (х*,х2,...,х”), при котором

С(Х ') = minC(.Y)

Хей

идолжно выполняться условие R(X') > RQ. Очевидно, эту задачу можно

переписать в виде

п

 

 

1 с,. X

„ min 2 / , х ,

Ш1П

ГП1П

П*/ <*/ >г*о ,=|

*„(*„)**o

 

 

*«=0,1,2,...

 

 

/-1

 

*/ =0,1,2,...

 

 

 

 

 

min

mm

 

*0

min

5 / , х ,

 

 

(*„)Ъ*0

 

 

 

-|. /=1

 

 

*„=0,1,2,...

*„=0,1,2,...

■^и(*и ) /П= 1л'(1'>гглил„х

 

 

 

 

х, =0,1,2,...

 

 

 

 

 

 

 

 

= min

х„+

mm

 

 

+

min

п-г

 

Сп -\Х,

Х«.

^й (*„)^о

Ли-1(хи-|)^‘

 

 

 

*„=0,1,2,...

 

 

П л , <х, >г----------- ^ ----------- /=1

 

 

*„(*„)

 

 

 

 

*.-1=°.1Л

х ,-0.1.2,.

200

Соседние файлы в папке книги