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

7452

.pdf
Скачиваний:
1
Добавлен:
23.11.2023
Размер:
1.1 Mб
Скачать

ние ряда лет, замены оборудования, пополнения запасов и т. п.

В результате управления система (объект управления) S переводится из на-

чального состояния S0 в состояние Sn . Пусть управление разбивается на n шагов, т.

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

щее систему S из начального состояния в конечное, представляет собой совокуп-

ность n пошаговых управленческих решений.

Обозначим через X k управленческое решение на k-м шаге (k=1, 2, …, n). Пе-

ременные X k удовлетворяют некоторым ограничениям и в этом смысле называются допустимыми ( X k может быть числом, точкой в n-мерном пространстве или качест-

венным признаком).

Пусть X=(X1, X2, …, Xn) – управление, переводящее систему S из состояния S0

в состояние Sn . Обозначим через Sk состояние системы (характеризуемое опреде-

ленным набором параметров и конкретных их значений) после k-го шага управле-

ния. Причем состояние системы Sk в конце k-го шага зависит только от предшест-

вующего состояния Sk 1 и управленческого решения на k-м шаге X k (т. е. не зави-

сит напрямую от предшествующих состояний и управленческих решений). Данное требование называется «отсутствием последствия» и может быть выражено сле-

дующими уравнениями состояний:

Sk k (Sk 1, X k ), k 1, 2, ..., n .

(1)

Таким образом, получаем последовательность состояний S0 , S1 , …, Sk 1 , Sk ,

…, Sn 1, Sn . Тогда n-шаговый управленческий процесс схематично можно изобра-

зить следующим образом:

X1

 

X2

 

Xk-

Sk

Xk

Sk

Xk+

Xn-

Sn

Xn

Sn

 

 

S0

S1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть показатель эффективности k-го шага выражается некоторой функцией:

Zk fk (Sk 1, X k ), k 1, 2, ..., n ,

(2)

а эффективность всего рассматриваемого многошагового процесса следующей ад-

21

дитивной функцией:

n

 

Z fk (Sk 1, X k ) ,

(3)

k 1

 

или

 

Z F(S0 , X ) .

(4)

Тогда задача пошаговой оптимизации (задача динамического программирова-

ния) формулируется следующим образом: определить такое допустимое управле-

ние Х, переводящее систему S из состояния S0 в состояние Sn , при котором целе-

вая функция Z принимает наибольшее (наименьшее) значение.

Метод ДП позволяет провести оптимизацию поэтапно, анализируя последова-

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

Особенности модели ДП:

1. Возможность разбиения процесса принятия решений на ряд однотип-

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

том результатов, полученных на других шагах.

2.Целевая функция равна сумме целевых функций каждого шага.

3.Выбор управления на k-м шаге зависит только от состояния системы

кэтому шагу, не влияет на предшествующие шаги (нет обратной связи).

4.Состояние Sk после k-го шага управления зависит только от предше-

ствующего состояния Sk 1 и управления Х k («отсутствие последствия»).

5. На каждом шаге управление Х k зависит от конечного числа управ-

ляющих переменных, а состояние Sk – от конечного числа параметров.

6.Вычислительная схема ДП безразлична к способам задания функций

иограничений.

7.Вычислительная схема ДП основывается на двух важных принципах

– оптимальности и вложения.

Принцип оптимальности формулируется следующим образом

Каково бы ни было состояние системы в результате какого-то числа шагов,

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

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

22

мальному выигрышу на всех оставшихся шагах, включая данный.

Основное требование – процесс управления должен быть без обратной связи,

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

Принцип вложения утверждает, что природа задачи, допускающей использова-

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

ства шагов, т. е. форма такой задачи инвариантна относительно n.

8. Вычислительная схема ДП использует рекуррентные соотношения.

Существует две схемы решения методом ДП (прямая и обратная прогонка). Оба они приводят к одному ответу.

Схема «обратной прогонки»: осуществляется выбор последнего во времени решения, затем при движении в направлении, обратном течению времени, выбира-

ются все остальные решения вплоть до исходного.

На последнем шаге с учетом состояния системы Sn-1 управленческое решение

Xn можно планировать локально-оптимально, т.е. исходя только из соображений этого шага.

Рассмотрим последний, n-й шаг:

Sn 1 – состояние системы к началу n-го шага; Sn – конечное состояние систе-

мы; Х n – управление на n-м шаге; fn (Sn 1, X n ) – целевая функция (выигрыш) n-го шага.

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

Обозначим через Zn* (Sn 1) оптимум (для определенности примем максимум)

целевой функции – показатель эффективности n-го шага при условии, что к началу последнего шага система S была в произвольном состоянии Sn 1 , а на последнем шаге управление было оптимальным.

