Визначення екстремуму цільової функції оптимальності при заданих обмеженнях

Обмеження на фазові координати об’єкту керування. Принципи побудови самонастроюваних систем за сигналами зовнішніх впливів. Характеристика параметрів закону керування. Алгоритм пошуку екстремуму функції. Розгляд програмного коду програми його пошуку.

Рубрика Математика
Вид практическая работа
Язык украинский
Дата добавления 23.06.2015
Размер файла 502,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Міністерство освіти та науки України

Національний авіаційний університет

Кафедра АКІК

Домашня робота

з дисципліни:

Адаптивні та оптимальні системи керування і контролю

На тему: «Визначення екстремуму цільової функції оптимальності при заданих обмеженнях»

керування екстремум координати алгоритм

Завдання

Домашня робота складається з двох частин - теоретичної і практичної

У теоретичній частині студент має скласти відповіді на запитання згідно власного варіанту. Питання студент обирає з питань до МКР1 і МКР2. Відповіді мають бути розгорнутими і обґрунтованими, з необхідними ілюстраціями.

В другій, практичній частині студент має розв'язати практичну задачу з теми: "Дослідження функції багатьох змінних на екстремум".

Практична частина має містити:

стислий теоретичний опис призначеного метода пошуку екстремуму;

побудова алгоритму;

написання програми до обраного чисельного методу;

застосування програми до визначення точок екстремуму;

аналітичне визначення координат точок екстремуму.

Теоретичне завдання:

1. Постановка задачі оптимального керування.

2. Детерміновані методи пошуку екстремуму в системах екстремального керування. Практичне завдання: знайти координати точок з області визначення заданої функції, у яких вона досягає екстремальних значень, зазначеним методом дослідження.

Вхідні данні:

Функція:

F1(x1, x2) = (n+1)/2·x13 + x1x22 + (n+8)/3·x12 + x22, n = 3

Метод:

Метод прямого пошуку, n = 3

Зміст розрахунково-пояснювальної записки

Завдання.

Зміст.

Теоретична частина.

Практична частина.

Список використаної літератури.

Додатки

2. Теоретична частина

Обмеження на фазові координати ОК і параметри закону керування.

Обмеження, що накладають на фазові координати об'єкта, по своїй фізичній сутності діляться на два різних види: умовні й безумовні. До умовних обмежень ставляться такі, які в процесі роботи можуть бути фізично порушено, хоча це й неприпустимо за умовами нормальної роботи. Безумовні обмеження - це обмеження, які фізично не можуть бути порушені.

У загальному виді обмеження на фазові координати записуються у вигляді системи нерівностей

,

яка виділяє в просторі фазових координат область припустимих станів системи (область Г). Обмеження на керуючі впливи також задають у вигляді системи нерівностей , яка визначає в просторі керуючих впливів область припустимих керувань (область Щ). Звичайно область є замкнутою.

Іноді обмеження носять складний характер й, зокрема, задаються у вигляді функціонала

.

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

Постановка задачі оптимального керуванні. Нехай об'єкт керування описується системою диференціальних рівнянь . На вектор фазових координат і вектор керуючих впливів накладені обмеження

Нехай у загальному випадку необхідно перевести об'єкт керування протягом інтервалу часу початкового стану в кінцеве .

Потрібно серед всіх припустимих керувань , що переводять об'єкт із початкового стану в кінцеве (якщо воно існує), знайти таке, для якого функціонал приймає екстремальне (мінімальне або максимальне) значення.

Керування , що дає рішення поставленої задачі, називається оптимальним керуванням, а фазова траєкторія , що відповідає оптимальному керуванню, - оптимальною траєкторією. Аналізуючи задачу оптимального керування, можна виділити в ній наступні елементи: функціонал, граничні (граничні) умови, інтервал керування, обмеження на фазові координати й керування. По способах завдання цих елементів класифікуються задачі оптимального керування. Розглянемо найбільш характерні з них.

Задача максимальної швидкодії. Ця задача зводиться до визначення такого керування , що забезпечує мінімальний час переходу системи з початкового стану в кінцеве. Критерій максимальної швидкодії можна одержати, поклавши у функціоналі задачі Лагранжа:

.

Задача на мінімум витрати палива (ресурсу). Подібна задача виникає, коли керуючі впливи з'являються за рахунок витрати палива або робітника тіла, запаси яких обмежені. Уважаючи, що вектор керування є результат витрати палива, функціонал даної задачі приймає вид

.

Керування, обране виходячи з мінімуму даного функціонала, забезпечує мінімальні витрати палива.

Задача на мінімум енергії керування. У ряді задач керування потужність, затрачувана на керування, пропорційна квадрату керуючого впливу. Тоді для декількох керуючих впливів загальна енергія, витрачена на керування, може бути представлена у вигляді функціонала

Якщо вибрати вектор керування з умови, що досягається мінімум даного функціонала, то переклад керованого об'єкта з початкового стану в кінцеве буде здійснюватися з мінімальними витратами енергії.

Задача аналітичного конструювання оптимальних регуляторів. Ця задача відрізняється від раніше- розглянутих тим, що потрібно знайти не оптимальний закон зміни керування в часі, а аналітичні функції, що зв'язують складові вектора керуючих впливів з вектором фазових координат (як правило, відхилень від усталеного руху), тобто рівняння оптимального регулятора. У загальному випадку тут використаються функціонали змішаного типу;

.

3. Принципи побудови самонастроюваних систем за сигналами зовнішніх впливів

Суть методу у виборі випадковим образом точки, у якій обчислюють значення цільової функції . Далі аналогічно вибирають іншу точку, де також розраховують значення оптимизируемой функції й порівнюють його з раніше отриманим. Якщо нове значення виявляється менше (більше) попереднього, то це значення запам'ятовується разом з координатами точки, для якої воно було обчислено. Потім продовжують вибір випадкових точок і порівнюють значення цільової функції в цих точках із уже знайденими. Щораз, коли виходить менше (більше) значення цільової функції, воно запам'ятовується разом з відповідними значеннями координат, після чого триває пошук максимального наближення до оптимуму.

Теоретично при використанні такої стратегії й досить великій кількості випробувань можна досягти як завгодно високого ступеня точності у визначенні положення оптимуму.

Однак на практиці використання методу сліпого пошуку істотно обмежується розмірністю розв'язуваної задачі і складністю обчислення значень цільовий функцій.

Практична частина

1. Пошук екстремума.

Знайдемо аналітичним шляхом точки екстремуму:

F1(x1, x2) = (n+1)/2·x13 + x1x22 + (n+8)/3·x12 + x22, n = 3

F1(x1, x2) = 2·x13 + x1x22 + 3,67·x12 + x22

Знайдемо часткові похідні заданої функції:

З другого рівняння знайдемо точку екстремуму x2 = 0. Підставимо отримане значення у перше рівняння та отримаємо значення другої координати екстремуму x1:

Отже, маємо дві точки екстремуму:

2. Побудуємо за допомогою Маtlab графік поверхні заданої функції. Це можна зробити за допомогою наступного коду:

[X1,X2]=meshgrid([-3:0.15:3]);

Z=(2*X1.^3+X1*X2.^2+3.67*X1.^2 + X2.^2);

meshc(X1,X2,Z);

Отримаємо такі графіки поверхні:

4. Алгоритм пошуку екстремуму функції

У якості методу прямого пошуку візьмемо метод Гауса-Зейделя. Алгоритм цього методу наступний:

Встановлюємо черговість зміни координат X1, X2, …, Xn. Спочатку робиться крок Дxi по першій координаті та виявляється знак викликаної цим кроком зміни ДJ. Якщо крок виявився хибним, потрібно змінити його напрям та зробити наступні кроки по тій самій координаті доти, доки ДJ не стане рівним 0 (або не змінить знак). Як тільки це трапиться, необхідно зробити крок по наступній координаті та продовжувати процедуру аналогічним шляхом. Зображення ідеальної траєкторії руху до екстремуму у площині двох змінних зображено на рисунку, де тонкими лініями зображені лінії J = const. Вигляд траєкторії суттєво залежить від розташування початкової точки та форми поверхні. Лінія J відповідає найбільш кращому розташуванню, прихід до екстремуму проходить за один цикл зміни лише координати X1. При цьому ж розташуванні осей, але іншому розташуванні початкової точки на поверхні, наближення до екстремуму проходить за декілька етапів (крива 2) і процес пошуку подовжується.

Алгоритм програми:

Двічі надаємо приросту початковій точці Х0 - отримаємо x1=x+dx та x2=x1+dx;

Обчислюємо значення функції в цих точках - f, f1, f2

Знаходимо різницю значень функцій - J1=f-f1 та J2=f1-f2;

Якщо (f1-f)>0, то змінюємо знак приросту аргументу dx=-dx;

