Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чис_мет_3.doc
Скачиваний:
29
Добавлен:
13.11.2019
Размер:
1.34 Mб
Скачать

4.2.2. Алгоритм метода.

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

Шаг 1. Задать управление “нулевого” приближения

u0(t)=( u10 (t), u20 (t), …, ur0 (t)), "tÎ[t0, tk ].

Шаг 2. Проинтегрировать от t= t0 до t= tk систему (4.1)

= fi (t, X(t), u0(t)), i=1,...,n ,

с начальными условиями (4.2) методом РунгеКутта с постоянным шагом h. Получить тем самым X0(t)=( x10 (t), x20 (t), …, xn0 (t)), "tÎ[t0, tk ] и значения фазовых координат xi0 (tk) , i=1,...,n в конечный момент времени t=tk.

Шаг 3. Вычислить значение функционала (4.3) на управлении “нулевого” приближения

,

Например, по формуле Симпсона

,

где обязательно должно быть h= .

Вычисление функционала по приведенной формуле можно заменить интегрированием совместно с системой (4.1) уравнения

(t)=f0 (t, X0(t), u0(t)), xn+1 (t0)=0.

Тогда значение функционала найдется так

I[u0(t)] = x0n+1 (tk).

Шаг 4. Если требуется вычислить функции влияния , i=1,...,r, то следующим выполняется шаг 5, иначе идти к шагу 9.

Шаг 5. Проинтегрировать в направлении от t= tk до t= t0 каноническую систему (4.1), (4.9)

с “начальными” условиями xi(tk)= xik, i=1,...,n; li(tk)= 0, i=1,...,n; где xik, i=1,...,n– полученные на шаге 2 значения фазовых координат в момент времени tk .

Шаг 6. Вычислить функции влияния

, i=1,...,r, "tÎ[t0, tk ].

Шаг 7. Вычислить поправки управляющих воздействий

dui(t)=q× , i=1,...,r, "tÎ[t0, tk ],

где q – заранее заданная достаточно малая положительная величина- шаговый коэффициент.

Шаг 8. Вычислить новое “улучшенное” управление

ui(t)=ui0(t) + dui(t), i=1,...,r, "tÎ[t0,tk]

и приступить к выбору надлежащего значения шагового коэффициента q путем повторения вычислений, начиная с шага 2 (но уже без вычислений функций влияния).

Шаг 9. Сравнить новое значение функционала I=I[u0+q ] с его предыдущим значением I0=I[u0(t)].

Если выполняется условие I0³I, то следует уменьшать шаг

q=b×q, bÎ(0,1)

с последующим вычислением нового управления u(t)=u0(t) + q и соответствующего ему значения функционала I до тех пор, пока не будет достигнуто требуемое условие I0>I.

Если же уже при начальном значении шагового коэффициента получится I0<I, то можно попытаться увеличить шаг

q=a×q, a>1

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

Шаг 10. Проверить условие

I[u0+du]-I[u0] £e,

где e наперед заданное достаточно малое положительное число, определяющее точность результата.

Если условие выполняется, то оптимальное управление найдено и решение задачи следует прекратить; иначе – выполнить следующую итерацию, повторив все вычисления, начиная с шага 2.

4.2.3. Порядок выполнения лабораторной работы.

  1. Записать постановку задачи в соответствии с конкретным вариантом задания.

  2. Изучив алгоритм градиентного метода первого порядка, записать алгоритм решения своей задачи.

  3. Разработать блок-схему программы, реализующей данный алгоритм.

  4. Ввести в программу исходные данные, соответствующие своему варианту задания, и получить приближенно оптимальное управление ( u1(t), u2(t) ) и траекторию ( x1(t), x2(t)).

  5. Повторить счет, изменив значения параметров алгоритма q, a, b с целью улучшения процесса сходимости.

  6. По результатам счета построить графики x1(t), x2(t), u1(t), u2(t) на первой, одной из промежуточных и последней итерациях.

  7. На основании анализа результатов счета сделать вывод об особенностях решения задачи градиентным методом.