主要内容

La traducción de esta página está obsoleta。Haga clic aquí para ver la última versión en inglés。

fminunc

entre el mínimo de una función multivariable no restringida

Descripcion

解算器programación无线性。

事故mínimo特别问题

最小值 x f x

在哪里fx) es una función que devuelve UN escalar。

xEs UN向量o una matriz;consulte矩阵论证

比如

x= fminunc (有趣的x0Comienza en el puntox0E intenta encontrar UN mínimo localxDe la función descrita en有趣的.El puntox0Puede ser UN escalar, UN vector o una matriz。

背板

Pasar parámetros adicionales解释cómo pasar parámetros adicionales a la función目标与功能restricción没有直线,没有必要。

fminunc在限制条件下,没有直线的问题。四素问题的限制,一般意义上的利用fmincon.ConsulteTabla de decisiones de optimización

比如

x= fminunc (有趣的x0选项minimiza有趣的管制optimización规定选项.UtiliceoptimoptionsPara configurar estas opciones。

比如

x= fminunc (问题Encuentra el mínimo para问题, una estructura descrita en问题

比如

xfval= fminunc(___, para cualquier sintaxis, deuelve el valor de la función客观有趣的恩拉soluciónx

比如

xfvalexitflag输出= fminunc(___发扬联合国的英勇精神exitflagQue描述la condición de salida defminuncY una estructura输出Con información清醒的过程optimización。

xfvalexitflag输出研究生黑森= fminunc(___devuelve adicionalmente:

  • 研究生:梯度有趣的恩拉soluciónx

  • 黑森: matriz hessiana de有趣的恩拉soluciónx.Consultefminunc黑森

包括

反待办事项

Minimice la función f x 3. x 1 2 + 2 x 1 x 2 + x 2 2 - 4 x 1 + 5 x 2

Para hacerlo, escriba una función anónima有趣的客观计算。

有趣= @ (x) 3 * x (1) ^ 2 + 2 * x (1) * (2) + x (2) ^ 2 - 4 * x (1) + 5 * x (2);

Llame一fminuncPara encontrar UN mínimo de有趣的cerca德[1]

X0 = [1,1];[x,fval] = fminunc(fun,x0)
找到局部极小值。优化完成,因为梯度的大小小于最优性公差的值。
x =1×22.2500 - -4.7500
Fval = -16.3750

fminuncPuede ser más rápida y más可伸缩的比例衍生物。

誓死誓死función我们英勇的目标función。使用el格式条件化描述包括梯度和黑森.La función objetivo es La función de Rosenbrock

f x 1 0 0 x 2 - x 1 2 2 + 1 - x 1 2

Que tiene el gradiente

f x - 4 0 0 x 2 - x 1 2 x 1 - 2 1 - x 1 2 0 0 x 2 - x 1 2

El código de la función客观空间最后的结局

关于利用梯度的理论función客观。Asimismo,建立算法“信赖域”

选项= optimoptions(“fminunc”“算法”“信赖域”“SpecifyObjectiveGradient”,真正的);

那是偶然的[1,2].Después, lame afminunc

X0 = [-1,2];乐趣= @rosenbrockwithgrad;X = fminunc(fun,x0,options)
找到局部极小值。优化完成,因为梯度的大小小于最优性公差的值。
x =1×21.0000 - 1.0000

El siguiente código crea la funciónrosenbrockwithgrad, que incluye el gradiente como la segunda salida。

函数[f,g] = rosenbrockwithgrad(x)计算目标fF = 100*(x(2) -x(1)²)²+ (1-x(1))²;如果Nargout > 1所需梯度百分比G = [-400*(x(2)-x(1)^2)*x(1) - 2*(1-x(1));200 * (x (2) - x (1) ^ 2)];结束结束

这是一个错误的问题Proporcionar gradient运用结构问题,分别论证。

誓死誓死función我们英勇的目标función。使用el格式条件化描述包括梯度和黑森.La función objetivo es La función de Rosenbrock

f x 1 0 0 x 2 - x 1 2 2 + 1 - x 1 2

Que tiene el gradiente

f x - 4 0 0 x 2 - x 1 2 x 1 - 2 1 - x 1 2 0 0 x 2 - x 1 2

El código de la función客观空间最后的结局

关于利用梯度的理论función客观。Asimismo,建立算法“信赖域”

选项= optimoptions(“fminunc”“算法”“信赖域”“SpecifyObjectiveGradient”,真正的);

在结构上的问题,包括对原始的惩罚X0 = [-1,2].Para obtener más información在重建的道路上清醒地思考,咨询问题

问题。选项=选项;问题。x0=[1,2];问题。objective = @rosenbrockwithgrad; problem.solver =“fminunc”

Resuelva el problem。

X = fminunc(问题)
找到局部极小值。优化完成,因为梯度的大小小于最优性公差的值。
x =1×21.0000 - 1.0000

El siguiente código crea la funciónrosenbrockwithgrad, que incluye el gradiente como la segunda salida。

函数[f,g] = rosenbrockwithgrad(x)计算目标fF = 100*(x(2) -x(1)²)²+ (1-x(1))²;如果Nargout > 1所需梯度百分比G = [-400*(x(2)-x(1)^2)*x(1)-2*(1-x(1));200 * (x (2) - x (1) ^ 2)];结束结束

中心点tanto la ubicación como el mínimo de una función没有直线y el valor de la función en ese mínimo。La función目标

f x x 1 e - x 2 2 + x 2 2 / 2 0

有趣= @ (x) x (1) * exp (- x (x (1) ^ 2 + (2) ^ 2)) + x (x (1) ^ 2 + (2) ^ 2) / 20;

国家安全ubicación国家英勇función国家最小目标X0 = [1,2]

X0 = [1,2];[x,fval] = fminunc(fun,x0)
找到局部极小值。优化完成,因为梯度的大小小于最优性公差的值。
x =1×2-0.6691 - 0.0000
Fval = -0.4052

Escoja opciones y salidas defminunc审查程序Para resolución。

建立操作性para obtener una visualización迭代应用算法“拟牛顿”

选项= optimoptions(@fminunc,“显示”“通路”“算法”“拟牛顿”);

La función目标

f x x 1 e - x 2 2 + x 2 2 / 2 0

有趣= @ (x) x (1) * exp (- x (x (1) ^ 2 + (2) ^ 2)) + x (x (1) ^ 2 + (2) ^ 2) / 20;

Comience la minimización enX0 = [1,2]你的权利,你的权利,你的权利solución你的进程。

X0 = [1,2];[x,fval,exitflag,output] = fminunc(fun,x0,options)
一阶迭代函数函数f(x)步长最优性0 3 0.256738 0.173 1 6 0.222149 1 0.131 29 0.15717 1 0.158 3 18 -0.227902 0.438133 0.386 4 21 -0.299271 1 0.46 5 30 -0.404028 0.102071 0.0458 6 33 -0.404868 1 0.0296 7 36 -0.405236 1 0.00119 8 39 -0.405237 1 0.000252 9 42 -0.405237 1 7.97e-07找到局部最小值。优化完成,因为梯度的大小小于最优性公差的值。
x =1×2-0.6691 - 0.0000
Fval = -0.4052
Exitflag = 1
输出=带字段的结构:迭代:9 funcCount: 42 stepsize: 2.9343e-04 lssteplth: 1 firstorderopt: 7.9721e-07 algorithm: '准牛顿' message: '…'
  • El indicador de salida1Muestra que la solución es UN óptimo local。

  • La estructura输出Muestra el número de iteraciones, el número de evaluaciones de función y otra información。

  • La visualización iterativa también muestra el número de iteraciones y las evaluaciones de función。

entrada论证

反待办事项

Función最小的地方,特别的地方función没有名字función。有趣的Es una función que acepta UN vector o UN arregloxY devuelve UN escalar realf, con la función客观评估enx

fminuncpasaxA su función形式上的论证目的x0.Por ejemplo, six0Es UN arreglo de 5 por 3,fminuncpasax一个有趣的Como UN arreglo de 5 por 3。

Especifique有趣的Como UN identificador de función para UN archivo:

X = fminunc(@myfun,x0)

在哪里myfunes una función de MATLAB®科莫

函数F = myfun(x) F =...计算x处的函数值

También绒面专用有趣的Como UN identificador de función para una función anónima:

X = fminunc(@(X)范数(X)^2,x0);

Si puede计算器el梯度de有趣的yla opcionSpecifyObjectiveGradientEstá establecida en真正的, según establishment

选项= optimoptions(“fminunc”“SpecifyObjectiveGradient”,真正的)
有趣的矢量梯度g (x)En el segundo argument to de salida。

Si también puede calcular la matriz Hessianayla opcionHessianFcnEstá establecida en“目标”medianteoptions = optimoptions('fminunc','HessianFcn','objective')yla opcion算法Está establecida en“信赖域”有趣的Debe devolver el valor hessianoH (x), una matriz simétrica, en UN tercer argumento de salida。有趣的Puede dar una matriz hessiana分散化。ConsulteHessian for fminunc信任区域或fmincon信任区域反射算法Para ver más详细信息。

El algoritmo信赖域Le permite proporciar una función de multiplicación de matriz hessiana。Esta función在黑森州矩阵中计算直接黑森州矩阵的结果。回忆起可怕的往事。Consulte黑森乘法函数

比如:趣味= @(x)sin(x(1))*cos(x(2))

数据提示:字符|function_handle|字符串

Punto inicial的,特别是como un vector real的。Los求解器使用el número de elements enx0Y el tamaño dex0Para determinar el número y el tamaño de las变量que有趣的acepta。

比如:X0 = [1,2,3,4]

数据提示:

Opciones de optimización, speciificadas como la salida deoptimoptions噢,这是一种毁灭optimset

适用的运算法则与相关运算法则与特殊运算法则。Consulte优化选项参考Para ver información detallada。

阿古纳斯opciones no aparecen en la visualizaciónoptimoptions.手鼓上的字母和字母。Para obtener más详情,咨询Visualizar各种选择

都是算法

算法

算术题fminunc.拉斯奥皮奥涅的儿子“拟牛顿”(predeterminada) o“信赖域”

El algoritmo“信赖域”必要的比例梯度(consulte la descripción de有趣的) o, si no,fminunc运用算法“拟牛顿”.Para obtener información清醒cómo elegir el algorithitmo, consulte算法选择

CheckGradients

比较“客观梯度”和“最终差异”的“客观梯度”。拉斯奥皮奥涅的儿子(predeterminada) o真正的

帕拉optimset,我的名字DerivativeCheck洛斯瓦洛雷斯的儿子“上”u“关闭”.Consulte实际行动和国家安全

记录

Muestre información de diagnóstico清醒的la función que se desea minimizar o resolver。拉斯奥皮奥涅的儿子“关闭”(predeterminada) o“上”

DiffMaxChange

Cambio máximo最终差异的梯度变量(不确定因素)。La opción predeterminada

DiffMinChange

Cambio mínimo最终差异的梯度变量(不确定因素)。La opción predeterminada0

显示

Nivel de visualización(咨询迭代显示):

  • “关闭”o“没有”没有muestran salida alguna

  • “通路”生命之梦iteración我们注定的生命之梦。

  • “iter-detailed”我们的心灵心灵iteración我们的心灵心灵técnico。

  • “通知”孤独的命运función没有汇合的命运注定的命运。

  • “notify-detailed”独唱人鱼的梦función没有汇合人鱼的梦técnico。

  • “最后一次”(预先确定的)单独的,必须的,最后的,最后的,预先确定的。

  • 最后详细的Solo muestra la salida最后的emite el mensaje de salida técnico。

FiniteDifferenceStepSize

因子tamaño de salto de escalar和向量的最后差别。Cuando estableceFiniteDifferenceStepSizeEn UN向量v最后的进展δ儿子

delta = v *符号' (x).*max(abs(x),TypicalX);

,在哪里符号' (x) =符号(x)excepto符号' (0)= 1.最后的差别是最重要的

delta = v.*max(abs(x),TypicalX);

El escalarFiniteDifferenceStepSize展开一个UN向量。La opción predeterminadasqrt (eps)结束和进步的差异eps ^ (1/3)终点与中心的差别。

信赖域应用算法FiniteDifferenceStepSize独奏cuandoCheckGradientsEstá establecido en真正的

帕拉optimset,我的名字FinDiffRelStep.Consulte实际行动和国家安全

FiniteDifferenceType

最后的差别,对估计的梯度的利用“前进”(la opción predeterminada), o bien“中央”(centradas)。La opcion“中央”安魂曲(Requiere el doble de evaluaciones) función, pero debería ser más精确。信赖域应用算法FiniteDifferenceType独奏cuandoCheckGradientsEstá establecido en真正的

帕拉optimset,我的名字FinDiffType.Consulte实际行动和国家安全

FunValCheck

我的幸福función我们的目标válidos。先天调整,“关闭”,没有realiza una comprobación。埃尔进行了“上”Muestra UN error cuando la función objetivo devuelve UN valor复杂的o

MaxFunctionEvaluations

Número máximo de evaluaciones de función许可,un entero positive。英勇的先兆100 * numberOfVariables.Consulte公差标准detencióny迭代与最近的la función

帕拉optimset,我的名字MaxFunEvals.Consulte实际行动和国家安全

MaxIterations

Número máximo关于许可的迭代,不进入正题。英勇的先兆400.Consulte公差标准detencióny迭代与最近的la función

帕拉optimset,我的名字麦克斯特.Consulte实际行动和国家安全

OptimalityTolerance

容忍terminación最优秩序(积极的斗争)。La opción predeterminada1 e-6.Consulte一阶最优测度

帕拉optimset,我的名字TolFun.Consulte实际行动和国家安全

OutputFcn

特别的变化,功能,定义,通常情况下,一个las que una función de optimización lame en cada iteración。我们的身份证明función我们的身份证明función。La opción predeterminada es ninguno ([]).Consulte输出函数和图函数语法

PlotFcn

代表各种不同的进度表和计算方法;选择的一个una de las gráficas predefinidas o escriba la suya propia。función de gráfica一体化,un identificador de función o o arreglo de celdas nombres de función de gráfica一体化o identificadores de función。Para funciones de gráfica personalizadas, pase identificadores de función。La opción predeterminada es ninguno ([]):

  • “optimplotx”具象,真实的。

  • “optimplotfunccount”代表el recuento de la función。

  • “optimplotfval”英勇的代表función。

  • “optimplotstepsize”代表el tamaño de salto。

  • “optimplotfirstorderopt”代表了最优的媒介和基本秩序。

la funciones de gráfica个性化利用la misma sintaxis que Las funciones de salida。Consulte优化工具箱的输出函数y输出函数和图函数语法

帕拉optimset,我的名字PlotFcns.Consulte实际行动和国家安全

SpecifyObjectiveGradient

梯度para la función定义目标和日常目标。领事la descripción de有趣的Para ver cómo definir el gradiente en有趣的.Establezca la opción真正的Para hacer quefminunc利用联合国的梯度定义por el usuario de la función目标。La opción predeterminada一组,fminunc利用梯度和有限差异。Debe比例梯度建立器SpecifyObjectiveGradient真正的Para utilzar el algorithm - trust-region。Esta opción没有必要para el算法准牛顿。

帕拉optimset,我的名字GradObj洛斯瓦洛雷斯的儿子“上”u“关闭”.Consulte实际行动和国家安全

StepTolerance

容忍terminación enx,联合国积极行动。英勇的先兆1 e-6.Consulte公差标准detención

帕拉optimset,我的名字TolX.Consulte实际行动和国家安全

TypicalX

英勇xtipicos。El número de elements enTypicalXEs igual al número de elements enx0, el punto de inicio。英勇的先兆的(numberofvariables, 1)fminuncTypicalXPara escalar differential finitas Para la estimación de gradientes。

El algoritmo信赖域TypicalX独唱para opciónCheckGradients

Algoritmo信赖域
FunctionTolerance

宽容terminación英勇función,积极向上。La opción predeterminada1 e-6.Consulte公差标准detención

帕拉optimset,我的名字TolFun.Consulte实际行动和国家安全

HessianFcn

Si se ha establecido en[](predeterminada),fminunc近距离母系,黑线,效用,分异,终点。

Si se ha establecido en“目标”fminunc使用一个矩阵,一个定义,一个惯例,一个función目标。La麻麻之家和La劳动之家función目标(领事有趣的).

帕拉optimset,我的名字HessFcn.Consulte实际行动和国家安全

HessianMultiplyFcn

Función de multiplicación de matriz hessiana, especificada como un identificador de función。Para structurados a gran escala问题,esta función calcula el producto de la matriz hessianaH * Y罪formarH.La función tiene el formato

W = hmfun(Hinfo,Y)

在哪里Hinfo连续矩阵计算H * Y

最基本的论证到最错误的论证到最简单的论证到最真实的论证función客观有趣的, por ejemplo,

[f,g,Hinfo] = fun(x)

Y问题的母体número问题的维度之filas que dimensiones hay el problem。La matrizW = h * y, aunqueH否está formada explícitamente。fminuncHinfoPara calcular el precondicionador。Para obtener información清醒cómo比例价值Para cualquier parámetro adicional quehmfunnecesite, consultePasar parámetros adicionales

背板

Para utilzar la opciónHessianMultiplyFcnHessianFcnDebe establecerse en[]

Para ver un ejemplo, consulte密结构黑森最小化,线性等式

帕拉optimset,我的名字HessMult.Consulte实际行动和国家安全

HessPattern

Patrón de dispersión de la matriz hessiana para diferenciación finita。Establezcahespattern (i,j) = 12有趣的/∂x(我)x (j)≠0。反其道而行hespattern (i,j) = 0

UtiliceHessPattern没有海上的便利H有趣的, pero puede determinar (por ejemplo, inspeccionándolo) cuándo el componente-ésimo del gradiente de有趣的depende德x (j)fminunc喝水可以aproximarH中间梯度与比例的差异地震构造dispersiónH英勇无畏HessPattern.按比例排列ubicación不同的元素。

宽多拉结构海desconocida,没有建立HessPattern.我的行为是预先决定的HessPattern上帝保佑你。因此,fminunc演算aproximación终局微分的完成iteración。Este cálculo大问题的解决之道,重大的确定结构的正常之路dispersión。

MaxPCGIter

Número máximo基于条件的变化梯度(PCG),不确定因素。La opción predeterminada马克斯(1楼(numberOfVariables / 2)).Para obtener más información, consulteAlgoritmo信赖域

PrecondBandWidth

对PCG有先决条件,没有否定的理由。形式上的预先决定,fminunc它对角线前条件(0上的班达锚)。Para algunos问题,aumentar el班达锚减少el número de iteraciones PCG。EstableciendoPrecondBandWidthse utilization za una factorización directa (Cholesky) en lugar de los gradientesconjugados (CG)。La factorización直接más costosa computacionalmente que CG, pero produce un salto de maijor calidad hacia La solución。

SubproblemAlgorithm

确定性cómo se calcula el salto de iteración。La opción predeterminada,“重心”,实现联合国萨尔托más rápido,我绝对做到“分解”.Consultefminunc信任域算法

TolPCG

容忍度terminación en la iteración PCG,积极向上。La opción predeterminada0.1

Algoritmo拟牛顿
HessUpdate

Método para escoger la dirección de búsqueda en el algoritmo准牛顿。Las opciones son Las siguientes:

  • “蓄热”, la opción predeterminada

  • “dfp”

  • “steepdesc”

    ConsulteAlgoritmo拟牛顿y黑森更新Para obtener una descripción de estos métodos。

ObjectiveLimit

Una tolerancia (criterio de detención) que es un escalar。我们的英勇función我们的目标iteración我们的心灵ObjectiveLimit,我们的问题está我们的问题。英勇的先兆1 e20

UseParallel

Cuando真正的fminunc平行估计梯度。Deshabilite la opción estableciéndola en el valor predeterminado,信赖域“目标的梯度,我的世界”UseParallel不适用。ConsulteComputacion paralela

比如:options = optimoptions('fminunc',' speciyobjectivegradient ',true)

结构问题,特别是对结构问题的解释:

Nombre de campo Entrada

客观的

脂肪酸objetivo

x0

Punto的非正式parax

解算器

“fminunc”

选项

Opciones creadas conoptimoptions

数据提示:结构体

salida的论证

反待办事项

Solución, devuelta como un vector real o un arreglo real。El tamaño dexEs el mismo que el tamaño dex0.Habitualmente,xEs una solución当地的al问题exitflages positivo。Para obtener información清醒的la calidad de la solución,领事当求解器成功时

英勇función目标之路solución,精神之路número真实。Por lo general,fval有趣的(x)

Razón por la quefminunc我知道你是谁,我是谁。

1

“容忍的程度之大”OptimalityTolerance

2

cambio enx我爱你,我爱你StepTolerance

3.

勇敢的勇气función我们的目标和我们的宽容FunctionTolerance

5

La reducción前展望en La función我们的目标是宽容FunctionTolerance

0

El número de iteraciones ha sobrepasadoMaxIterationsO el número de evaluaciones de función ha sobrepasadoMaxFunctionEvaluations

-1

El algorimo ha sido terminado por la función de salida。

3

La función objetivo en La iteración actual ha descendido por debajo deObjectiveLimit

Información清醒的进程optimización,与我们一起重建家园:

迭代

Número de iteraciones realizadas

funcCount

Número de evaluaciones de función

firstorderopt

Medida de optimalidad de primer orden

算法

算法optimización utilitzado

cgiterations

Número total de iteraciones PCG (solo算法“信赖域”

lssteplength

Tamaño del salto de búsqueda de línea relativo a la dirección de búsqueda(单独算法“拟牛顿”

stepsize

Desplazamiento final enx

消息

Mensaje de salida

Gradiente en la solución, devuelto como un vector real。研究生Indica el gradient de有趣的En el puntox (:)

近距离的母性,真实的母性。Para saber cuál el signado de黑森, consulte黑森输出

Algoritmos

反待办事项

Algoritmo拟牛顿

El algoritmo拟牛顿实用工具método准牛顿BFGS con un procemiento de búsqueda de línea cúbica。El método准牛顿实用la fórmula BFGS ([1][5][8]y[9]) para actualizar la aproximación de la matriz Hessiana。Puede选择la fórmula DFP ([4][6]y[7]),逆母体,建立la opciónHessUpdate“dfp”(y la opción算法“拟牛顿”).Puede seleccionar un método de descent so más pronunciado establishmentHessUpdate“steepdesc”(y算法“拟牛顿”), aunque esta configuración正常的效率低下。Consultefminunc准牛顿算法

Algoritmo信赖域

El algoritmo信赖域这是必要的有趣的Y que establlezcaSpecifyObjectiveGradient真正的我们使用optimoptions.Este algoritmo es un método de región de sub - espacio和se basa enel método de Newton de reflejo de punto内部描述[2]y[3].卡达iteración隐含solución近距离系统线性效用放大método共轭条件前缘梯度(PCG)。Consultefminunc信任域算法非线性极小化的信赖域方法y预条件共轭梯度法

Funcionalidad alternativa

应用程序

拉他利亚优化de Live Editor proporciona una interfaz视觉parafminunc

Referencias

[1] Broyden, C. G.“一类双秩最小化算法的收敛性”。科学杂志。数学。品, Vol. 6, 1970, pp. 76-90。

[2] Coleman, t.f., Li Y.。有边界的非线性极小化的内部信赖域方法。SIAM优化期刊, Vol. 6, 1996, pp. 418-445。

[3] Coleman, t.f., Li Y.。大尺度非线性有界极小化问题的反射牛顿方法的收敛性数学规划,第67卷第2期,1994年,第189-224页。

[4] Davidon, W. C. <最小化的可变度量方法>。a.e.c研发报告, anl - 5990,1959。

[5] Fletcher, R.《可变度量算法的新方法》。电脑杂志, Vol. 13, 1970, pp. 317-322。

[6]弗莱彻,R.《优化的实用方法》。1卷,无约束最优化《约翰·威利父子》,1980年。

R.弗莱彻和M. J. D.鲍威尔。一种快速收敛下降最小化方法电脑杂志, Vol. 6, 1963, pp. 163-168。

[8] Goldfarb, D. <由变分均值导出的变度量更新族>。计算数学,卷24,1970,第23-26页。

[9] Shanno, d.f . <函数最小化的拟牛顿方法的条件化>。计算数学, Vol. 24, 1970, pp. 647-656。

Capacidades ampliadas

历史版本

介绍,2006年