Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Double f(mass x, mass u,int j,int l)



ОТЧЕТ

 

 

По лабораторной работе №5

 

по курсу Теория оптимального управления

 

Метод штрафных функций

 

ОГУ 010200.6006.02 О

 

 

Руководитель

_____________ Иванова Ю.П.

“___ ”______________2011 г.

Исполнитель

студент гр. 08 ПриМ

_______________Кияева Е. А.

“___ ” _____________2011 г.

 

 

Оренбург 2011

Содержание

 

Постановка задачи………………………………………………………..3

Метод штрафных функций………………………………………………4

Практическая часть……………………………………………………….8

Приложение А – Листинг программы………………………………….12

 

Постановка задачи

Требуется решить методом штрафных функций следующую задачу.

Найти минимум функционала

 

 

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

,  

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

 

Фазовые ограничения

,  

и управление почти всюду на [0, Т] удовлетворяют ограничениям

,  

 

где Т – фиксировано и принимает значение из отрезка [3, 20].

 

Метод штрафных функций

Рассмотрим задачу оптимального управления с фазовыми и смешанными ограничениями

 

, (1)
, (2)
, (3)
, (4)
, , (5)
где , , (6)
: ,  
: .  

 

Функции, входящие в постановку задачи, являются непрерывными по t, непрерывно дифференцируемыми по х и непрерывными по u. Будем решать эту задачу методом штрафных функций.

Включим ограничения (4) и (5) в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:

 

(7)
, (8)
, (9)
, (10)
где , .  

 

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

(11)
, , (12)
, (13)
, . (14)

 

 

Алгоритм метода штрафов

Шаг Действие
Выбирать начальное значение коэффициента штрафа ;
Задать начальное приближение управления – допустимый набор где ;
  Построить начальную траекторию: , где , используя разностные уравнения и начальные условия:
  Вычислить начальное приближение целевой функции :
  Положить, что − решение -ой задачи в методе штрафных функций;
Переход к следующему шагу метода штрафных функций. Увеличить коэффициент штрафа ( − постоянный множитель):
Вычислить сопряженные переменные по формулам   ;
Вычислить управление по формуле
Вычислить соответствующую этому управлению траекторию
Вычислить очередное приближение целевой функции ;
Проверить условие монотонности: если , то переход к шагу 12, иначе − − переход к шагу 14;
Проверить, достигнута ли заданная точность вычислений в итерационном методе. Если и , то переход к шагу 14, иначе – к шагу 13;
Положить , переход к шагу 7;
Положить, что − решение задачи в методе штрафных функций;
Проверить, выполнена ли точность вычислений в методе штрафных функций: если и , то переход к шагу 18, иначе – к шагу 16;
Положить
Увеличить точность вычислений при решении очередной задачи: и перейти к шагу 6;
Принять за решение исходной задачи . Конец алгоритма.

 

Практическая часть

Включим фазовые ограничения из постановки задачи в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:

,

,

Проведем дискретную аппроксимацию поставленной задачи. Для этого разобъем отрезок [0; 2π ] точками на q частей. Обозначим значения в точках разбиения следующим образом:

Для приближенного вычисления минимизируемого функционала воспользуемся формулой левых прямоугольников

Для аппроксимации дифференциального уравнения воспользуемся схемой Эйлера, то есть

C начальными условиями

и ограничениями на управление

Составим функцию Лагранжа

Условие стационарности по x

Условие стационарности по x используем для вычисления сопряженных переменных.

Найдем частные производные от функции Лагранжа по управлению

С помощью метода штрафных функций получим решение дискретной задачи (рисунок 1).

 

 

Приложение А

(обязательное)

Листинг программы


TForm1 *Form1;

int q, n=2;

 

double a=-0.1;

 

double T=20, t0=3;

 

double dt;

 

typedef double **mass;

 

typedef double *mas;

 

Double f(mass x, mass u, int j, int l)

{

switch (j)

{

case 0: return x[0][l]+0.1*x[1][l]-u[0][l];

case 1: return 0.1*x[0][l]+a*x[1][l]-u[1][l];

}

}

Double F0(mass x, mass u, int l)

{

return x[0][l]+x[1][l]+0.1*(u[0][l]+u[1][l]);

}

 

 

Double FI(mass x)

{

return 0;

}

 

Double dF0x(mass x, int j)

{

switch (j)

{

case 0: return 1;

case 1: return 1;

}

}

 

 

Double dF0u(mass x, double dt, int j)

{

switch (j)

{

case 0: return 0.1;

case 1: return 0.1;

}

}

 

Double g1(mass x, int l)

{

if ((-x[0][l])< =0) return 0;

else return (-x[0][l]);

}

Double g2(mass x, int l)

{

if (-x[1][l]< =0) return 0;

else return (-x[1][l]);

}

Mass Proecz (int n, mass u)

