Uploaded by Михаил Припотнев

Методы и теория оптимизации, примеры задач на максимум Понтрягина

advertisement
ПРИНЦИП МАКСИМУМА ПОНТРЯГИНА
Задача. Определить оптимальное программное управление u*(t) и оптимальную
траекторию x*(t) в следующих задачах максимального быстродействия:
а) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢, |𝑢| ≤ 1, 𝑥(0) = 0, 𝑥1 (𝑡𝑓 ) = 10, 𝑥2 (𝑡𝑓 ) = 0, 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜓2 = С2 − С1 𝑡
𝜕𝐻
𝜓2̇ = −
= −𝜓1 ⇒ 𝐶1 ⋅ 0 + 𝜓2 𝑢 = 1
𝜕𝑥1
1
𝑢=
𝜕𝐺
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1 {
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – максимум достигается при граничных значениях
|𝑢|≤1
|𝑢|≤1
1,
{−1,
u=
[
−1,
{ 1,
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
𝑡,
0 ≤ 𝑡 < 𝑡1
𝑥2 = {С − 𝑡 = 2𝑡 − 𝑡,
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2
1
𝑡1 = 𝐶2 − 𝑡1 ⇒ 𝐶2 = 2𝑡1
𝑥2 (𝑡𝑓 ) = 0 ⇒ 2𝑡1 − 𝑡𝑓 = 0
𝑥1 =
𝑡2
2
0 ≤ 𝑡 < 𝑡1
𝑡2
𝑡2
2𝑡
𝑡
−
+
𝐶
=
2𝑡
𝑡
−
− 𝑡12 , 𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
3
1
{ 1
2
2
2𝑡12 −
𝑡12
𝑡12
+ 𝐶3 = ⇒ 𝐶3 = −𝑡12
2
2
𝑥1 (𝑡𝑓 ) = 10 ⇒ 2𝑡1 𝑡𝑓 −
𝑡𝑓2
− 𝑡12 = 10
2
2𝑡1 − 𝑡𝑓 = 0
2𝑡1 = 𝑡𝑓
𝑡 = √40
{
⇒{ 2
⇒ { 𝑓2
𝑡2
2
2
2
4𝑡1 − 2𝑡1 − 𝑡1 = 10
2𝑡1 𝑡 − − 𝑡1 = 10
𝑡1 = 10
2
𝑢∗ = {
𝑥2∗ = {
1, 0 ≤ 𝑡 < √10
−1, √10 ≤ 𝑡 ≤ √40
𝑡, 0 ≤ 𝑡 < √10
√40 − 𝑡,
√10 ≤ 𝑡 ≤ √40
𝑡2
,
0 ≤ 𝑡 < √10
2
∗
𝑥1 =
𝑡2
−
− 10, √10 ≤ 𝑡 ≤ √40
√40𝑡
{
2
б) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢, |𝑢| ≤ 1, 𝑥(0) = 0, 𝑥1 (𝑡𝑓 ) = 10, 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜕𝐻
𝜓2 = С2 − С1 𝑡
𝜓2̇ = −
= −𝜓1 ⇒
1
𝜕𝑥1
𝑢=
𝜕𝐺
{
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – управление не переключается (x2(tf) не задано),
|𝑢|≤1
|𝑢|≤1
следовательно 𝑢 = 1 ⋅ 𝑠𝑖𝑔𝑛(𝜓2 )
𝑢∗ = 1,
𝑥2∗ = 𝑡,
𝑥1 (𝑡𝑓 ) = 10 ⇒
𝑥1∗ =
𝑡2
, 0 ≤ 𝑡 ≤ √20
2
𝑡𝑓2
= 10 ⇒ 𝑡𝑓 = √20
2
в) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢, |𝑢| ≤ 1, 𝑥(0) = 0, 𝑥1 (𝑡𝑓 ) = 10, 𝑥2 (𝑡𝑓 ) = 5 , 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜓2 = С2 − С1 𝑡
𝜕𝐻
𝜓2̇ = −
= −𝜓1 ⇒ 𝐶1 ⋅ 0 + 𝜓2 𝑢 = 1
𝜕𝑥1
1
𝑢=
𝜕𝐺
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1 {
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – максимум достигается при граничных значениях
|𝑢|≤1
|𝑢|≤1
1,
{−1,
u=
[
−1,
{ 1,
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
𝑡,
0 ≤ 𝑡 < 𝑡1
𝑥2 = {С − 𝑡 = 2𝑡 − 𝑡,
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2
1
𝑡1 = 𝐶2 − 𝑡1 ⇒ 𝐶2 = 2𝑡1
𝑥2 (𝑡𝑓 ) = 5 ⇒ 2𝑡1 − 𝑡𝑓 = 5
𝑥1 =
𝑡2
2
0 ≤ 𝑡 < 𝑡1
𝑡2
𝑡2
2𝑡
𝑡
−
+
𝐶
=
2𝑡
𝑡
−
− 𝑡12 , 𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
3
1
{ 1
2
2
2𝑡12
𝑡12
𝑡12
− + 𝐶3 = ⇒ 𝐶3 = −𝑡12
2
2
𝑡𝑓2
𝑥1 (𝑡𝑓 ) = 10 ⇒ 2𝑡1 𝑡𝑓 − − 𝑡12 = 10
2
2𝑡1 − 𝑡𝑓 = 5
2𝑡1 − 5 = 𝑡𝑓
𝑡𝑓 = 3√10 − 5 ≈ 4,49
2
2
{
⇒{
⇒{
𝑡𝑓
(2𝑡1 − 5)
3
2𝑡1 (2𝑡1 − 5) −
− 𝑡12 = 10
2𝑡1 𝑡𝑓 − − 𝑡12 = 10
𝑡1 = √10 ≈ 4,74
2
2
2
𝑡𝑓 < 𝑡1 ⇒ решения нет
г) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢, |𝑢| ≤ 1, 𝑥1 (0) = 0, 𝑥2 (0) = 5, 𝑥1 (𝑡𝑓 ) = 10, 𝑥2 (𝑡𝑓 ) = 0, 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜓2 = С2 − С1 𝑡
𝜕𝐻
𝜓2̇ = −
= −𝜓1 ⇒ 𝐶1 ⋅ 0 + 𝜓2 𝑢 = 1
𝜕𝑥1
1
𝑢=
𝜕𝐺
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1 {
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – максимум достигается при граничных значениях
|𝑢|≤1
|𝑢|≤1
1,
u = {−1,
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
𝑥2 (0) = 5
𝑡 + 5,
0 ≤ 𝑡 < 𝑡1
𝑥2 = {С − 𝑡 = 2𝑡 + 5 − 𝑡,
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2
1
𝑡1 = 𝐶2 − 𝑡1 ⇒ 𝐶2 = 2𝑡1
𝑥2 (𝑡𝑓 ) = 0 ⇒ 2𝑡1 + 5 − 𝑡𝑓 = 0
𝑥1 =
𝑡2
+ 5𝑡
2
0 ≤ 𝑡 < 𝑡1
𝑡2
𝑡2
2
{2𝑡1 𝑡 + 5𝑡 − 2 + 𝐶3 = 2𝑡1 𝑡 + 5𝑡 − 2 − 𝑡1 , 𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2𝑡12
𝑡12
𝑡12
+ 5𝑡1 − + 𝐶3 = + 5𝑡1 ⇒ 𝐶3 = −𝑡12
2
2
𝑡𝑓2
𝑥1 (𝑡𝑓 ) = 10 ⇒ 2𝑡1 𝑡𝑓 + 5𝑡𝑓 − − 𝑡12 = 10
2
2𝑡1 + 5 − 𝑡𝑓 = 0
𝑡𝑓 = 3√10 − 5
2𝑡1 + 5 = 𝑡𝑓
2
{
⇒{ 2
⇒{
𝑡𝑓
3
4𝑡1 − 2𝑡12 − 𝑡12 = 10
2𝑡1 𝑡𝑓 + 5𝑡𝑓 − − 𝑡12 = 10
𝑡1 = √10 − 5
2
2
t1 < 0 – следовательно, нет решения
д) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢, |𝑢| ≤ 1, 𝑥1 (0) = 5, 𝑥2 (0) = 0, 𝑥1 (𝑡𝑓 ) = 10, 𝑥2 (𝑡𝑓 ) = 0, 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜓2 = С2 − С1 𝑡
𝜕𝐻
𝜓2̇ = −
= −𝜓1 ⇒ 𝐶1 ⋅ 0 + 𝜓2 𝑢 = 1
𝜕𝑥1
1
𝑢=
𝜕𝐺
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1 {
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – максимум достигается при граничных значениях
|𝑢|≤1
|𝑢|≤1
1,
u = {−1,
0 ≤ 𝑡 < 𝑡1
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
𝑥2 (0) = 0
𝑡,
0 ≤ 𝑡 < 𝑡1
𝑥2 = {С − 𝑡 = 2𝑡 − 𝑡,
𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2
1
𝑡1 = 𝐶2 − 𝑡1 ⇒ 𝐶2 = 2𝑡1
𝑥2 (𝑡𝑓 ) = 0 ⇒ 2𝑡1 − 𝑡𝑓 = 0
𝑡2
+5
2
𝑥1 =
{2𝑡1 𝑡 + 5 −
0 ≤ 𝑡 < 𝑡1
𝑡2
𝑡2
+ 𝐶3 = 2𝑡1 𝑡 − − 𝑡12 + 5, 𝑡1 ≤ 𝑡 ≤ 𝑡𝑓
2
2
2𝑡12 + 5 −
𝑡12
𝑡12
+ 𝐶3 = + 5 ⇒ 𝐶3 = −𝑡12
2
2
𝑥1 (𝑡𝑓 ) = 10 ⇒ 2𝑡1 𝑡𝑓 + 5 −
𝑡𝑓2
− 𝑡12 = 10
2
2𝑡1 − 𝑡𝑓 = 0
{
2𝑡1 = 𝑡𝑓
𝑡𝑓 = √20
⇒{ 2
⇒{
𝑡𝑓2
2
2
2
4𝑡
−
2𝑡
−
𝑡
=
10
2𝑡1 𝑡𝑓 + 5 − − 𝑡1 = 10
1
1
1
𝑡1 = √5
2
𝑢∗ = {
𝑥2∗ = {
1, 0 ≤ 𝑡 < √5
−1, √5 ≤ 𝑡 ≤ √20
𝑡, 0 ≤ 𝑡 < √5
√5 ≤ 𝑡 ≤ √20
√20 − 𝑡,
𝑡2
+ 5,
0 ≤ 𝑡 < √5
𝑥1∗ = 2
𝑡2
{√5𝑡 − 2 , √5 ≤ 𝑡 ≤ √20
ж) 𝑥1̇ = 𝑥2 , 𝑥2̇ = 𝑢 − 1, |𝑢| ≤ 2, 𝑥(0) = 0, 𝑥1 (𝑡𝑓 ) = 10, 𝐽 = 𝑡𝑓 → 𝑚𝑖𝑛
1) Проверка условия нормальности:
0 1
1
0 1
0
𝐴=[
] , 𝐵 = [ ] , 𝐴𝐵 = [ ] ⇒ 𝑁 = [
] ⇒ |𝑁| = −1 ≠ 0 – условие выполнено
0 0
0
1 0
1
−𝑠 1
2) |𝐴 − 𝐼𝑠| = |
| = 𝑠 2 ⇒ 𝑠 = 0 ∈ 𝑹 ⇒ не более 1 переключения
0 −𝑠
3) Функция Понтрягина, сопряжённые уравнения и терминант
𝐻 = 𝜓1 𝑥2 + 𝜓2 𝑢
𝐺 = −𝑡𝑓
𝜓1̇ = −
𝜕𝐻
𝜕𝑥1
𝜓1 = 𝐶1
𝜕𝐻
𝜓2 = С2 − С1 𝑡
𝜓2̇ = −
= −𝜓1 ⇒
1
𝜕𝑥1
𝑢=
𝜕𝐺
{
𝐶2 − 𝐶1 𝑡
𝐻(𝑡𝑓 ) = −
=1
𝜕𝑡𝑓
{
4) max 𝐻 = 𝜓1 𝑥2 + max 𝜓2 𝑢 – управление не переключается (x2(tf) не задано),
|𝑢|≤1
|𝑢|≤1
следовательно 𝑢 = 2 ⋅ 𝑠𝑖𝑔𝑛(𝜓2 )
𝑢∗ = 2,
𝑥2∗ = 𝑡,
𝑥1 (𝑡𝑓 ) = 10 ⇒
𝑥1∗ =
𝑡2
, 0 ≤ 𝑡 ≤ √20
2
𝑡𝑓2
= 10 ⇒ 𝑡𝑓 = √20
2
Download