All Algorithms |
Algorithm | Elija entre (predeterminado), y.'trust-region-dogleg' 'trust-region' 'levenberg-marquardt' La opción especifica una preferencia para el algoritmo que se utilizará.Algorithm Es sólo una preferencia porque para el algoritmo de la región de confianza, el sistema no lineal de ecuaciones no puede ser subdeterminado; es decir, el número de ecuaciones (el número de elementos devueltos por) debe ser al menos tantos como la longitud de.F fun x Del mismo modo, para el algoritmo de confianza-región-dogleg, el número de ecuaciones debe ser el mismo que la longitud de. utiliza el algoritmo Levenberg-Marquardt cuando el algoritmo seleccionado no está disponible.x fsolve Para obtener más información sobre cómo elegir el algoritmo, consulte.Elegir el algoritmo Para establecer algunas opciones de algoritmo utilizando en lugar de:optimset optimoptions : Establezca el algoritmo en lugar de.Algorithm 'trust-region-reflective' 'trust-region' : Establezca el parámetro Levenberg-Marquardt inicial estableciendo una matriz de celdas como.InitDampingλAlgorithm {'levenberg-marquardt',.005}
|
CheckGradients | Compare los derivados suministrados por el usuario (degradados de objetivos o restricciones) con los derivados de diferenciación finita. Las opciones son o el valor predeterminado.true false
Para, el nombre es y los valores son o.optimset DerivativeCheck 'on' 'off' Ver.Las tablas de nombres de opciones actuales y heredadas |
Diagnostics | Mostrar información de diagnóstico sobre la función que se debe minimizar o resolver. Las opciones son o el valor predeterminado.'on' 'off' |
DiffMaxChange | Cambio máximo en las variables para los degradados de diferencias finitas (un escalar positivo). El valor predeterminado es.Inf |
DiffMinChange | Cambio mínimo en las variables para los degradados de diferencias finitas (un escalar positivo). El valor predeterminado es.0 |
Display | Nivel de visualización (ver):Visualización iterativa
o no muestra ninguna salida.'off' 'none' muestra la salida en cada iteración y proporciona el mensaje de salida predeterminado.'iter' muestra la salida en cada iteración y proporciona el mensaje técnico de salida.'iter-detailed' (valor predeterminado) muestra solo la salida final y proporciona el mensaje de salida predeterminado.'final' muestra sólo la salida final y da el mensaje técnico de salida.'final-detailed'
|
FiniteDifferenceStepSize |
Factor de tamaño de paso escalar o vectorial para diferencias finitas. Cuando se establece en un vector, las diferencias finitas de avance sonFiniteDifferenceStepSize v delta delta = v.*sign′(x).*max(abs(x),TypicalX);
donde excepto.sign′(x) = sign(x) sign′(0) = 1 Las diferencias finitas centrales sondelta = v.*max(abs(x),TypicalX);
Escalar se expande a un vector.FiniteDifferenceStepSize El valor predeterminado es para las diferencias finitas de avance y para las diferencias finitas centrales.sqrt(eps) eps^(1/3)
El nombre es.optimset FinDiffRelStep Ver.Las tablas de nombres de opciones actuales y heredadas |
FiniteDifferenceType | Las diferencias finitas, que se utilizan para estimar degradados, son (predeterminadas) o (centradas). toma el doble de evaluaciones de funciones, pero debe ser más precisa.'forward' 'central' 'central' El algoritmo tiene cuidado de obedecer los límites al estimar ambos tipos de diferencias finitas. Así, por ejemplo, podría tomar una diferencia hacia atrás, en lugar de una hacia adelante, para evitar la evaluación en un punto fuera de los límites.
El nombre es.optimset FinDiffType Ver.Las tablas de nombres de opciones actuales y heredadas |
FunctionTolerance | Tolerancia de terminación en el valor de la función, un escalar positivo. El valor predeterminado es.1e-6 Ver.Tolerancias y criterios de detención
El nombre es.optimset TolFun Ver.Las tablas de nombres de opciones actuales y heredadas |
FunValCheck | Compruebe si los valores de función objetiva son válidos. muestra un error cuando la función objetiva devuelve un valor que es, o.'on' complex Inf NaN El valor predeterminado, no muestra ningún error.'off' |
MaxFunctionEvaluations | Número máximo de evaluaciones de funciones permitidas, un entero positivo. El valor predeterminado es.100*numberOfVariables Mira y.Tolerancias y criterios de detenciónIteraciones y recuentos de funciones
El nombre es.optimset MaxFunEvals Ver.Las tablas de nombres de opciones actuales y heredadas |
MaxIterations | Número máximo de iteraciones permitidas, un entero positivo. El valor predeterminado es.400 Mira y.Tolerancias y criterios de detenciónIteraciones y recuentos de funciones
El nombre es.optimset MaxIter Ver.Las tablas de nombres de opciones actuales y heredadas |
OptimalityTolerance |
Tolerancia de terminación en la optimalidad de primer orden (un escalar positivo). El valor predeterminado es.1e-6 Ver.Medida de optimalidad de primer orden
Internamente, el algoritmo utiliza una tolerancia de optimalidad (criterio de parada) de veces y no utiliza.'levenberg-marquardt' 1e-4 FunctionTolerance OptimalityTolerance |
OutputFcn | Especifique una o varias funciones definidas por el usuario a las que llama una función de optimización en cada iteración. Pasar un identificador de función o una matriz de celdas de identificadores de función. El valor predeterminado es None ().[] Ver.Sintaxis de función de salida |
PlotFcn | Traza varias medidas de progreso mientras se ejecuta el algoritmo; seleccionar de parcelas predefinidas o escribir las suyas propias. Pase un nombre de función de trazado integrado, un identificador de función o una matriz de celdas de nombres de función de trazado integrados o identificadores de función. Para las funciones de trazado personalizadas, pase los identificadores de función. El valor predeterminado es None ():[]
traza el punto actual.'optimplotx' traza el recuento de funciones.'optimplotfunccount' traza el valor de la función.'optimplotfval' traza el tamaño del paso.'optimplotstepsize' traza la medida de optimalidad de primer orden.'optimplotfirstorderopt'
Para obtener información sobre cómo escribir una función de trazado personalizada, consulte.Sintaxis de función de trazado El nombre es.optimset PlotFcns Ver.Las tablas de nombres de opciones actuales y heredadas |
SpecifyObjectiveGradient | Si, utiliza una información jacobiana definida por el usuario (definida en) o jacobiana (cuando se utiliza), para la función objetiva.true fsolve fun JacobianMultiplyFcn Si (por defecto), se aproxima al jacobiano utilizando diferencias finitas.false fsolve
Para, el nombre es y los valores son o.optimset Jacobian 'on' 'off' Ver.Las tablas de nombres de opciones actuales y heredadas |
StepTolerance | Tolerancia de terminación activada, un escalar positivo.x El valor predeterminado es.1e-6 Ver.Tolerancias y criterios de detención
El nombre es.optimset TolX Ver.Las tablas de nombres de opciones actuales y heredadas |
TypicalX | Valores típicos.x El número de elementos en es igual al número de elementos en, el punto de partida.TypicalX x0 El valor predeterminado es. utiliza para escalar las diferencias finitas para la estimación de degradado.ones(numberofvariables,1) fsolve TypicalX El algoritmo utiliza como los términos diagonales de una matriz de escalado.trust-region-dogleg TypicalX |
UseParallel | Cuando, estima los degradados en paralelo.true fsolve Deshabilite estableciendo el valor predeterminado,.false Ver.Computación paralela |
trust-region Algorithm |
JacobianMultiplyFcn | Función de multiplicación jacobiana, especificada como un manejador de funciones. Para problemas estructurados a gran escala, esta función calcula el producto de matriz jacobiana, o sin formar realmente.J*Y J'*Y J'*(J*Y) J La función es de la forma donde contiene una matriz utilizada para computar (o, o).Jinfo J*Y J'*Y J'*(J*Y) El primer argumento debe ser el mismo que el segundo argumento devuelto por la función objetiva, por ejemplo, enJinfo fun es una matriz que tiene el mismo número de filas que hay dimensiones en el problema. determina qué producto calcular:Y flag Si.flag == 0 W = J'*(J*Y) Si.flag > 0 W = J*Y Si.flag < 0 W = J'*Y
En cada caso, no se forma explícitamente. utiliza para calcular el preacondicionador.J fsolve Jinfo Consulte para obtener información sobre cómo suministrar valores para cualquier necesidad de parámetros adicionales.Pasar parámetros adicionalesjmfun Nota debe establecerse para que pase de a.'SpecifyObjectiveGradient' true fsolve Jinfo fun jmfun Vea un ejemplo similar.Minimización con hessian estructurado denso, Equalidades lineales El nombre es.optimset JacobMult Ver.Las tablas de nombres de opciones actuales y heredadas |
JacobPattern | Patrón de la Sparsity del jacobiano para la diferenciación finita. Ajuste cuando dependa de.JacobPattern(i,j) = 1 fun(i) x(j) De lo contrario, establecer.JacobPattern(i,j) = 0 En otras palabras, cuando puede tener ∂/∂ ≠ 0.JacobPattern(i,j) = 1 fun(i) x(j) Se utiliza cuando es incómodo calcular la matriz jacobiana, aunque se puede determinar (digamos, por inspección) cuando depende. puede aproximarse a través de diferencias finitas dispersas cuando se da.JacobPattern J fun fun(i) x(j) fsolve J JacobPattern En el peor de los casos, si la estructura es desconocida, no la establezca.JacobPattern El comportamiento predeterminado es como si se tratara de una matriz densa de unos.JacobPattern A continuación, calcula una aproximación de diferencia finita completa en cada iteración.fsolve Esto puede ser muy costoso para problemas grandes, por lo que generalmente es mejor determinar la estructura de la dispersión. |
MaxPCGIter | Número máximo de iteraciones PCG (degradado conjugada precondicionada), un escalar positivo. El valor predeterminado es.max(1,floor(numberOfVariables/2)) Para obtener más información, consulte.Algoritmos de resolución de ecuaciones |
PrecondBandWidth | Ancho de banda superior del preacondicionador para PCG, un entero no negativo. El valor predeterminado es, lo que significa que se utiliza una factorización directa (Cholesky) en lugar de los degradados conjugados (CG).PrecondBandWidth Inf La factorización directa es computacionalmente más costosa que CG, pero produce un mejor paso de calidad hacia la solución. Se establece en para el preacondicionamiento diagonal (ancho de banda superior de 0).PrecondBandWidth 0 Para algunos problemas, un ancho de banda intermedio reduce el número de iteraciones PCG. |
SubproblemAlgorithm | Determina cómo se calcula el paso de iteración. El valor predeterminado,, toma un paso más lento pero más preciso que.'factorization' 'cg' Ver.Algoritmo de fsolve de la región de confianza |
TolPCG | Tolerancia de terminación en la iteración PCG, un escalar positivo. El valor predeterminado es.0.1 |
Levenberg-Marquardt Algorithm |
InitDamping | Valor inicial del parámetro Levenberg-Marquardt, un escalar positivo. El valor predeterminado es.1e-2 Para obtener más información, consulte.El método Levenberg-Marquardt |
ScaleProblem | a veces puede mejorar la convergencia de un problema mal escalado.'jacobian' El valor predeterminado es.'none' |