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

Управление и оптимизация / Babenishev - Metodi optimizatsii 2017

.pdf
Скачиваний:
64
Добавлен:
02.09.2019
Размер:
4.49 Mб
Скачать

51

3) Поскольку f3 (5) f3 (W ) определяет оптимальную загрузку всего автомобиля, то в двух последних столбцах достаточно заполнить только нижнюю строку. Заполнение производится опять по формуле (4):

fk (w) max{ck xk fk 1(w wk xk )}.

f3 (5) Поскольку w = 5 тонн, а вес предметов 3-го типа равен w3 1 тонны,

то x3 (5) =0, 1, 2, 3, 4 или 5. Согласно (4), оптимальная условная стоимость:

f3 (5) max{c3 0 f2 (5), c3 1 f2 (5 w3 1), c3 2 f2 (5 w3 2), c3 3 f2 (5 w3 3), c3 4 f2 (5 w3 4), c3 5 f2 (5 w3 5)}

max{c3 0 f2

(5), c3 1 f2 (5

1 1), c3 2 f

2 (5 1 2), c3 3 f2 (5 1 3),

c3 4

f2 (5 1 4), c3

5 f

2 (5 1 5)}

max{15 0 f2

(5), 15 1 f2 (4), 15

2 f2 (3),

15 3 f2 (2),

15 4 f2 (1), 15 5 f2 (0)}

max{15 0 60, 15 1 60, 15 2 30, 15 3 30, 15 4 0, 15 5 0}

max{60, 75, 60, 75, 60, 75} 75.

Отсюда, x3 (5) =1, 3 или 5, поскольку при всех трех значениях достигается максимум условной оптимальной стоимости. Внесем найденные значения в таблицу 9:

Таблица 9

w

f1 (w)

x1 (w)

f2 (w)

x2 (w)

f3 (w)

x3 (w)

 

 

 

 

 

 

 

0

0

0

0

0

 

 

1

0

0

0

0

 

 

2

0

0

30

1

 

 

3

25

1

30

1

 

 

4

25

1

60

2

 

 

5

25

1

60

2

75

1;3;5

4) Осталось определить ответ по Таблице 9.

Максимальная стоимость груза равна 75 тыс. рублей и достигается при загрузке 1-ого, 3-х или 5-ти предметов 3-го типа.

а) Если загружен 1 предмет 3-го типа, то на предметы 1-го и 2-го типа осталось 4 тонны вместимости и следующее значение надо смотреть в ячейке для x2 (4) , рядом с f2 (4) (Таблица 10). Таким образом, оптимальная по стоимости загрузка достигается при 2-х предметах 2-го типа и одном

52

предмете 3-го типа, суммарно весящих 2 2 1 1 5 тонн. Для предметов 1- типа места не остается.

Таблица 10

 

w

f1 (w)

 

x1 (w)

 

f2 (w)

x2 (w)

f3 (w)

x3 (w)

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

 

0

0

 

 

 

1

0

 

0

 

0

0

 

 

 

2

0

 

0

 

30

1

 

 

 

3

25

 

1

 

30

1

 

 

 

4

25

 

1

 

60

2

 

 

 

5

25

 

1

 

60

2

75

1

Первый ответ: x1 0 , x2

2 ,

x3 1 .

 

 

 

б) Если загружены 3 предмета 3-го типа, то на предметы 1-го и 2-го типа осталось 2 тонны вместимости и следующее значение надо смотреть в ячейке для x2 (2) , рядом с f2 (2) . Таким образом, оптимальная по стоимости загрузка достигается при 1-ом предмете 2-го типа и 3-х предмета 3-го типа, суммарно весящих 2 1 3 1 5 тонн. Для предметов 1-типа места также не остается.

Таблица 11

 

w

 

f1 (w)

 

x1 (w)

f2 (w)

x2 (w)

f3 (w)

x3 (w)

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

0

0

 

 

 

1

 

0

 

0

0

0

 

 

 

2

 

0

 

0

30

1

 

 

 

3

 

25

 

1

30

1

 

 

 

4

 

25

 

1

60

2

 

 

 

5

 

25

 

