Главная » Просмотр файлов » Применение пакета Optimization toolbox для решения задач оптимизации. Лабораторная работа №2а

Применение пакета Optimization toolbox для решения задач оптимизации. Лабораторная работа №2а (1253749), страница 3

Файл №1253749 Применение пакета Optimization toolbox для решения задач оптимизации. Лабораторная работа №2а (Применение пакета Optimization toolbox для решения задач оптимизации. Лабораторная работа №2а) 3 страницаПрименение пакета Optimization toolbox для решения задач оптимизации. Лабораторная работа №2а (1253749) страница 32021-07-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Constraints satisfied.fgoalattain stopped because the size of the current search direction is less than twicethe default value of the step size tolerance and constraints are satisfied to withinthe default value of the constraint tolerance.Здесь: Iter – число итераций, F-count –количество вычислений функций, Attainment factor –коэффициент (уровень) достижения цели, Max constraint - , Line search steplength – шаг поиска ,Directional derivative – норма градиента .Конечное значение матрицы KK = -4.0000-0.2564-4.0000-4.0000Итоговые значения собственных чисел eigfun(K)ans = -6.9313 -4.1588 -1.4099Итоговое значение коэффициента достижения цели attainfactorattainfactor = -0.3863,что говорит о перевыполнении заданных целей в среднем на 38% (сравнение итоговыхсобственных значений с заданными это подтверждает)/Для получения более приемлемого результата зададим опцию точного достижения всехтрех целей:Options = optimset(options,'GoalsExactAchieve',3);после чего повторим поиск оптимального решения.В результате получим.K = -1.59531.2040________________________________________________________________________________ 8Деменков Н.П.

Применение пакета Optimization Toolbox для решения задач оптимизацииМосковский государственный технический университет им.Н.Э.БауманаКафедра “Системы автоматического управления”__________________________________________________________________________________-0.4201-2.9047eigfun(K)ans = -5.0000 -3.0000 -1.0000attainfactor = -1.5410e-022.Промоделируем поведение замкнутой системы при начальных условиях x0 = [1;1;1];[Times, xvals] = ode45(@(u,x)((A + B*K*C)*x),[0,4],x0);plot(Times,xvals)legend('x_1(t)','x_2(t)','x_3(t)','Location','best')xlabel('t');ylabel('x(t)');1.4x 1(t)1.2x 2(t)x 3(t)1x(t)0.80.60.40.2000.511.52t2.533.54Функция fmincon предназначена для поиска минимума скалярной функции многихпеременных при наличии линейных ограничений видас(х) < 0, ceq(x) = 0,А х < b, Aeq x = beq,lb < x < ub(задача нелинейною программирования).

Функция записывается в видеx = fmincon(fun,x0,A,b)x = fmincon(fun,x0,A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)Если отсутствуют ограничения на отдельные компоненты x(i) сверху или снизу, тосоответствующие компоненты векторов lb и ub задаются как - (lb(i)=-Inf) или + (ub(i)=Inf).Нелинейное условие может быть задано с помощью двухкомпонентной функции[c,ceq]=nonlcon(x),для которой искомая точка минимума должна удовлетворять двум ограничениям: c(x)0 иceq(x)=0. Обращениеx = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)Если какой-то параметр не используется, вместо него задается пустой аргумент ([ ]).Можно передавать минимизируемой функции fun и функции ограничений nonlcon, кромеаргумента список дополнительных параметров P1,P2 и т.д.x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, ...)[x,fval] = fmincon(...)[x,fval,exitflag] = fmincon(...)[x,fval,exitflag,output] = fmincon(...)[x,fval,exitflag,output,lambda] = fmincon(...)[x,fval,exitflag,output,lambda,grad] = fmincon(...)Ускорение вычислительного процесса может быть достигнуто заданием формулвычисления градиента и /или гессиана.[x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...)Аргументы и возвращаемые величины практически аналогичны рассмотренным дляфункции fgoalattain за следующими исключениями:1) имеется дополнительная возвращаемая величина grad – градиент функции в точкеминимума;2) имеется возможность задания вычисления гессиана Н (вводом функции options =optimset ('Hessian','on'), что должно быть отражено в m-файле:function [f,g,H] = myfun(x)f = … % Вычисление целевой функцииg = … % Вычисление градиента________________________________________________________________________________ 9Деменков Н.П.

Применение пакета Optimization Toolbox для решения задач оптимизацииМосковский государственный технический университет им.Н.Э.БауманаКафедра “Системы автоматического управления”__________________________________________________________________________________Н = … % Вычисление гессиана3) имеется дополнительная возвращаемая величина hessian – гессиан Н функции в точкеминимума;Если действительно найден минимум, то компоненты градиента достаточно малы, агессиан – положительно определенная матрица, в чем можно убедиться с помощью критерияСильвестраdet(hes)>0.4) возможны дополнительные опции и имеются различия в их использовании:o LargeScale – может принимать значения 'off' (no умолчанию) и 'on'.

