Лабораторная работа № 10
Пакет оптимизации Optimization Toolbox
Цель работы: Изучить основные функции пакета оптимизации Optimization Toolbox.
Краткая теория
Пакет оптимизации (Optimization Toolbox) — это библиотека функций, расширяющих возможности системы MATLABпо численным вычислениям и предназначенная для решения задач оптимизации и систем нелинейных уравнений. Поддерживает основные методы оптимизации функций.
Рассматриваемый пакет дает возможности решать задачи минимизации функций, нахождения решений уравнений, задачи аппроксимации.
Различные типы таких задач вместе с применяемыми для их решения функциями пакета Optimization Toolbox приведены в таблице 1.
Таблица 1.
Типы задач, решаемых средствами пакета Optimization Toolbox
Тип задачи | Математическая запись | Функция MATLAB |
Задачи минимизации | ||
Скалярная (одномерная) минимизация | f (a), а1 < a < a2 | fminunc, |
Безусловная минимизация (без ограничений) | f (x) | fminunc, fminsearch |
Линейное программирование | f T xпри условиях А х < b, Aeq x=beq, xL< x < xU | linprog |
Квадратичное программирование | при A x £ b, Aeqx =beq, xL< x < xU | quadprog |
Минимизация при наличии ограничений | f(x) при условиях с(х) £ 0, ceq(x) = 0, А х £ b, Aeq x =beq, xL£ x £ xU | fmincon |
Достижение цели | при условиях F(x) - wg £ goal, с(х) £ 0, ceq(x) = 0, Ax £ b, Aeq x = beq, xL£ x £ xU | fgoalattain |
Минимакс | {Fi (x)} при условиях c(x) < 0, ceq(x)=0, Ax £ b, Aeq x = beq, xL£ x £ xU | fminmax |
Полубесконечная минимизация | f (х) при условиях K(x, w) < 0 для всехw, с(х) £ 0, ceq(x) = 0, Ax £ b, Aeq x = beq, xL£ x £ xU | fseminf |
|
|
Нахождение решений уравнений | ||
Линейные уравнения | С x = d, n уравнений, п переменных | \ (оператор левого деления, slash) |
Нелинейное уравнение одной переменной | f (а) = 0 | fzero |
Нелинейные уравнения многих переменных | F(x) = 0, п уравнений, п неизвестных | fsolve |
Задачи аппроксимации | ||
Линейный метод Наименьших квадратов (МНК) | ||Cх - d|| , т уравнений, п переменных | \ (оператор левого деления, backslash) |
Неотрицательный линейный МНК | ||Cх - d|| при условии х ³ 0 | lsqnonneg |
Линейный МНК при наличии ограничений | ||Cх - d|| при условиях Ax £ b, Aeq x = beq, xL£ x £ xU | lsqlin |
Нелинейный МНК | при условииxL£ x £ xU | lsqnonlin |
Нелинейная «подгонка» кривой | при условии xL£ x £ xU | lsqcurvefit |
Принятые обозначения:
• а — скалярный аргумент; х, у — в общем случае векторные аргументы;
• f(а), f(х) — скалярные функции; F(x), c(x), ceq(x), K(x, w) — векторные функции;
• А, Aeq, С, Н — матрицы;
• b, beq, d, f, w, goal, xdata, ydata — векторы;
• xL, xU — соответственно, нижняя и верхняя границы области изменения аргумента.