1

60

2

75

3

Второй ответ:

x1 0 ,

x2 1, x3

3.

 

 

 

в) Если загружены 5 предметов 3-го типа, то на предметы 1-го и 2-го типа места не остается.

Таблица 12

 

w

 

f1 (w)

 

x1 (w)

 

f2 (w)

x2 (w)

f3 (w)

x3 (w)

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

 

0

0

 

 

 

1

 

0

 

0

 

0

0

 

 

 

2

 

0

 

0

 

30

1

 

 

 

3

 

25

 

1

 

30

1

 

 

 

4

 

25

 

1

 

60

2

 

 

 

5

 

25

 

1

 

60

2

75

5

Третий ответ:

x1 0 ,

x2 0 ,

x3 5 .

 

 

 

53

Проверка: Для проверки посчитаем стоимости для каждой найденной загрузки:

первая: c 0 25 2 30 1 15 60 15 75 тыс. рублей; вторая: c 0 25 1 30 3 15 30 45 75 тыс. рублей; третья: c 0 25 0 30 5 15 75 тыс. рублей,

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

Ответ: При управлениях (0,2,1), (0,1,3), (0,0,5) достигается максимальная стоимость загрузки в 75 тыс. рублей.

Задача распределения ресурсов

Пример 3. Решить следующую задачу: городское управление получило N 4 пожарных автоцистерны, которые следует распределить между 3 пожарными частями. Каждая из пожарных частей Fi , i 1, 2,3 , при поступлении в неё n автоцистерн повышает уровень технической готовности машинного парка, зависящий от n , т.е. представляющий собой какую-то функцию fi (n) . Все функции fi (n) , i 1, 2,3 , n 1, 2,3, 4 , заданы. Как следует распределить закупленную технику, чтобы в сумме это давало максимальное значение технической готовности по управлению?

Таблица 1

n

f1 (n)

f2 (n)

f3 (n)

 

 

 

 

0

0,94

0,93

0,92

1

0,95

0,93

0,93

2

0,96

0,94

0,94

3

0,96

0,94

0,95

4

0,97

0,96

0,95

Решение. Используем принцип оптимальности. В приложении к этой задаче, он приводит с следующей системе формул:

u1(n) f1(n), n N, ,0;

 

(1)

uk (n) max{ fk ( j) uk 1(n j)}j 0, ,n , k 2, , N;

n N, ,0;

(2)

где uk (n) – условные оптимальные выигрыши.

54

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

Таблица 2

n

u1 (n) x1 (n)

u2 (n)

x2 (n)

u3 (n)

x3 (n)

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

u1 (4) , u1 (3) , u1 (2) , u1 (1) , u1 (0)

Поскольку в данном случае условные оптимальные выигрыши ui (n) рассчитываются исходя из того, что автоцистерны направляются только в первую пожарную часть в количестве n 4,3, 2,1,0 , соответственно, то значения u1(n) f1(n) , как и следует из формулы (1).

u2 (4) max{ f2 (0) u1(4),

f2 (1) u1(3), f2 (2) u1(2), f2 (3) u1

(1), f2 (4) u1(0)}

 

max{0,93 0,97,

0,93 0,96, 0,94 0,96, 0,94 0,95,

0,96 0,94}

 

max{1,90; 1,89; 1,90; 1,89; 1,90}

1,90 , при x2 (4) 0;2;4 .

u2 (3) max{ f2 (0) u1(3),

f2 (1) u1(2), f2 (2) u1(1), f2 (3) u1(0)}

 

max{0,93 0,96,

0,93 0,96, 0,94 0,95, 0,94 0,94}

 

max{1,89; 1,89; 1,89; 1,88}

1,89 , при x2 (3) 0;1;2 .

u2 (2) max{ f2 (0) u1(2),

f2 (1) u1(1),

f2 (2) u1(0)}

max{0,93 0,96, 0,93 0,95, 0,94 0,94}

max{1,89; 1,88; 1,88}

1,89 , при x2 (2) 0 .

u2 (1) max{ f2 (0) u1(1), f2 (1) u1(0)}

max{0,93 0,95, 0,93 0,94}

