ПРИНЦИП МАКСИМУМА ПОНТРЯГИНА Задача. Определить оптимальное программное управление 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