Накладаємо дві умови на цикл виконання пошуку:

виконувати пошук поки нас не задовольнить точність dfdx>E

крокувати в тому ж напрямку поки не зміниться один із знаків різниці розрахованих функцій

or(and((J1>0),(J2>0)),and((J1<0),(J2<0)))

Повторюємо пункти 1-3, поки не виконається друга умова та кожен раз запам'ятовуємо значення Х1

Одразу після виконання другої умови розраховуємо отриману точність значення екстремуму - dfdx=(f1-f)/dx; зменшуємо приріст аргументу та змінюємо його напрям на протилежний - dx=-dx/2;

Переходимо у точку Х2 та виконуємо пункти 1-3; запам'ятовуємо Х2;

Виконуємо пункти 6-8 поки не виконається перша умова;

Програма пошуку екстремуму наведена у додатку 1.

Список використаної літератури

1. Куропаткин П.В. «Оптимальные и адаптивные системы»

Додаток 1

Основна частина програмного коду

function DKR_Kalinichenko_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = DKR_Kalinichenko_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function pushbutton_Begin_Callback(hObject, eventdata, handles)

% *** начало рабочего кода кнопки Begin

global dX1; global dX2; global x10; global x20;

global dx; global dy; global E; global Xmin; global Ymin;

global dfdx; global dfdy; global i; global J1; global J2;

E=0.01; dfdx=E*100; dfdy=E*100; i=0;

x=x10; y=x20; dx=dX1; dy=dX2;

while (and((abs(dfdx)>E),abs(dfdy)>E))

%поиск минимального значения Х

x1=x+dx;

x2=x1+dx;

f=2*(x.^3)+x*(y.^2)+3.67*(x.^2)+y.^2;

f1=2*(x1.^3)+x1*(y.^2)+3.67*(x1.^2)+y.^2; J1=f-f1;

f2=2*(x2.^3)+x2*(y.^2)+3.67*(x2.^2)+y.^2; J2=f1-f2;

if ((f1-f)>0) dx=-dx; end;

while (abs(dfdx)>E)

while ( (or(and((J1>0),(J2>0)),and((J1<0),(J2<0)))) )

x1=x+dx;

x2=x1+dx;

f=2*(x.^3)+x*(y.^2)+3.67*(x.^2)+y.^2;

f1=2*(x1.^3)+x1*(y.^2)+3.67*(x1.^2)+y.^2; J1=f-f1;

f2=2*(x2.^3)+x2*(y.^2)+3.67*(x2.^2)+y.^2; J2=f1-f2;

x=x1;

Xmin=x1;

i=i+1;

end;

dfdx=(f1-f)/dx;

dx=-dx/2;

x=x2;

x1=x+dx; x2=x1+dx;

f=2*(x.^3)+x*(y.^2)+3.67*(x.^2)+y.^2;

f1=2*(x1.^3)+x1*(y.^2)+3.67*(x1.^2)+y.^2; J1=f-f1;

f2=2*(x2.^3)+x2*(y.^2)+3.67*(x2.^2)+y.^2; J2=f1-f2;

Xmin=x2;

i=i+1;

end;

Xmin

%поиск минимального значения Y

y1=y+dy;

y2=y1+dy;

f=2*(Xmin.^3)+Xmin*(y.^2)+3.67*(Xmin.^2)+y.^2;

f1=2*(Xmin.^3)+Xmin*(y1.^2)+3.67*(Xmin.^2)+y1.^2; J1=f-f1;

f2=2*(Xmin.^3)+Xmin*(y2.^2)+3.67*(Xmin.^2)+y2.^2; J2=f1-f2;

if ((f1-f)>0) dy=-dy; end;

while (abs(dfdy)>E)

while ( (or(and((J1>0),(J2>0)),and((J1<0),(J2<0)))) )

y1=y+dy;

y2=y1+dy;

f=2*(Xmin.^3)+Xmin*(y.^2)+3.67*(Xmin.^2)+y.^2;

f1=2*(Xmin.^3)+Xmin*(y1.^2)+3.67*(Xmin.^2)+y1.^2; J1=f-f1;

f2=2*(Xmin.^3)+Xmin*(y2.^2)+3.67*(Xmin.^2)+y2.^2; J2=f1-f2;

y=y1;

Ymin=y1;

i=i+1;

end;

dfdy=(f1-f)/dy;

dy=-dy/2;

y=y2;

y1=y+dy; y2=y1+dy;

f=2*(Xmin.^3)+Xmin*(y.^2)+3.67*(Xmin.^2)+y.^2;

f1=2*(Xmin.^3)+Xmin*(y1.^2)+3.67*(Xmin.^2)+y1.^2; J1=f-f1;

f2=2*(Xmin.^3)+Xmin*(y2.^2)+3.67*(Xmin.^2)+y2.^2; J2=f1-f2;

Ymin=y2;

i=i+1;

end;

Ymin

disp('Додатковата перевірка точності...кінцеві значення рівні:')

f=2*(Xmin.^3)+Xmin*(y.^2)+3.67*(Xmin.^2)+y.^2;

f1=2*(Xmin.^3)+Xmin*(y1.^2)+3.67*(Xmin.^2)+y1.^2; J1=f-f1;

f2=2*(Xmin.^3)+Xmin*(y2.^2)+3.67*(Xmin.^2)+y2.^2; J2=f1-f2;

dfdx=(f1-f)/dx;

dfdy=(f1-f)/dy;

end;

Xmin

Ymin

% *** конец Begin

function pushbutton_End_Callback(hObject, eventdata, handles)

% *** начало кода кнопки End

close;

% *** конец End

function edit_X10_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit_X10_Callback(hObject, eventdata, handles)

% *** начало иконки для х10

global x10

x10=str2num(get(hObject,'String'));

% *** конец х10

function edit_X20_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit_X20_Callback(hObject, eventdata, handles)

% *** начало иконки х20

global x20;

x20=str2double(get(hObject,'String'));

% *** конец х20

function edit_dX1_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit_dX1_Callback(hObject, eventdata, handles)

% *** начало иконки dX1

global dX1;

dX1=str2double(get(hObject,'String'));

% *** конец dX1

function edit_dX2_CreateFcn(hObject, eventdata, handles)

if ispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit_dX2_Callback(hObject, eventdata, handles)

% *** начало иконки dX2

global dX2;

dX2=str2double(get(hObject,'String'));

% *** конец dX2

function graf_1_Callback(hObject, eventdata, handles)

[x1,x2]=meshgrid([-3:0.15:3]);

z=2*(x1.^3)+x1*(x2.^2)+3.67*(x1.^2)+x2.^2;

plot3(x1,x2,z,'-k')

function graf_2_Callback(hObject, eventdata, handles)

[x1,x2]=meshgrid([-3:0.15:3]);

z=(2*x1.^3+x1*x2.^2+3.67*x1.^2 + x2.^2);

meshc(х1,х2,z);

Размещено на Allbest.ru

...