Zn* (Sn 1) называют условным максимумом целевой функции на n-м шаге и оп-

ределяют по следующей формуле:

23

Z * (S

n 1

) max f

n

(S

n 1

, X

n

) .

(5)

n

X n

 

 

 

 

 

 

 

 

 

 

 

 

 

Максимизация ведется по всем допустимым управлениям Х n .

 

Решение Х , при котором достигается Z * (S ) , также зависит от S и на-

n n n 1 n 1

зывается условным оптимальным решением на n-м шаге. Обозначим его через

Х * (S ) .

n n 1

Решив одномерную задачу локальной оптимизации по уравнению (5), опреде-

лим для всех возможных состояний Sn 1 две функции Zn* (Sn 1) и Х n* (Sn 1) .

 

Рассмотрим двухшаговую задачу: присоединим к n-му шагу (n–1)-й.

 

Для любых состояний Sn 2 , произвольных управленческих решений

Х n 1 и

при оптимальном управлении на n-м шаге значение целевой функции на двух по-

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

Z

n 1

(S

n 2

) f

n 1

(S

n 2

, X

n 1

) Z * (S

n 1

)

(6.1)

 

 

 

 

 

n

 

 

Согласно принципу оптимальности Беллмана, для любых Sn 2 решение нужно выбирать так, чтобы оно вместе с оптимальным управлением на последнем (n-м)

шаге приводило бы к оптимуму целевой функции на двух последних шагах. Следо-

вательно, необходимо отыскать оптимум выражения (6) по всем допустимым управ-

ленческим решениям Х n 1 :

Z *

1

(S

n 2

) max { f

n 1

(S

n 2

, X

n 1

) Z * (S

n 1

)}

(6.2)

n

 

X n 1

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z * (S ) называют условным максимумом целевой функции при оптималь-

n 1 n 2

ном управлении на двух последних шагах. Необходимо отметить, что выражение в

фигурных скобках в формуле (6.2) зависит только от

Sn 2 и

Х n 1 , так как

Sn 1

можно найти из уравнения состояний (1) при k n 1:

 

 

 

Sn 1 n 1(Sn 2 , X n 1) .

 

(7)

 

Соответствующее управление Х n 1 на (n–1)-м

шаге

обозначается

через

Х n* 1(Sn 2 ) и называется условным оптимальным управлением

на (n–1)-м шаге.

Аналогично определяются условные оптимумы целевой

функции при опти-

24

мальном управлении на (nk+1) шагах начиная с k-го до конца при условии, что к началу k-го шага система находилась в состоянии Sk 1 :

Z* (s

k 1

) max{ f

k

(s

k 1

, X

k

) Z*

(s )}

( k n 1,1)

.

(8)

k

 

 

 

 

k 1

k

 

 

 

{Xk }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Управление Х k

на k-м шаге, при котором достигается максимум по уравнению

(8), обозначается Х * (S ) и называется условным оптимальным управлением на k-

k k 1

м шаге.

Уравнения (5) и (8) называют рекуррентными уравнениями Беллмана (обратная

схема). Процесс решения данных уравнений называют условной оптимизацией.

В результате условной оптимизации получаются две последовательности:

Z * (S

n 1

) ,

Z *

(S

n 2

) , …,

 

Z * (S ) ,

Z * (S

0

)

условные

максимумы целевой

 

n

 

 

 

n 1

 

 

 

 

 

 

2 1

 

1

 

 

 

 

 

 

 

функции на последнем, двух последних, …, на n шагах;

 

X * (S

n 1

) ,

X *

 

(S

n 2

) , …,

X *

(S ) ,

X

* (S

0

)

– условные оптимальные управле-

 

n

 

 

 

n 1

 

 

 

 

 

2 1

1

 

 

 

 

 

 

 

ния на n-м, (n–1)-м, …, на 1-м шагах.

 

 

 

 

 

 

 

 

 

 

 

Используя данные последовательности, можно найти решение задачи динами-

ческого программирования при данных n и S0 :

 

 

 

 

 

 

S

0

Z

max

Z * (S

0

) X * (S

0

) S (S

0

 

, X * ) Z * (S ) X * (S )

 

 

 

 

1

 

 

 

 

1

 

1

1

 

 

 

 

 

 

1

2 1

2 1

S (S , X * ) Z * (S ) X * (S ).

n 1 n 1 n 2 n 1 n n 1 n n 1

В результате получаем оптимальное решение задачи динамического программирования: X * ( X1*, X 2*, , X n* ) .

Таким образом, в процессе оптимизации управления методом динамического программирования многошаговый процесс «проходится» дважды:

