Главная  Нелинейные системы управления 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [ 96 ] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166]

чтобы она удовлетворяла уравнению Беллмана (10.65) при граничном условии

S{{i,)J,)=goi(fi).ff)- (10.66)

Если минимум в левой части (10.65) достигается во внутренних точках множества С/„ то уравнение Беллмана можно представить в виде

/о (X, U, О + t (X, U, /)« -dS/dt; (10.67) dS

/o(x.u,0+-f(x,u,/) = 0, / = 1,2.....л (10.68)

Уравнения (10.68) выражают необходимое условие минимума левой части (10.65) и заменяют опущенную в уравнении (10.67) операцию минимизации по управлению.

Если правые части уравнений объекта и подьштегральное выражение в критерии оптимальности, т. е. функции ft, i = = О, 1, 2, п,явно не зависят от времени и конечный момент tj не фиксирован, то функция Беллмана не зависит явно от времени и dS/dt = 0.

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

1) из уравнений (10.68) определяется управление как функция от S, т. е. и* = и* (S);

2) подставив и* (S) в уравнение (10.67) и решив его при краевом условии (10.66), находят функцию Беллмана;

3) подставив найденную функцию Беллмана в выражение U* = U* (S), получают оптимальное управление как функцию фазовых координат.

Пример 10.11. Пусть требуется найти оптимальное управление с обратной связью в задаче:

где jcj и х§ - произвольные заданные числа, момент tf не фиксирован.

Для решения этой задачи воспользуемся методом динамического программирования. Выпишем уравнения (10.67) и (10.68). В данном случае dS/dt = О и эти уравнения имеют вид

х?+пМ- х,+ « = 0; 2и+ 1=0. • ; .. dxi дхг . , охг : .



Из второго уравнения и* = --dS/dx. Подставим это выражение в первое уравнение;

I fdS Y dS

Нужно решить это уравнение при граничном условии S (х (tj )) = 0. Будем искать решение в виде квадратичной формы

которая, очевидно, в силу краевых условий задачи удовлетворяет указанному граничному условию. Подставив это выражение в уравнение Беллмана, получим

(1 - с? J kf + (2flii - 2а,2/7Ы JtiJ(2 + (2fl,2-а 2 )а-.5 = О. Последнее равенство будет выполняться тождественно, если

1-of2=0. о,, - 0]a0.j2= 2oi2 -q2 = 0. Эта система имеет следующие решения:

ац = 1. 22= ± V2, а„= ±1/2. Так как, по определению, функция Беллмана

5{х(0)= J {х\+и)Ш.

то S > О при всех / ¥= If. Поэтому квадратичная форма, удовлетворяющая уравнению Беллмана, будет функцией Беллмана, если она является положительно-определенной. Этому условию удовлетворяет решение

ai2-. 12= "1/2, о„.= 1/2. поэтому функция Беллмана . .

S = V2 +2;c,X2-f V2 xt и оптимальное управление нмсст вид

«*(х)= - 1 - - (1+ V2x,).

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



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

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

Уравнение Беллмана как необходимое условие оптимальности получено при предположении, что функция Беллмана является гладкой (непрерывно дифференцируемой). Это допущение не вытекает из условия задачи оптимального управления и часто не выполняется, поэтому применительно к задачам оптимального управления метод динамического программирования требует обоснования, и в тех случаях, когда обоснования нет, метод динамического программирования может быть использован как эвристический прием. При определенных условиях метод динамического программирования дает достаточное условие оптимальности.

i Пусть S (х, t) - гладкое решение уравнения Беллмана (10.65) при граничном условии (10.66) и функция и* (х, t), вычисленная из условия

/о (X, U*, t)+-t (X. U*, о + = min

порождает единственную траекторию x* {t), удовлетворяющую уравнениям и граничным условиям задачи (10.63), вдоль которой функция U* (t) = U* (х* (О, t) кусочно-непрерывна. Тогда функция U* (х, t) является оптимальным управлением задачи (10.63).

Докажем это утверждение. В силу определения функции U* (х, /) в каждой точке ее непрерывности справедливо равенство [см. (10.64)1

/о (X* (О, U* (f), t) + US (X* (О, t)ldt = 0.

Проинтегрируем обе части по / от до h-

J/о [X* (0. U* (0. 1 rf+5 [х* (/), У-S (X* (д. g=О,



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [ 96 ] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166]

0.0013