Подобные документы

  • Функція двох змінних, методика визначення її головних параметрів. Поняття екстремуму функцій двох змінних, необхідні та достатні умови її існування. Особливості визначення екстремуму функції за деяких умов, які обмежують область зміни аргументів.

    курсовая работа [1,0 M], добавлен 22.10.2014

  • Розгляд нових методів екстримізації однієї змінної. Типи задач, які існують для розв’язування задач мінімізації на множині Х. Золотий поділ відрізка на дві неоднакові частини, дослідження його на стійкість. Алгоритм, текст програми, результат роботи.

    курсовая работа [408,0 K], добавлен 01.04.2011

  • Математична постановка задач пошуку умов повної керованості в лінійних стаціонарних динамічних системах керування. Представлення систем диференційних рівнянь управління в просторі станів. Достатні умови в критеріях повної керованості Е. Гільберта.

    дипломная работа [2,0 M], добавлен 16.06.2013

  • Межі дійсних коренів. Опис та текст програми. Методи наближеного пошуку меж та самих коренів многочлена з дійсними коренями. Метод пошуку точних значень многочленів з числовими коефіцієнтами. Контрольний приклад находження відрізків додатних коренів.

    курсовая работа [49,5 K], добавлен 28.03.2009

  • Поняття економетричної моделі та етапи її побудови. Сутність та характерні властивості коефіцієнта множинної кореляції. Оцінка значущості множинної регресії. Визначення довірчих інтервалів для функції регресії та її параметрів. Метод найменших квадратів.

    курсовая работа [214,6 K], добавлен 24.05.2013

  • Частинні похідні та диференційованість функції: поняття та теореми. Повний диференціал функції та його застосування до обчислення функцій і похибок. Диференціали вищих порядків. Інваріантність форми повного диференціала. Диференціювання неявної функції.

    реферат [278,8 K], добавлен 02.05.2011

  • Розгляд методів твірних функцій. Біном Ньютона як найбільш відомий приклад твірної функції. Розгляд задачі про щасливі білети. Аналіз властивостей твірних функцій. Характеристика найважливіших властивостей твірних функцій, особливості застосування.

    курсовая работа [428,9 K], добавлен 12.09.2012

  • Поняття диференційованості функції в даній точці, основні формули. Диференціал функції однієї змінної, його застосування. Основні означення, які відносяться до функції кількох змінних. Похідна алгебраїчної суми скінченного числа диференційованих функцій.

    реферат [101,8 K], добавлен 02.11.2015

  • Скорочені, тупикові диз'юнктивні нормальні форми. Алгоритм Квайна й Мак-Класки мінімізації булевої функції. Геометричний метод мінімізації булевої функції. Мінімізація булевої функції за допомогою карти Карно. Побудова оптимальних контактно-релейних схем.

    курсовая работа [287,0 K], добавлен 28.12.2010

  • Расширення запасу чисел. Знаходження коренів рівняння з достатнім степенем точності. Запис степеня многочлена та його коефіцієнтів. Контрольний приклад находження відрізків додатних та від’ємних коренів. Описання основних процедур та функцій програми.

    курсовая работа [1,0 M], добавлен 28.03.2009

  • Означення та приклади застосування гармонічних функцій. Субгармонічні функції та їх деякі властивості. Розв’язок задачі Діріхле з використанням функції Гріна. Теореми зростання та спадання функції регулярної в нескінченній області (Фрагмена-Ліндельофа).

    курсовая работа [349,0 K], добавлен 10.09.2013

  • Визначення гіпергеометричного ряду. Диференціальне рівняння для виродженої гіпергеометричної функції. Вироджена гіпергеометрична функція другого роду. Подання різних функцій через вироджені гіпергеометричні функції. Властивості гіпергеометричної функції.

    курсовая работа [462,3 K], добавлен 26.01.2011

  • Сутність фізичного та геометричного змісту похідної, особливості його використовування у математичних задачах. Означення диференціалу, формула його обчислення. Екстремуми функцій двох змінних. Правила знаходження найбільшого і найменшого значення функції.

    презентация [262,6 K], добавлен 20.05.2015

  • Поняття інтеграла Фур’є для функції дійсної змінної. Різні форми запису формули. Головне значення інтеграла та комплексна форма запису. Лінійне перетворення оберненого перетворення Фур’є. Алгоритм доведення ознаки Діні про початкову збіжність функції.

    курсовая работа [662,1 K], добавлен 27.04.2014

  • Дзета-функція Римана та її застосування в математичному аналізі. Оцінка поводження дзета-функції в околиці одиниці. Теорія рядів Фур'є. Абсолютна збіжність інтеграла. Функціональне рівняння дзета-функції. Властивості функції в речовинній області.

    курсовая работа [329,1 K], добавлен 28.12.2010

  • Розгляд виробничої функції, яка відображає зв'язок між зміною обсягів двох задіяних у процесі виробництва типів ресурсів та результатами цієї взаємодії. Дослідження виробничої функції для обробної промисловості США. Похідні формули праці та капіталу.

    презентация [4,1 M], добавлен 12.01.2022

  • Постановка задачі оптимального керування. Дослідження принципу максимуму Понтрягiна для систем диференціальних рiвнянь. Розрахунок значення фондоозброєності, продуктивності праці і питомого споживання. Моделювання оптимального економічного зростання.

    курсовая работа [273,5 K], добавлен 21.04.2015

  • Побудова графіків реалізацій вхідного та вихідного процесів, розрахунок функцій розподілу, математичного сподівання, кореляційної функції. Поняття та принципи вивчення одномірної функції розподілу відгуку, порядок конструювання математичної моделі.

    контрольная работа [316,2 K], добавлен 08.11.2014

  • Дослідження системи з відомим типом крапок спокою. Знаходження першого інтеграла системи, умови його існування. Застосування теореми про еквівалентність диференціальних систем. Визначення вложимої системи, умови вложимості. Поняття функції, що відбиває.

    курсовая работа [115,3 K], добавлен 14.01.2011

  • Неперервність функцій в точці, області, на відрізку. Властивості неперервних функцій. Точки розриву, їх класифікація. Знаходження множини значень функції та нулів функції. Розв’язування рівнянь. Дослідження функції на знак. Розв’язування нерівностей.

    контрольная работа [179,7 K], добавлен 04.04.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.