{

for (int i=0; i++; i< n)

{

if (u[0][i]> 1)

{

u[0][i]=1;

u[1][i]=0;

}

if (u[1][i]> 1)

{

u[0][i]=0;

u[1][i]=1;

}

if (u[0][i]< 0)

{

u[0][i]=0;

u[1][i]=1;

}

if (u[1][i]< 0)

{

u[0][i]=1;

u[1][i]=0;

}

if (u[0][i]> 0 & & u[0][i]< 1)

{

u[1][i]=1-u[0][i];

}

if (u[1][i]> 0 & & u[1][i]< 1)

{

u[0][i]=1-u[1][i];

}

}

}

 

mass prisw(mass a, mass b)

{

for (int j=0; j< =q; j++)

 

for (int i=0; i< n; i++)

 

a[i][j]=b[i][j];

 

return a;

}

 

ОТЧЕТ

 

 

По лабораторной работе №5

 

по курсу Теория оптимального управления

 

Метод штрафных функций

 

ОГУ 010200.6006.02 О

 

 

Руководитель

_____________ Иванова Ю.П.

“___ ”______________2011 г.

Исполнитель

студент гр. 08 ПриМ

_______________Кияева Е. А.

“___ ” _____________2011 г.

 

 

Оренбург 2011

Содержание

 

Постановка задачи………………………………………………………..3

Метод штрафных функций………………………………………………4

Практическая часть……………………………………………………….8

Приложение А – Листинг программы………………………………….12

 

Постановка задачи

Требуется решить методом штрафных функций следующую задачу.

Найти минимум функционала

 

 

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

,  

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

 

Фазовые ограничения

,  

и управление почти всюду на [0, Т] удовлетворяют ограничениям

,  

 

где Т – фиксировано и принимает значение из отрезка [3, 20].

 

Метод штрафных функций

Рассмотрим задачу оптимального управления с фазовыми и смешанными ограничениями

 

, (1)
, (2)
, (3)
, (4)
, , (5)
где , , (6)
: ,  
: .  

 

Функции, входящие в постановку задачи, являются непрерывными по t, непрерывно дифференцируемыми по х и непрерывными по u. Будем решать эту задачу методом штрафных функций.

Включим ограничения (4) и (5) в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:

 

(7)
, (8)
, (9)
, (10)
где , .  

 

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

(11)
, , (12)
, (13)
, . (14)

 

 

Алгоритм метода штрафов

Шаг Действие
Выбирать начальное значение коэффициента штрафа ;
Задать начальное приближение управления – допустимый набор где ;
  Построить начальную траекторию: , где , используя разностные уравнения и начальные условия:
  Вычислить начальное приближение целевой функции :
  Положить, что − решение -ой задачи в методе штрафных функций;
Переход к следующему шагу метода штрафных функций. Увеличить коэффициент штрафа ( − постоянный множитель):
Вычислить сопряженные переменные по формулам   ;
Вычислить управление по формуле
Вычислить соответствующую этому управлению траекторию
Вычислить очередное приближение целевой функции ;
Проверить условие монотонности: если , то переход к шагу 12, иначе − − переход к шагу 14;
Проверить, достигнута ли заданная точность вычислений в итерационном методе. Если и , то переход к шагу 14, иначе – к шагу 13;
Положить , переход к шагу 7;
Положить, что − решение задачи в методе штрафных функций;
Проверить, выполнена ли точность вычислений в методе штрафных функций: если и , то переход к шагу 18, иначе – к шагу 16;
Положить
Увеличить точность вычислений при решении очередной задачи: и перейти к шагу 6;
Принять за решение исходной задачи . Конец алгоритма.

 

Практическая часть

Включим фазовые ограничения из постановки задачи в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:

,

,

Проведем дискретную аппроксимацию поставленной задачи. Для этого разобъем отрезок [0; 2π ] точками на q частей. Обозначим значения в точках разбиения следующим образом:

Для приближенного вычисления минимизируемого функционала воспользуемся формулой левых прямоугольников

Для аппроксимации дифференциального уравнения воспользуемся схемой Эйлера, то есть

C начальными условиями

и ограничениями на управление

Составим функцию Лагранжа

Условие стационарности по x

Условие стационарности по x используем для вычисления сопряженных переменных.

Найдем частные производные от функции Лагранжа по управлению

С помощью метода штрафных функций получим решение дискретной задачи (рисунок 1).

 

 

Приложение А

(обязательное)

Листинг программы


TForm1 *Form1;

int q, n=2;

 

double a=-0.1;

 

double T=20, t0=3;

 

double dt;

 

typedef double **mass;

 

typedef double *mas;

 

double f(mass x, mass u, int j, int l)

{

switch (j)

{

case 0: return x[0][l]+0.1*x[1][l]-u[0][l];

case 1: return 0.1*x[0][l]+a*x[1][l]-u[1][l];

}

}


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-08-31; Просмотров: 577; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.109 с.)
Главная | Случайная страница | Обратная связь