В первомслучае используется алгоритм средней размерности, во втором – алгоритмбольшой размерности.Следующие опции используются только при работе с алгоритмом средней размерности:o DerivativeCheck;o DiffWaxChange;o DiffMinChange;o LineSearchType – задание вида алгоритма одномерной оптимизации.Опции, используемые только в алгоритме большой размерности:o Hessian – гессиан (в случае матрицы Гессе, задаваемой пользователем);o HessPattern – задание гессиана как разреженной матрицы (это можетпривести к существенному ускорению поиска минимума);o MaxPCGIter – максимальное число итераций PCG-алгоритма (preconditionedconjugate gradient);o PrecondBandWidth – верхняя величина начальных условий для PCG-алгоритма;o TolPCG – допуск на завершение РСG-итераций;o TypicalX – типовые величины х;5) возвращаемая величина output в данном случае имеет дополнительные компоненты:o output.cgiterations – число PCG-итераций (только при использовании алгоритмабольшой размерности);o output.stepsize – величина конечного шага поиска (только при использованииалгоритма средней размерности);o output.firstorderopt – мера оптимальности первого порядка (норма вектораградиента в точке минимума) – только при использовании алгоритма большойразмерности).Пример 2.

Требуется найти минимум функции f(х)= –x1x2x3 при начальном значениих=[10;10;10] и при наличии ограничении 0 ≤ x1+2x2+2x3 ≤ 72.Решение:Вначале создадим m-файл, определяющий целевую функцию:Function=myfun(x)F=-x(1)*x(2)*x(3);Затем запишем ограничения в виде неравенств:– x1 – 2x2 – 2x3 ≤ 0,x1 + 2x2 + 2x3 ≤ 72,или в матричной форме:А х ≤ b,где  1  2  20A, b   .22172Теперь нахождение решения представляется следующим образом:>> A=[-1 -2 -2; 1 2 2];>> b=[0;72];>> x0=[10;10;10]; % стартовое значение>> [x,fval]=fmincon(‘myfun’,x0,A,b)х=24.000012.000012.0000fval =-3.4560е+003________________________________________________________________________________ 10Деменков Н.П.

Применение пакета Optimization Toolbox для решения задач оптимизацииМосковский государственный технический университет им.Н.Э.БауманаКафедра “Системы автоматического управления”__________________________________________________________________________________Функция fminsearch позволяет найти минимум функции нескольких переменных безограничений, то есть решение задачи безусловной оптимизации с использованием симплексногометода.Формы записи, аргументы и возвращаемые величины аналогичны рассмотренным ранее:x = fminsearch(fun,x0)x = fminsearch(fun,x0,options)x = fminsearch(fun,x0,options,P1,P2,...)[x,fval] = fminsearch(...)[x,fval,exitflag] = fminsearch(...)[x,fval,exitflag,output] = fminsearch(...)Пример 3.

Найти минимум функции одного аргумента f(x) = sin(x) + 3:Решение:>> f = inline('sin(x)+3');>> x = fminsearch(f,2)x = 4.712402343750007________________________________________________________________________________ 11Деменков Н.П. Применение пакета Optimization Toolbox для решения задач оптимизации.

Характеристики

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее