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

книги из ГПНТБ / Снапелев, Ю. М. Моделирование и управление в сложных системах

.pdf
Скачиваний:
11
Добавлен:
21.10.2023
Размер:
10.23 Mб
Скачать

Таким образом, процесс продолжается в течение нескольких этапов. Спрашивается, как осуществлять распределение затрат на каждом этапе для того, чтобы максимизировать общую отдачу за конечное число эта­ пов?

Формально задача описывается следующим образом. Берется функция R\{x, у) — g(y) +h(xу), представляю­ щая собой общую отдачу на первом этапе, затем

Rz(x, уи уг) =*g(yi) +h(Xi—yi) +g(yz) +h(xz—yz),

где

Xi— X X2=ay+b(Xi—yi), (0 < y < x i),

представляющая собой общую отдачу за два этапа, и

затем

N

RN(Xi,y»—,yN) = 'El {g{yi) + h{xi — yl))>

представляющая собой общую отдачу, при некотором распределении затрат г/i, у2, ..., yN, где Xi= x,

ХШ= ауг + Ь(Хг—Уг), (0 < «/*<*!, 1=1, N) .

Любой выбор yi (i = 1, N) называется стратегией, а выбор, максимизирующий Rn, называется оптимальной стратегией. При оптимальной стратегии Rn зависит только от первоначальных затрат и числа этапов N.

Для того, чтобы установить функциональное урав­

нение этой задачи, пусть

} n ( x ) обозначает

общую от­

дачу за любые N этапов

при использовании

оптималь­

ной стратегии и начале процесса с некоторого перво­ начального количества х.

Заметим, что для

первого этапа

х делится на у и

у),

и

затем

вычисляются g(y)+h{x у).

Пусть

остаток

ау + Ь(ху)

используется

оптимально

для

остающихся

(N—1)

этапов и приносит отдачу fN-i(ay+

+ b(x—у)). Следовательно,

 

 

Rn (x, у) = g ( y ) +h(xу) + fN-i(ay + b(x—y)).

Таким образом, по определению ДДх), получаем основ­ ное функциональное уравнение

fN{x) = max Rn(х , у) = max (g (у) - f h {x у) - f

O ^ y ^ x

Os-i/’g x

+

fN- i ( ay + b(x — y)))-

200

Для большего числа этапов /дг и fx-i приблизительно одинаковы и могут быть обозначены функцией /, кото­ рая не зависит от N.

Это дает более простое уравнение

/ (х) = max {g (у) + h (х — у) + / (ау + Ь(х — у))). Os^y^x

Для этого уравнения доказаны теоремы существова­ ния и единственности решения. С учетом требования / (0) = 0 это уравнение может быть решено методом последовательных приближений.

Пусть:

In.

g (х)

^

h ( x )

'

0, если

4

^

------

 

1

 

( 1 — Ь )

X

У-

8(х)

h(x)

х, если 1—а <

1— 6

С другой стороны, выбираем

 

g(y)______________h(x — у)

 

(1 — а) у

(1 — Ь) (х у)

Пусть fo(x)—fg будет отдача, вычисленная по рекур­ рентному соотношению при использовании той или дру­ гой из этих стратегий. Последовательные приближения могут быть теперь вычислены, используя функциональ­ ные уравнения для N этапов. Такой процесс ведет к улучшению приближения на каждом шаге, поскольку

для i< / .

Принимая допущения о свойствах функций g и h, можно дать методы для вычисления

Уи= Уы(х) и fN(x).

Например, если функции g и h строго выпуклы отно­

сительно х, то оптимальной стратегией будет

у = 0 или

у = х. Различные приложения динамического

програм­

мирования к задачам об узких местах и другим типам задач приведены в работах Веллмана (см., напри­ мер, [8, 9]).

Следуя [173], рассмотрим задачу нелинейного про­ граммирования, которую решим методом динамического программирования. Найти хи Хг, ... , Xn, удовлетворяю­

щие условиям

 

 

a.iXi+ 02X2+

... + й^Хце^Ь, aj>0,

(2.55)

Xj^O, 7=1,

N (все Xj — целые)

(2.56)

201

н максимизирующие

 

z=fi(xi) + /2(^2) + •■•+fN(xjsr).

(2.57)

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

Таким образом, нам дана задача

целочисленного

се­

парабельного программирования

(2.55) — (2.57), и

мы

хотим рассмотреть вычислительный метод, позволяю­ щий найти оптимальное решение этой задачи, или, если оно не единственно, найти все оптимальные решения.

Предварительно условимся о следующем. Пусть ф(*ь х2, .... xN) есть некоторая функция от N перемен­ ных. Тогда через

max

? ( х „ х г, ...,x v)

xiuxi2....

 

будем обозначать абсолютный максимум этой функции

по k переменным хц, xj2,

..., Xjk при фиксированных

значениях остальных (N—k) переменных.

в за­

Пусть z* — абсолютный

максимум

функции z

даче (2.55)— (2.57), т. е.

 

 

 

2* —

max

f H f j ( ^ j ) Y

(2.58)

х,,

х„ ...,

xN у

)

 

где максимум берется по неотрицательным целым чис­ лам, удовлетворяющим условию

,v

X ajXj = b. (2.59) /=J

Рассмотрим вычислительную процедуру, позволяю­ щую определить 2* и оптимальное решение (хЛ х2*, ...,

..., xN*) задачи (2.55) — (2.57).

Введем в рассмотрение последовательность функций

Fh(S) = max^X

(2.60)

где максимум берется по неотрицательным целым зна­ чениям Xi, Хг, ..., Xk, удовлетворяющим условию

k

(2.61)

/=1

202

при этом

(2.62)

Эти функции определим последовательно с помощью ре­ куррентных соотношений, которые легко получить следу­

ющими

рассуждениями. Fk(fy есть максимум функции

k

 

V = S

от k переменных х,,...,хп, удовлетворяющих

/='

условию (2.61). Выберем значение Xk, зафиксировав его, будем максимизировать V по всем остальным перемен­ ным хи ..., Xh-i- При этом, в силу условия (2.61) вели­ чины Xi, ... , будут зависеть от выбранного значе­ ния Xk. Представим себе, что максимизация выполнена для всех возможных значений хи. Тогда наибольшее из всех полученных значений V будет равно Fk(l), и мы найдем совокупность значений хи . ■■, Xk, максимизи­ рующую V. Таким образом выбирается величина Xh и вычисляется

шах

( 2 ft (jcj)^ = fk (хц) - f

шах

( £ fi (■**)) >

Xu Xu ...» x,

X\, ,

*h-l \j- 1

 

b-1 \/=1

 

 

 

 

(2.63)

где слагаемое fh(Xk) вынесено из-под знака максимума, так как оно не зависит от Xi, ..., xh~i. Когда Хи выбрано, значения хи ..., Xh-i, кроме условий целочисленностп и неотрицательности, должны удовлетворять неравен­

ству

k—\

2 ctjXj < ?— гкх к,

(2.64)

/=1

 

а это означает, что второе слагаемое справа в выраже­

нии (2.63)

есть Fk- i(l cikXk). Учитывая, что

 

k

а—1

 

шах £

fо (х о) = max if* (xh) + тах E f j ( x j))>

(2.65)

.... xhj=l

x>.....*h- i/=i

 

приходим к рекуррентному соотношению

 

Fh(?) = max (fk (xu) -\-Fk_, (Z~akx k)),

(2.66)

 

XK

 

203

где Хп может принимать значения 0, 1 ,2 ......["а "]’ где’ как

обычно, через

обозначена

делая часть числа

а*

т. е.

 

 

 

 

 

 

 

 

0 < -

 

 

(2.67)

притом изменяется от 0 до Ь, согласно условию

(2.62),

принимая целые значения.

 

 

 

Функция Fi(g)

определяется непосредственно:

 

 

 

F,(£) = max

/, (х,),

 

(2.68)

учитывая, что должно выполняться условие

 

 

 

aiXi^ |

 

 

(2.69)

для всех | = 0, 1, ... , Ь. Зная /4 (1 ), определяем функцию /гШ согласно (2.66)

F3( t ) = max (f2(х2) - f /4 (S — шх,))

(2.70)

также для всех g= 0, 1, ..., b, затем определим функцию Fз(1) и т. д., наконец,

4 ® = max

(2.71)

Для нас важно то, что

 

Z*N — FN(b),

(2.72)

и мы получим схему вычислительной процедуры, позво­ ляющей найти Z*. Остается указать, как в результате

этих

вычислений мы

найдем

оптимальное

решение

(*i\ *2*, ..., xN*).

 

с

определения

F(%)

для

Вычисления

начинаются

всех значений £ от 0 до Ь. Обозначим через xi(l)

зна­

чение

Xi, при

котором

fi(xi)

достигает максимального

значения, когда х%пробегает значения 0, 1, ...,

 

 

т. е.

 

Д1Ш = /1(х1(|))

(2.73)

 

 

204

притом это соотношение может выполняться более чем для одного значения xi(|), т. е. это значение может быть не единственным.

Составляем таблицу 20. Далее переходим к вычисле­ нию значений функции F2{'E>) с помощью соотношения (2.70) для всех | = 0, 1, ... , Ь. При этом х2 может при­

нимать значения

. Для определения значе­

 

а 2

ния ДД!) при фиксированном g последовательно находим

тЛ0Д) = / 2(0) + Л О - о - а . )

тЛМ) = М1) + Л ( ^ - Ь О

УЛ2Д) = М 2 )+ ^ ( 5 - 2 - 0 ,)

(2.74)

т2 )='■(№)+

наибольшее из которых и есть F2(Q. Одновременно определяется (или определяются) значения х2{%), для которых

F2 (l)=y2(x2,l),

( 2.75)

после чего строится таблица для F2{"g) и х2(1), анало­

гичная табл. 20. Затем, пользуясь соотношением

 

М *) = max

+

asx 3))

(2.76)

и повторив процедуру вычислений, построим таблицу

значений F3(£) и х3(£) для всех £ = 0,

1,

... , b и так да­

лее продолжаем этот процесс до

 

Таблица 20

определения Fn- i(E,). Функцию

 

FN(l)

нет необходимости табули­

 

 

 

ровать, так как нам достаточно

i;

F&)

*.($)

знать

Fn {P)— Z*. То

значение

 

 

 

(или

значения) xN, при

котором

0

 

 

достигается Рн(Ь), есть

xN* =

Л ( « )

(0 )

 

= x N(b) и мы нашли xN*. Для

1

f . ( l )

х , ( 1 )

отыскания x*jv- i, x*jv- 2, ••

xi* об­

 

 

 

 

ратимся к построенным таблицам

Ь

 

Xi (6 )

значений хлД£). Так как значение

Л (6)

205

xN* известно, то остальные переменные должны удовле­ творять условию

N

2

« Л < 6 - ахх%

(2.77)

/= 1

 

 

Л'— 1

 

и потому выражение

][] fj(-Xj) должно

достигать макси-

/=1

мума на множестве неотрицательных целых чисел, удов­ летворяющих этому условию, а, согласно (2.60) — (2.61), этот максимум есть FN_l(baNxjv*). Значение или зна­

чения x.x-i, при которых этот

максимум достигается,

есть Х{ЬaNxN*),

и мы получаем

 

 

 

■*V i

= Х я_ хфavx*v),

(2.78)

т. е., чтобы найти х*к_и мы должны в таблице для

взять

число, соответствующее

l = b—aNxN*. Аналогично

получим

 

 

 

 

 

 

 

 

А - 2 = Я а-_2 Ф-

а Л

- i )

(2.79)

и вообще для i = l , 2 , . . . ,

А —1 найдем

 

 

* V * =■* N-i ( b~ ‘t

« Л_ а

)

(2.80)

 

 

 

V

<х=0

 

 

/

 

Таким

образом,

мы

получили

оптимальное

решение

(*1*, Х2*, ..., xN*)

задачи

(2.55) — (2.57).

 

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

1)задача должна допускать возможность интерпре­ тировать ее как ^-шаговый процесс принятия решений;

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

3)при рассмотрении ^-шаговой задачи должен быть задан параметр, характеризующий состояние системы и называемый параметром состояния; тот же параметр должен описывать состояние системы при любом коли­ честве шагов;

4)на k-м шаге выбирается одно или несколько зна­ чений переменной xh, называемой управляющей пере-

206

менной; оптимальные значения - управляющей перемен­ ной зависят от параметра состояния;

5) решение для ^-шаговой задачи получается из ре­ шения (k— 1)-шаговой путем добавления k-vo шага и использования результата, полученного для (k—-1) ша­ гов. Выбор значения управляющей переменной на k-u шаге в ^-шаговом процессе не должен влиять на пред­ шествующие (k— 1) шаги.

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

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

управляющих переменных. Обозначим через £ вектор, компонентами которого служат параметры состояния, описывающие состояние системы при наличии &-шагов, а через хъ — вектор, компонентами которого служат переменные, подлежащие выбору на k-ou шаге. Тогда

Fh{\) есть оптимальное значение целевой функции ^-ша­

гового процесса, соответствующего вектору

Принято

называть Fh(l) функцией состояния. Пусть при выбран­ ных Xh и | вектор параметров^ состояния для осталь­

ных (k— 1) шагов есть ц{Ъ-х^)- Сущность подхода динамического программирования состоит в построении и использовании рекуррентных соотношений вида

Fk(Т) = шах

-*!,) + Fk

(S, Ля)))

(2.81)

хк

 

 

 

так, что, определив Fu(c) при фиксированном £, мы

одновременно находим оптимальные значения x(Q управлений на k-u шаге ^-шагового процесса, описывае­

мого вектором | параметров состояния. Заметим, что (2.68) есть частный случай соотношений (2.81), когда имеется единственный параметр состояния и на каждом шаге выбирались значения только одной управляющей переменной.

Соотношения (2.81) можно прочитать следующим образом: оптимальное значение целевой функции k-ma-

207

гового процесса не может быть получено, если для любого Xk, выбранного на k-u шаге, значение целевой функции для остальных (k—1) шагов не является опти­ мальным при этом выбранном на k-м шаге значении

Это утверждение часто называют принципом опти­ мальности Беллмана (в отличие от принципа оптималь­ ности Л. С. Понтрягнна) и формулируют так: Опти­ мальное поведение обладает тем свойством, что, каковы бы ни были первоначальное состояние и решение в на­ чальный момент, последующие решения должны состав­ лять оптимальное поведение относительно состояния, получающегося в результате первого решения.

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

Р а с с м о т р и м п р и м е р , и л л ю с т р и р у ю щ и й м е т о д д и н а м и ч е с к о г о п р о ­

г р а м м и р о в а н и я .

 

П у с т ь п л а н и р у е т с я

р а з в и т и е о т р а с л и п о с т р а н е в ц е л о м или

э к о н о м и ч е с к о м р а й о н е .

П о т р е б н о с т ь в д а н н о м в и д е п р о д у к т а з а д а н а .

И з в е с т н ы п у н к т ы , в к о т о р ы х д е й с т в у ю т и ли

м о г у т б ы т ь п о с т р о е н ы

п р е д п р и я т и я , в ы п у с к а ю щ и е д а н н ы й п р о д у к т . П о к а ж д о м у т а к о м у

п у н к т у с т

р о и т е л ь с т в а или р е к о н с т р у к ц и и и р а с ш и р е н и я

п р е д п р и я т и я

в о з м о ж н ы

р а з л и ч н ы е в а р и а н т ы м о щ н о с т и п р е д п р и я т и я .

Д л я к а ж д о ­

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

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

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

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

С о с т а в и м м а т е м а т и ч е с к у ю м о д е л ь з а д а ч и .

П у с т ь

Xj — п р о и з в о д с т в е н н а я м о щ н о с т ь / - г о п р е д п р и я т и я ( / = 1 , N);

В — с у м м а р н а я п р о и з в о д с т в е н н а я м о щ н о с т ь в с е х N п р е д п р и я т и й ; Dj, dj — с о о т в е т с т в е н н о н а и б о л ь ш а я и н а и м е н ь ш а я п р о и з в о д с т ­

в е н н а я м о щ н о с т и , к о т о р у ю м о ж е т и м е т ь / - е п р е д п р и я т и е ;

208

&i(Xj) — г о д о в ы е р а с ч е т н ы е з а т р а т ы н а / - м п р е д п р и я т и и . И з в е ­ с т н о , ч т о он и р а в н ы с у м м е с е б е с т о и м о с т и п р о и з в о д с т в а и п р о и з в е д е ­ н и я к а п и т а л о в л о ж е н и й на н о р м а т и в н у ю э ф ф е к т и в н о с т ь

Cj {Xj) -\-В Kj ( Xj) ,

п р и ч е м

к а к

с е б е с т о и м о с т ь

Cj(Xj)

о б ъ е м а

п р о д у к ц и и ,

п р о и з в о д и м о й

з а

г о д

на

/ - м

п р е д п р и я т и и ,

т а к

 

и к а п и т а л ь н ы е

в л о ж е н и я

Kj(Xj)

в с т р о и т е л ь с т в о ,

р а с ш и р е н и е

или

р е к о н с т р у к ц и ю

п р е д п р и я т и я

з а в и ­

с я т о т п р е д п о л а г а е м о й п р о и з в о д с т в е н н о й м о щ н о с т и Xj э т о г о п р е д ­

п р и я т и я .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

З а д а ч а с о с т о и т в т о м , ч т о б ы

 

 

 

 

 

 

 

 

 

 

 

н а й т и п л а н р а з м е щ е н и я и р а з в и т и я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(хи х2,

. . . ,

Хп),

 

 

 

 

 

 

о б е с п е ч и в а ю щ и й м и н и м у м о б щ и х з а т р а т

 

 

 

 

 

п р и у с л о в и и

Ф1 (xi) +

Ф2(х2) +

. . .

+

Ф ^ ( х я )

 

 

 

 

 

 

X;

х2-f- . . . -Ь Хн= В,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

di^Xi^Di, . . . ,

dм ^~хn

н.

 

 

 

 

У с л о в и м с я в м е с т о

о п т и м а л ь н ы х

п р о и з в о д с т в е н н ы х м о щ н о с т е й

 

х2, . . . .

xN и с к а т ь

о п т и м а л ь н ы е

п р и р о с т ы

м о щ н о с т е й Xit

Х2, . . .

. . . , XN п о с р а в н е н и ю с н а и м е н ь ш и м и в о з м о ж н ы м и м о щ н о с т я м и

п р е д п р и я т и й

 

 

Xj=Xj—dj,

 

_____

 

 

 

 

 

и о б о з н а ч и м

 

 

Ц = \^1Т),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cpj №

) =

Ф ; (Xj)-ф> (dj) = 0j (Xj + dj) —<t>j(dj);

 

 

 

 

 

 

 

 

 

rrij = Dj~dj\

 

 

 

 

 

 

 

 

 

 

 

 

b= B(d\-\-d2-\- . . .

 

+ < ij v ) ,

 

 

 

 

 

q>j(Xj)

 

 

 

 

 

/ = 1 ,

N,

 

 

 

 

 

 

 

г д е

о з н а ч а е т

р а с ч е т н ы е г о д о в ы е

з а т р а т ы

на

/ - м п р е д п р и я т и и

н а с о з д а н и е д о п о л н и т е л ь н о й м о щ н о с т и Xj, с ч и т а я о т м и н и м а л ь н о й

м о щ н о с т и

dj, а

Ь— ■с у м м а р н ы й п р и р о с т

 

м о щ н о с т е й

н а

в с е х N п р е д ­

п р и я т и я х . П о л у ч а е м с л е д у ю щ у ю з а д а ч у м а т е м а т и ч е с к о г о п р о г р а м м и ­ р о в а н и я :

н а й т и в е к т о р

Х„),

(Хи Х2, . . . ,

м и н и м и з и р у ю щ и й ф у н к ц и ю

 

2 = 2

ш

/=1

 

при у с л о в и я х

 

N

 

2 Xi=b, о

/=i71v.

/= 1

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

п р о г р а м м и р о в а н и я . В в е д е м п а р а м е т р с о с т о я н и я

иф у н к ц и ю с о с т о я ­

14—633

209

Соседние файлы в папке книги из ГПНТБ