первый раз – от конца к началу, в результате чего находятся условные опти-

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

на всех шагах, начиная с данного и до конца процесса;

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

Аналогично рассуждая, можно выстроить и прямую схему условной оптимиза-

25

ции: Z1* (S0 ) max f1(S0 ,

{X1}

Z * (S

k 1

) max{ f

k

(S

k

{Xk }

 

 

 

 

 

X1) ,

k 1, X k ) Zk* 1(Sk 2 )}

( k 2, n) .

(9)

(10)

Оптимальное решение задачи в данном случае находится по следующей схеме:

Z

max

Z * (S

n 1

) X * (S

n 1

) Z *

(S

n 2

) X *

(S

n 2

)

 

 

n

 

n

 

 

n 1

 

 

n 1

 

 

Z

2

(S ) X * (S ) Z * (S

0

) X * (S

0

).

 

 

 

 

 

1

 

2

1

1

 

 

1

 

 

 

 

 

Таким образом, построение модели динамического программирования и реше-

ние задачи на ее основе можно представить в виде следующих этапов:

1. Выбирают способ деления процесса управления на шаги.

2.

Определяют параметры состояния Sk и переменные управления X k на каж-

дом шаге, записывают уравнения состояний.

3.

Вводят целевые функции k-го шага и суммарную целевую функцию, а также

условные оптимумы Z * (S ) и условное оптимальное управление на k-м шаге

k k 1

X * (S

k 1

) ( k {1, 2, ..., n}).

k

 

4. Записывают в соответствии с обратной или прямой схемой рекуррентные

уравнения Беллмана и после выполнения условной оптимизации получают две по-

следовательности: { Z * (S ) } и { X * (S ) }.

k k 1 k k 1

5. Определяют оптимальное значение целевой функции Z * и оптимальное решение Х * .

На основе принципа оптимальности Беллмана строится схема решения мно-

гошаговой задачи, состоящая из 2-х частей:

1) Обратный ход: от последнего шага к первому получают множество воз-

можных оптимальных («условно-оптимальных») управлений.

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

ченного множества «условно-оптимальных» управлений составляется искомое оп-

тимальное управление для всего процесса в целом.

26

Оптимальную стратегию управления можно получить, если сначала найти оп-

тимальную стратегию управления на n-м шаге, затем на двух последних шагах, за-

тем на трех последних шагах и т.д., вплоть до первого шага.

Чтобы можно было использовать принцип оптимальности практически, необ-

ходимо записать его математически. Обозначим через z1(xn-1), z2(xn-2),…, zn(x0) ус-

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

двух последних,…, на всей последовательности шагов, соответственно.

Тогда для последнего шага:

z1(xn-1) = max (min) {Fn(xn-1, un)},

un

где un множество допустимых (возможных) управлений на n-ом шаге, xn-1 – воз-

можные состояния системы перед n-ым шагом.

Для двух последних шагов:

z2(xn-2) = max (min) {Fn-1(xn-2, un-1) + z1(xn-1)}.

un 1

Для k последних шагов:

zk(xn-k) = max (min) {Fn-k+1(xn-k, un-k+1) + zk-1(xn-k+1)}.

un k 1

Для всех n шагов:

zn(x0) = max (min) {F1(x0, u1) + zn-1(x1)}.

u1

Полученные рекуррентные соотношения называют функциональными

уравнениями Беллмана.

При этом согласно определению zn(x0) = F*.

Метод ДП позволяет с успехом решать экономические задачи. Рассмотрим од-

ну из простейших таких задач.

1. Задача оптимального распределения ресурсов.

а) Постановка задачи.

Задачи на оптимальное распределение ресурса, который можно использовать различным образом, возникают при разработке оперативных и перспективных пла-

нов особенно часто. К ним относятся задачи о распределении средств на приобрете-

ние оборудования, закупку сырья и найм специалистов; задачи о распределении то-

вара по торговым предприятиям и складам; задачи по определению последователь-

27

ности пропорций между продукцией с/х производства, предназначенной для реали-

зации и воспроизводства и т.д.

Рассмотрим задачу оптимального распределения заданного объема капитало-

вложений в несколько предприятий.

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

лиалы, а общая прибыль фирмы равна сумме всех приростов по филиалам. Следует определить оптимальное распределение капиталовложений между филиалами, мак-

симизирующее общий прирост прибыли фирмы.

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

При таком подходе можно использовать функциональные уравнения Беллма-

на. Для их решения в табулированном виде общий объем капиталовложений разби-

