Решение задач оптимизации

Пакет оптимизации Optimization Toolbox

Назначение и возможности пакета

Возможности базовой системы MATLAB в решении практически весьма важных задач оптимизации довольно ограничены. Поэтому для решения таких задач интересен пакет оптимизации Optimization Toolbox. Ниже описана реализация пакета 2.3 (Rl3 SP1). Уточнить версию продукта можно, исполнив команду ver.

В MATLAB 7 используется версия 3.0, которая в пределах рассмотрения в данной главе идентична версии 2.3. В новую версию введена функция целочисленного бинарного программирования bintprog, усовершенствованы алгоритмы функций fminunc и exitflag и введены новые опции выхода.

Основные типы таких задач, решаемых системой MATLAB с этим пакетом, представлены в табл. 4.1. С методами оптимизации можно познакомиться по многочисленной литературе, например [47—50].

Таблица 4.1

Типы задач, решаемых пакетом Optimization Toolbox

Тип задачи

Математическая запись

Используемая функция MATLAB

Задачи минимизации

Скалярная (одномерная) минимизация

mint (а), а, < а < а2 а

fminbnd

Безусловная минимизация (без ограничений)

minf(x)

X

fminunc, fminsearch

Линейное программирование

mintтх при условиях

X

А • х < b, Aeq • х = beq,

xL < х < хи

linprog

Квадратичное программирование

min-xTHx + fTx при условиях х 2

А х < b, Aeq х = beq,

xL < X < xd

quadprog

Минимизация при наличии ограничений

minf(x)npn условиях c(x) < 0, ceq(x) - 0, A • x < b, Aeq • x = beq, xL < x < хи

fmincon

Тип задачи

Математическая запись

Используемая функция MATLAB

Достижение цели

min у при условиях F(x) — wy < goal, с(х) < 0, ceq(x) - 0, А х < b, Aeq х = beq, xL < x < хи

fgoalattain

Минимакс

min max{F(x)} при условиях

X {Fit c(x) < 0, ceq(x) = 0,

A • x < b, Aeq • x = beq,

XL < X < xd

fminimax

Полубесконечная минимизация

minf(x)npn условиях

X

K(x,w) < Одля всех w, c(x) < 0, ceq(x) = 0, AxLd

fseminf

Нахождение решений уравнений

Линейные уравнения

C - x = d, n уравнений, n переменных

(оператор левого деления, slash)

Нелинейное уравнение одной переменной

f(a) = O

f zero

Нелинейные уравнения многих переменных

F(x) - 0, n уравнений, n неизвестных

fsolve

Задачи аппроксимации («подгонки» кривых)

Линейный метод наименьших квадратов (МНК)

min||c-x-<

m уравнений, n переменных

(оператор левого деления, backslash)

Неотрицательный линейный МНК

min||C x - d||j при условии x > 0

Isqnonneg

Линейный МНК при наличии ограничений

min||C • x - d||? при условиях A • x < b, Aeq ? x = beq, xLd

Isqlin

Тип задачи

Математическая запись

Используемая функция MATLAB

Нелинейный МНК

m'4llF(xS=^Ef'2(x) при условии XL < X < Ху

Isqnonlin

Нелинейная «подгонка» кривой

min-||F(x,xdata)- ydata||* х 2

при условии xL <х <хи

Isqcurvefit

Принятые обозначения:

  • а — скалярный аргумент; х, у — в общем случае векторные аргументы;
  • Ла),Лх) — скалярные функции; F(x), с(х), ceq(x), K(x,w) — векторные функции,
  • A, Aeq, С, Н — матрицы;
  • b, beq, d, f, w, goal, xdata, ydata — векторы;
  • xL, Хц — соответственно нижняя и верхняя граница области изменения аргумента.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >