x2
x(t f )
x(t′)
x(t0 )
x1
x3
Рис. 4.4. К принципу оптимальности.
Принцип оптимальности гласит, что любая конечная часть оптимальной траектории является, в свою очередь, оптимальной траекторией. Это означает, что траектория от некоторой промежуточной точки x(t′) до конечной точки x(t f ) является оптимальной, то есть обеспечивает мак-
симум критерия R′ = t∫f r(x,u,t)dt . Действительно, предположим, что это
t'
не так, а, следовательно, есть какая-то другая траектория (на рис. 4.4 показана штриховой линией), доставляющая максимум функционала R′ . Но тогда и первоначальная траектория вопреки предположению не являлась оптимальной, поскольку критерий оптимальности, состоящий из суммы двух частей – максимальной на отрезке траектории от точки x(t0 ) до точки x(t′) и не максимальной – от точки x(t′) до точки x(t f ), принимал бы не максимальное значение.
Изложенное выше справедливо, конечно, и для систем, в которых время разбито на дискретные шаги (этапы).
251
Таким образом, оптимальная стратегия зависит только от состояния объекта в рассматриваемый момент времени и не зависит от того как объект попал в это состояние, то есть не зависит от его предыстории.
Принцип оптимальности, описывающий основные свойства оптимальных стратегий, использует в качестве своей исходной точки концепцию инвариантного вложения, согласно которой решение исходной сложной задачи заменяется некоторым количеством аналогичных более простых задач.
Если речь идёт о многошаговых процессах оптимизации, то такой подход сводит исходную задачу к последовательному решению одношаговых процессов оптимизации. В многошаговом процессе оптимизации полных выигрыш для N шагов, согласно принципу оптимальности, можно представить в виде
RN = r(x1,u1 )+ RN−1(x1,u1 ).
Первое слагаемое в этом выражении – начальный выигрыш, второе слагаемое – максимальный выигрыш от последующих N-1 шагов.
Максимальный выигрыш запишется как
R |
(x )= max(r(x ,u |
)+ R |
|
(x ,u )). |
(4.4.1) |
|||||
N |
1 |
u1 |
1 1 |
|
|
N −1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Соотношение (4.4.1) справедливо для любых |
N ≥ 2 . Для N=1 полу- |
|||||||||
чим, очевидно |
|
|
|
|
|
|
|
|
|
|
|
R (x |
)= max r(x |
1 |
,u |
). |
|
|
|||
|
1 |
1 |
u1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
|
|
|
|
|
|
|
|
|
|
Таким образом, принцип оптимальности позволяет исходный N шаговый процесс заменить последовательностью одношаговых процессов и на каждом шаге использовать одно и то же рекуррентное соотношение (4.4.1).
Пример 4.4.1. Пусть требуется положительную величину с разделить на n частей так, чтобы их произведение было максимальным.
Обозначим через Rn (c) максимальное значение произведения, x –
первая часть, (c − x) – оставшаяся часть. Тогда, используя соотношение
(4.4.1), можно составить функциональное уравнение
Rn (c)= max{x Rn |
−1(c − x)}, n ≥ 2. |
(4.4.2) |
0≤x≤c |
|
|
Очевидно, что при n=1
R1 (c)= c и R1 (c − x)= c − x .
Положим в уравнении (4.4.2) n=2:
R (c)= max{x R (c − x)}= max{x(c − x)}. |
|||
2 |
0≤x≤c |
1 |
0≤x≤c |
|
|
||
Максимум найти нетрудно, приравняв нулю производную по x от вы-
ражения в фигурных скобках. Этот максимум будет при x = c2 . Таким
образом, оптимальная стратегия деления на две части – это деление на две равные части
253
{ }= c , c , ui 2 2
|
|
c |
|
2 |
||
а максимальное значение произведения – |
R2 |
(c)= |
|
. |
||
2 |
||||||
|
|
|
|
|
||
Положим n=3. Максимальное произведение найдем из соотношения
|
|
|
|
2 |
|
R (c)= max{x R |
(c − x)}= max |
x(c − x) |
. |
||
|
|||||
3 |
0≤x≤c |
2 |
|
4 |
|
|
|
0≤x≤c |
|
||
|
|
|
|
|
|
Взяв производную и приравняв её нулю, получим x = 3c . Оставшаяся
часть в 23 c , согласно предыдущему рассуждению, оптимально будет
разделена на две равные части, то есть на 3c и 3c .
Оптимальное деление на три части будет, таким образом
{ui } |
c |
|
c |
|
|
c |
|
|
||
= |
|
, |
|
|
, |
|
|
, |
||
|
3 |
3 |
||||||||
|
3 |
|
|
|
|
|
||||
а максимальное произведение равно |
|
|
|
|
|
|
|
|
||
|
|
|
c |
3 |
|
|
||||
R3 |
(c)= |
|
|
|
. |
|
||||
3 |
|
|||||||||
|
|
|
|
|
|
|
||||
Продолжая подобные рассуждения, приходим к выводу, что при n=k оптимальным делением будет деление на k равных частей
254
|
c |
|
c |
|
c |
|
||
{ui |
}= |
|
, |
|
,..., |
|
|
, |
|
k |
|
||||||
|
k |
|
|
k |
|
|||
а максимальное произведение будет
( )= c k .
Rk c k
Методом математической индукции можно доказать, что оптимальным делением будет деление на равные части и при n=k+1. Действительно, полагая n=k+1, из соотношения (4.4.2) получим
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|||
|
|
|
R |
(c)= max{x R (c − x)}= max |
x(c − x) |
. |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
k+1 |
|
0≤x≤c |
k |
|
|
|
|
|
|
k |
k |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
0≤x≤c |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Путём простейших |
вычислений |
|
получаем |
оптимальное |
значение |
|||||||||||||||||||
|
c |
|
|
|
|
|
|
|
|
|
|
|
|
c |
|
|
c |
|
|
c |
|
|
||
x = |
|
|
, оптимальную стратегию деления {ui }= |
|
|
, |
|
,..., |
|
|
и |
|||||||||||||
|
|
|
|
|
|
|||||||||||||||||||
|
k +1 |
|
|
|
|
|
|
|
|
|
|
|
|
k +1 |
|
k +1 |
|
|
k +1 |
|
||||
|
|
|
|
|
|
|
|
|
|
c |
|
|
k+1 |
|
|
|
|
|
|
|
|
|
|
|
максимальное произведение |
Rk+1(c) |
= |
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
k +1 |
|
|
|
|
|
|
|
|
|
|
|
||||
Окончательно, оптимальная стратегия деления на n частей |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
c |
|
c |
|
c |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
{ui}= |
|
, |
|
,..., |
|
|
, |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
n |
|
|
n |
|
|
|
|
|
|
|
|
|
|
|||||
и максимальное произведение равно
255