Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
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].
Метод штрафных функций Рассмотрим задачу оптимального управления с фазовыми и смешанными ограничениями
Функции, входящие в постановку задачи, являются непрерывными по t, непрерывно дифференцируемыми по х и непрерывными по u. Будем решать эту задачу методом штрафных функций. Включим ограничения (4) и (5) в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:
Каждая из задач последовательности является задачей с закрепленным левым и свободным правым концом и решается по рассмотренной выше схеме. Начальным приближением для решения очередной задачи служит решение предыдущей задачи. Каждая последующая задача решается с большей точностью, чем предыдущая. Дискретная задача оптимального управления, аппроксимирующая непрерывную, имеет вид
Алгоритм метода штрафов
Практическая часть Включим фазовые ограничения из постановки задачи в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач: , , Проведем дискретную аппроксимацию поставленной задачи. Для этого разобъем отрезок [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].
Метод штрафных функций Рассмотрим задачу оптимального управления с фазовыми и смешанными ограничениями
Функции, входящие в постановку задачи, являются непрерывными по t, непрерывно дифференцируемыми по х и непрерывными по u. Будем решать эту задачу методом штрафных функций. Включим ограничения (4) и (5) в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач:
Каждая из задач последовательности является задачей с закрепленным левым и свободным правым концом и решается по рассмотренной выше схеме. Начальным приближением для решения очередной задачи служит решение предыдущей задачи. Каждая последующая задача решается с большей точностью, чем предыдущая. Дискретная задача оптимального управления, аппроксимирующая непрерывную, имеет вид
Алгоритм метода штрафов
Практическая часть Включим фазовые ограничения из постановки задачи в функционал с помощью штрафного слагаемого и перейдем к следующей последовательности задач: , , Проведем дискретную аппроксимацию поставленной задачи. Для этого разобъем отрезок [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; Просмотров: 618; Нарушение авторского права страницы