Решение задачи оптимального энергопотребления

Составим функцию Гамильтона для объекта управления:

(2.1)

Данная задача принадлежит к линейным оптимизационным задачам, поэтому кроме управления

,(2.2)

что определяется из (2.1), есть возможность существования вырожденного управления по . Для определения такого рода управления составим соотношение:

(2.3)

Дополнительная система относительно имеет вид:

(2.4)

(2.5)

(2.6)

Так как на конечном интервале времени, то и , а из (2.5) получим:

(2.7)

Таким образом, нетривиальное вырожденное решение может существовать. Координата x2 при ограниченном u(t) не может измениться скачком от нуля до

x2C ≠ 0, поэтому с учетом заданных граничных условий можно утверждать, что интервал с x2(t) = const = x2C должен находиться между интервалами с и .

Поскольку при подобных условиях ограничения, количество интервалов оптимального управления с законом не может превышать двух (независимо от вида корней характеристического уравнения объекта), то с учетом вырожденного управления и условия при оптимальное управление будет состоять из трех интервалов (пока что не учитывая ограничения по ), на первом из которых , на втором , а на третьем . Но если , то из

(2.8)

а из

,(2.9)

где - длительность первого интервала.

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

Рис. 2.1 - Закон оптимального управления

Для расчета параметров оптимального процесса составим уравнения движения на интервалах.

Первый интервал ()

(2.10)

(2.11)

Второй интервал ()

(2.12)

(2.13)

Третий интервал ()

(2.14)

,(2.15)

причем уравнения третьего интервала записаны для «обратного движения».

Сопоставляя уравнения (2.10) - (2.15) с учетом, что tk = 2.86, получим систему относительно неизвестных t1, t3 и x2C:

Для решения системы также воспользуемся функцией MatLab fsolve(). Вызов функции будет выглядеть следующим образом:

[X] = fsolve( @Nekit_func2,[0,0,0], foptions )

,(2.16)

Где @Nekit_func2 - ссылка на М-функцию, в которой указывается уравнение или

система уравнений, подлежащие решению.

[0,0,0] - массив начальных приближений, используемый для расчета неизвестных системы; количество значений соответствует количеству неизвестных.

foptions - переменная системы, используемая для внутренних расчетов

[Х] - матрица выходных данных, в которую будут помещены результаты расчета; количество элементов соответствует количеству неизвестных системы.

Перейти на страницу: 1 2

Другое по теме:

Оценивание суммарной погрешности СИ
Структурная схема анализируемого СИ: Блоки 1, 3-6 безынерционные с коэффициентами преобразования К1 = 1; К3=10; К4 = 50; К5 = 5; К6 =  = 0,2. На выходе преобразователя, образуемого блоками 1 - 6, включен в ...

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

©  www.techvarious.ru - 2021