max{1,88; 1,87}

1,88 , при x2 (1) 0 .

55

u2 (0) max{ f2 (0) u1(0)}

max{0,94 0,93}max{1,87}

1,87 , при x2 (0) 0 .

u3 (4) max{ f3 (0) u2 (4), f3 (1) u2 (3), f3 (2) u2

(2), f3 (3) u2 (1), f3 (4) u2 (0)}

 

max{0,92 1,90, 0,93 1,89, 0,94 1,89,

0,95 1,88, 0,95 1,87}

 

max{2,82; 2,82; 2,83; 2,83; 2,82}

2,83 , при x3 (4) 2;3.

Врезультате заполнения получаем таблицу 3:

Таблица 3

n

u1 (n)

x1 (n)

u2 (n)

x2 (n)

u3 (n)

x3 (n)

 

 

 

 

 

 

 

0

0,94

0

1,87

0

 

 

 

 

 

 

 

 

 

1

0,95

1

1,88

0

 

 

 

 

 

 

 

 

 

2

0,96

2

1,88

0

 

 

 

 

 

 

 

 

 

3

0,96

3

1,89

0;1;2

 

 

 

 

 

 

 

 

 

4

0,97

4

1,90

0;2;4

2,83

2;3

 

 

 

 

 

 

 

Из Таблицы 3 следует, что для достижения максимальной технической готовности 2,83 (значение u3 (4) ) необходимо отправить 2 или 3 пожарных автоцистерны в третью часть (значение x3 (4) ).

Разберём оба случая.

Если отправить 2 автоцистерны, то на 1-ую и 2-ую пожарную части останется 2 автоцистерны, и тогда максимальная техническая готовность по двум первым пожарным частям 1,88 ( u2 (2) ) достигается при x2 (2) 0 , то есть при отправке во вторую часть 0 автоцистерн. Таким образом, на 1-ую часть остается 2 автоцистерны.

Если в третью часть отправить 3 автоцистерны, то на 1-ую и 2-ую пожарную части останется 1 автоцистерна, и тогда максимальная техническая готовность по двум первым пожарным частям 1,88 ( u2 (1) ) достигается при x2 (1) 0 , то есть при отправке во вторую часть 0 автоцистерн. Таким образом, на 1-ую часть остается 1 автоцистерна.

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

x1 2, x2 0, x3 2 или

x1 1, x2 0, x3 3 .

56

Вопрос 4. Динамическое программирование и принцип максимума Понтрягина

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

Далее рассмотрим сходства и различия между:

1)принципом оптимальности Беллмана и принципом максимума Понтря-

гина;

2)синтезом оптимального управления и нахождением программного управления.

Покажем связь принципа оптимальности Беллмана и принципа максимума Понтрягина на примере задачи оптимального быстродействия:

T inf,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x,u),

x X ,

u U

x (t)

 

 

 

0

 

 

 

 

 

 

x

,

x (T ) 0,

 

x (0)

 

 

где x (x1, x2 ) , как и раньше, вектор фазовых переменных положения x1 и скорости x2 материальной точки.

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

x1 f1 (x,u),x2 f2 (x,u).

Предположим, что

1) для любой начальной точки x 0 X существует оптимальная траектория, приводящая в точку (0,0); обозначим через T (x 0 ) – полное время движения по этой траектории;

2) T (x) C1( 2 \ {(0,0)}) .

Определение. Функция B(x) T (x) называется функцией Беллмана для задачи оптимального быстродействия.

Так как, по принципу оптимальности, оптимальное время движения от начальной точки x 0 равно времени t плюс оптимальное время движения от точки xˆ(t) , то есть

B(xˆ(t)) B(x 0 ) t .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

Продифференцируем функцию B(x)

по t:

 

 

 

 

B

 

 

 

B

 

dx1

 

B

 

dx2

 

B

x

B

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

t

 

x 0

 

x1 dt

 

x2

 

 

dt

 

 

 

x1

x2

 

 

 

 

 

 

 

 

 

 

 

 

B

f (xˆ,uˆ)

B

 

f (xˆ,uˆ)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

