opal/OptimalControl.md
2015-08-06 15:58:07 -04:00

3.5 KiB
Raw Blame History

Введение

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

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

Дискретная задача

Дискретную задачу оптимального управления можно рассматривать и описывать как многошаговый процесс. На каждом шагу такой процесс характеризуется набором переменных состояния (фазовых переменных) X = (xk1 ... xkn) и набором переменных управления U = (uk1 ... ukn). Если подробнее, то на каждом шаге процесс описывается некоторым набором значений, которых характеризуют его состояние, а также переменными, которых характеризуют воздействие на процесс.

Начальные условия

Изначально нам известны только стартовые параметры системы, а, так как процесс изменяется со временем, вычисляются с помощью заданной функции, которая определяет динамику процесса. В общем случае

f = f(xk, uk, k),

но может быть и так, что на каждом выбранном промежутке функция будет разной.

Условие оптимальности

В общем случае задача управления дискретным процессом состоит в нахождении такого допустимого процесса, при котором функция

I(U) = F(xq} + Sum( fi(xk, uk, k), i = 0 .. q-1 )

стремится к минимуму (максимуму). В этой функции F() - заданная функция.