вается на N интервалов с шагом (для нашей задачи положим N = 4, тогда =

200/4=50 млн. руб.). Т.е. значения функций, входящих в уравнения Беллмана, будут определяться только в точках, кратных (в нашем примере в точках 0, 50, 100, 150,

200).

Пусть ожидаемый прирост прибыли филиалов при соответствующих капита-

ловложениях задан таблицей.

Кап. Вло-

 

Прирост прибыли по филиалам

 

жения

1

 

2

3

4

50

25

 

30

36

28

100

60

 

70

64

56

150

100

 

90

95

110

200

140

 

122

130

142

С =200 – общий объем распределяемых средств;

28

х - объем средств, выделяемых филиалам (на каждом шаге), 0≤ х ≤C.

Fi(xi) – ожидаемый прирост i-той фирмы при выделении ей хi средств. Тогда целевая функция

F = F1(x1) + F2(x2) + F3(x3) + F4(x4) → max

при ограничении x1 + x2 + x3 + x4 = C, xi ≥ 0, i = 1,4 .

б) Схема решения методом «прямой прогонки»

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

z1(x) – max прибыль фирмы, если x средств выделить одному 1-му филиалу; z2(x) – max прибыль фирмы, если x средств распределить между 1-м и 2-м фи-

лиалами;

z3(x) – max прибыль фирмы, если х средств распределить между 3-м и двумя первыми филиалами;

z4(x) – max прибыль фирмы, при распределении x средств между всеми 4-мя

филиалами.

 

Очевидно, что z4(C) = max F = F*, a zi(0) = 0.

 

2. «Обратный ход».

 

Рассмотрим финансирование только 1-го филиала, тогда по определению

 

z1(x) = F1(x).

(1)

Пусть теперь средства в объеме x распределяются между 1-м и 2-м филиалами: 2-му в объеме x2, тогда х – х2 = х1 выделяется 1-му. Общая прибыль двух филиалов

z2(x) = max (F2(x2) + z1(x – x2)).

(2)

0 x2 C

 

Теперь включим в рассмотрение дополнительно 3-й филиал: из общей суммы х вы-

делим 3-му филиалу х3, тогда остальная часть х – х3

оптимальным образом распре-

деляется между двумя первыми

 

z3(x) = max (F3(x3) + z2(x – x3)).

(3)

0 x3 C

 

Наконец, по аналогии находим

 

z4(x) = max (F4(x4) + z3(x – x4)).

(4)

0 x4 C

 

3. «Прямой ход».

Функциональные уравнения Беллмана (1) – (4) позволяют рассчитать значения zi и Fi для всех возможных х. Среди них находим z4(C) = F* и оптимальное x4*

29

такое, что F4(x4*) = F4*, после чего результаты вычислений просматриваются в об-

ратном порядке. Зная x4*, находим С–х4* – объем финансирования остальных трех филиалов, а следовательно, и F3* и х3*, и т.д. до

в) Расчет.

Далее по полученным результатам условной оптимизации можно определить

оптимальное распределение ресурсов X * (x*, x* ,

, x* ) по следующей схеме:

 

 

 

 

 

 

 

 

 

 

 

1

2

n

 

 

 

 

 

 

S

0

Z

max

Z * (S

0

) x* S S

0

x*

Z * (S ) x* S

n 1

S

n 2

x*

1

 

 

 

1

1

1

1

2 1

2

 

 

n

 

Z * (S

n 1

) x* .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Задача распределения средств между предприятиями

Имеется определенное количество ресурсов S0 , которое необходимо распреде-

лить между n хозяйствующими субъектами на текущую деятельность в течение рас-

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

n

( i 1, n ; xi So ) в деятельность каждого хозяйствующего субъекта кратны некото-

i 1

рой величине h. Известно, что каждый хозяйствующий субъект в зависимости от объема используемых средств xi за рассматриваемый период приносит прибыль в размере fi (xi ) (не зависит от вложения ресурсов в другие хозяйствующие субъек-

ты).

Необходимо определить, какой объем ресурсов нужно выделить каждому пред-

приятию, чтобы суммарная прибыль была наибольшей. Представим процесс распре-

деления ресурсов между хозяйствующими субъектами как n-шаговый процесс управления (номер шага совпадает с условным номером хозяйствующего субъекта).

Пусть Sk ( k 1, n ) – параметр состояния, т. е. количество свободных средств после k-го шага для распределения между оставшимися (nk) хозяйствующими субъекта-

ми. Уравнение состояний примет вид

 

 

 

 

 

 

 

Sk Sk 1 xk , (k 1,n).

 

(11)

Введем в рассмотрение функцию Z * (S

 

 

 

 

k 1

), (k 1, n) – условно оптимальная со-

 

 

k

 

 

 

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]