1

 

 

 

 

x2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

ˆ

 

 

ˆ ˆ

 

 

 

1,

 

 

,

 

 

 

 

 

2

 

 

 

x1

x2

f1(x,u), f

(x,u) B f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где B f – производная функции B в точке x 0 вдоль векторной линии системы дифференциальных уравнений x f (x,u) (здесь обозначает скалярное произведение векторов). Эта же векторная линия является и оптимальной траекторией.

Пусть теперь движение сначала происходит из точки x 0 сначала по траектории xv (t) , соответствующей некоторому постоянному управлению u(t) v U . Через время dt мы попадем в точку xv (dt) . Если после этого использовать оптимальное управление в задаче с начальной точкой xv (dt) , то по

полученной составной траектории придем из точки

x 0 в (0,0) за время

dt T (xv (dt)) . Ясно, что

 

 

 

 

 

dt T (x (dt)) T (x 0 ) , т.е.

 

 

v

 

 

dt B(x (dt)) B(x 0 ) .

(1)

 

v

 

Считая dt достаточно малым, представим xv (dt) в виде

 

 

 

x (dt) x (0 dt) x 0

f

(x 0 ,v)dt

,

v

v

 

где используется приближенное вычисление с помощью дифференциала). Отсюда и из предположения 2) следует, что

B(x (t)) B(x 0 ) B

 

 

 

 

 

 

 

 

 

 

f

(x 0 ,v)dt .

v

x

 

 

 

 

 

 

 

x 0

 

 

 

 

 

 

 

 

Подставив последнее выражение вместо B(xv (t)) в (1), получим

 

B

 

 

 

 

 

 

 

dt

 

 

f

(x 0 ,v)dt o(t) 0 .

 

x

 

x 0

 

 

Разделив на dt и устремив dt к нулю, имеем при любом v:

B

 

 

 

 

 

 

 

 

 

f (x 0 ,v) 1.

x

 

 

x 0

 

58

Эти соотношения удобно записать в виде одного уравнения.

Уравнение Беллмана для задачи оптимального быстродействия:

B

 

 

 

B

 

 

 

1.

 

 

 

 

x

f (xˆ,uˆ) max

x

f (xˆ,v)

 

 

v U

 

 

 

 

 

Осталось сравнить полученное уравнение Беллмана с принципом максимума Понтрягина:

H ( , x(t),u(t)) max 1

f1

(x,v)

2

f2

(x,v)

 

 

ˆ ˆ

v U

 

ˆ

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

max (

1, 2 )

 

(xˆ(t),v)

 

 

 

 

 

 

f

,

 

 

 

 

 

v U

 

 

 

 

 

 

 

 

 

чтобы прийти к следующим выводам:

Выводы. Итак, если выполнены условия 1)-2) на функцию Беллмана, то

1) её производные B / xi могут служить как множители i в принципе максимума Понтрягина;

2) то есть, в каждый момент времени касательный вектор к оптимальной траектории дает максимум скалярного произведения с градиентом функции Беллмана, или, что тоже самое, дает максимум проекции на её градиент среди всех возможных в этот момент управлений.

Вопрос 5. Дискретизация задачи оптимального управления

В этом вопросе мы рассмотрим, как задачу оптимального управления (ОУ) можно свести к задаче ДП посредством дискретизации.

Причем, несмотря на то что уравнение Беллмана имеет более узкие условия применимости чем принцип максимума Понтрягина, подход ДП имеет преимущества, когда точное аналитическое решение задачи ОУ трудно или невозможно найти. Помимо этого, ДП, как мы увидим, может дать синтез оптимального управления, а не просто программное управления для конкретного начального условия. Недостатком же является огрубление модели задачи, со всеми потенциально вытекающими проблемами: неверифицируемость полученной модели, неустойчивость по начальным данным и так далее.

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

59

ковки (по дальности) корабля снабжения с космической станцией, с теми особенностями, что оптимальность по времени не является столь существенной, поскольку к ней добавляется требование минимизации расхода топлива.

Помимо этого, решение не обязано приводить в точку фазового пространства, поскольку допустимы вариации по конечной скорости, скажем с заданной погрешностью ± 0,15 м/c. Допущение, что двигатели коррекции могут выдать сколь угодно малую тягу, приводит к тому, что управляемый объект, пытаясь удовлетворить слишком жесткие ограничения, быстро растрачивает топливо, за счет постоянно включаемых двигателей.

Для ДП-модели задачи ОУ эти проблемы же усугубляются тем, что это модель второго порядка, то есть модель от модели.

Предположим, что существует оптимальное управление (xˆ(t),uˆ(t)) для нестационарной задачи ОУ:

 

J (x,u) T F (t, x(t),u(t)) dt extr,

 

 

 

t0

 

 

 

 

x f (t, x,u),

 

 

 

 

 

 

) x , u U.

 

 

x(t

 

 

 

0

0

 

 

 

Пусть [t0 ,T ],

x xˆ( ) .

 

 

 

Обозначим

 

 

 

 

 

 

 

 

 

ˆ

 

T

 

 

 

 

f (t, xˆ(t),uˆ(t)) dt .

 

 

 

J ( , x)

 

 

 

 

 

 

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

ˆ

J (t, x) с течением времени вдоль

оптимальной траектории xˆ(t) . Для этого рассмотрим малое приращение времени dt. За это время, система перейдет в новое состояние

xˆ(t dt) xˆ(t) dxˆ(t)

(приближенное вычисление с помощью дифференциала).

Имеем

dxˆ(t) f (t, xˆ(t),uˆ(t)) dt,

поскольку

1.dxˆ(t) xˆ(t)dt – дифференциал функции равен произведению её производной на дифференциал переменной.

2.xˆ(t) f (t, xˆ(t),uˆ(t)) – получается из уравнений движения задачи ОУ.

Изменение значения функционала за время dt приближенно равно

ˆ ˆ ˆ , dJ (t, x) F(t, x,u) dt

60

(поскольку в общем случае dF f dx , если F – первообразная для f ; в нашем случае, J есть первообразная для F), а оставшаяся часть, согласно принципу оп-

 

 

 

ˆ

ˆ

 

тимальности Беллмана, будет равна J t dt, x(t dt) . Таким образом, полу-

чено следующее рекуррентное соотношение:

 

 

ˆ

ˆ

 

ˆ ˆ

ˆ

ˆ

J (t, x(t)) F t, x(t),u(t) dt J t dt, x(t dt) .

Которое, пользуясь оптимальностью uˆ(t) , можно переписать как:

ˆ

 

 

F t, x(t),u(t) dt

ˆ

t dt, x(t dt) .

J t, x(t) = max

J

 

u(t ) U

 

 

 

В предположении дифференцируемости функции ˆ по всем своим

J (t, x)

аргументам, переходя к пределу при dt 0 и учитывая уравнения движения задачи ОУ, получим уравнение Беллмана в дифференциальной форме:

 

ˆ

 

ˆ

 

 

dJ (t, x(t))

= max F t, x(t),u(t)

dJ (t, x)

f t, x(t),u(t)

dt

dx

 

u (t ) U

 

Это уравнение представляет собой дифференциальное уравнение в част-

ных производных первого порядка для определения функции

ˆ

J (t, x) с нулевым

краевым условием.

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

 

 

N 1

 

 

 

J (x,u) F (ti , xi ,ui ) ti ,

 

 

i 0

 

 

 

 

x

x f (t , x ,u ) t

,

 

i 1

i

i

i i i

 

x(t

) x ,

u U

.

 

 

0

0

i

i

 

 

Замечание. Вспомним, что в дискретной задаче ДП состояние системы задается вектором фазовых переменных x (x0 , x1, , xN ) N 1 , а управление –

вектором управляющих переменных u (u

,u , ,u

N

)

N 1 .

 

0

1

 

 

Уравнение Беллмана принимает следующий вид:

 

ˆ

 

ˆ

 

 

 

Ji

(xi ) max F ti , xi ,ui ti +Ji 1( f (xi ,ui ))

 

ui Ui

 

 

 

 

с краевым условием

ˆ

 

 

 

 

JN (xN ) 0 .