Referencia de opciones de optimización
Opciones de optimización
La siguiente tabla describe las opciones de optimización. Cree opciones utilizando la función optimoptions
u optimset
para fminbnd
, fminsearch
, fzero
o lsqnonneg
.
Consulte las páginas de referencia de la función en cuestión para ver información sobre los valores de opción disponibles y los valores predeterminados.
Los valores predeterminados para las opciones varían dependiendo de la función de optimización a la que llama con options
como argumento de entrada. Puede determinar los valores de opción predeterminados para cualquiera de las funciones de optimización introduciendo optimoptions('
o el equivalente solvername
')optimoptions(@
. Por ejemplo:solvername
)
optimoptions('fmincon')
devuelve una lista de las opciones y los valores predeterminados para el algoritmo 'interior-point'
fmincon
predeterminado. Para encontrar los valores predeterminados para otro algoritmo fmincon
, establezca la opción Algorithm
. Por ejemplo:
opts = optimoptions('fmincon','Algorithm','sqp')
optimoptions
"esconde" algunas opciones; es decir, no muestra sus valores. Esas opciones no aparecen en esta tabla. En su lugar, aparecen en Opciones ocultas.
Opciones de optimización
Nombre de opción | Descripción | Utilizada por las funciones | Restricciones |
---|---|---|---|
AbsoluteGapTolerance | Valor real no negativo.
| intlinprog | Solo optimoptions |
AbsoluteMaxObjectiveCount | Número de F(x) para minimizar los valores absolutos del peor de los casos. | ||
Algorithm | Elige el algoritmo utilizado por el solver. | fmincon , fminunc , fsolve , linprog , lsqcurvefit , lsqlin , lsqnonlin , quadprog | |
BarrierParamUpdate | Elige el algoritmo para actualizar el parámetro de barrera del algoritmo | fmincon | |
BranchRule | Regla para escoger el componente para la ramificación:
| intlinprog | Solo optimoptions |
CheckGradients | Compare las derivadas analíticas proporcionadas por el usuario (gradientes o matrices jacobianas, en función del solver seleccionado) con las derivadas de diferencias finitas. |
| Solo optimoptions . Para optimset , utilice DerivativeCheck |
ConstraintTolerance | Tolerancia en la vulneración de restricciones. |
| Solo optimoptions . Para optimset , utilice TolCon |
CutGeneration | Nivel de generación de corte (consulte Generación de cortes):
| intlinprog | Solo optimoptions |
CutMaxIterations | Número de pases por todos los métodos de generación de cortes antes de entrar en la fase de ramificación y acotamiento, un entero de 1 a 50 . Deshabilite la generación de cortes estableciendo la opción CutGeneration en 'none' . | intlinprog | Solo optimoptions |
Display | Nivel de visualización.
| Todas. Consulte las páginas de referencia de la función en cuestión para ver los valores que se aplican. | |
EnableFeasibilityMode | Elige el algoritmo para lograr factibilidad en el algoritmo | fmincon | |
EqualityGoalCount | Especifique el número de objetivos requeridos para que el objetivo | Solo optimoptions . Para optimset , utilice GoalsExactAchieve | |
FiniteDifferenceStepSize | Factor de tamaño de paso de escalar o vector para diferencias finitas. Cuando establece
sign′(x) = sign(x) excepto sign′(0) = 1 . Las diferencias finitas centrales son
FiniteDifferenceStepSize se expande a un vector. La opción predeterminada es sqrt(eps) para diferencias finitas progresivas y eps^(1/3) para diferencias finitas centrales. |
| Solo optimoptions . Para optimset , utilice FinDiffRelStep |
FiniteDifferenceType | Las diferencias finitas, utilizadas para estimar gradientes, son o bien |
| Solo optimoptions . Para optimset , utilice FinDiffType |
FunctionTolerance | Tolerancia de terminación en el valor de la función. |
| Solo optimoptions . Para optimset , utilice TolFun |
HessianApproximation | Método de aproximación de la matriz hessiana: Se ignora cuando | Solo optimoptions . Para optimset , utilice Hessian | |
HessianFcn | Matriz hessiana proporcionada por el usuario, especificada como un identificador de función (consulte Incluir matrices hessianas). | fmincon , fminunc | Solo optimoptions . Para optimset , utilice HessFcn |
HessianMultiplyFcn | Función de multiplicación de matriz hessiana proporcionada por el usuario, especificada como un identificador de función. Se ignora cuando | Solo optimoptions . Para optimset , utilice HessMult | |
Heuristics | Algoritmo para buscar puntos factibles (consulte Heurística para encontrar soluciones factibles):
| intlinprog | Solo optimoptions |
HeuristicsMaxNodes | Entero estrictamente positivo que limita el número de nodos que puede explorar intlinprog en su búsqueda de ramificación y acotación de puntos factibles. Consulte Heurística para encontrar soluciones factibles. | intlinprog | Solo optimoptions |
HonorBounds | La opción predeterminada | fmincon | Solo optimoptions . Para optimset , utilice AlwaysHonorConstraints |
IntegerPreprocess | Tipos de preprocesamiento de enteros (consulte Preprocesamiento de programas de enteros mixtos):
| intlinprog | Solo optimoptions |
IntegerTolerance | Valor real de 1e-6 a 1e-3 , donde se da la desviación máxima del entero que puede tener un componente de la solución x para que se siga considerando un entero. IntegerTolerance no es un criterio de detención. | intlinprog | Solo optimoptions |
JacobianMultiplyFcn | Función de multiplicación de matriz jacobiana proporcionada por el usuario, especificada como un identificador de función. Se ignora a menos que | ||
LinearSolver | Tipo de solver lineal interno en el algoritmo. Para
Para
|
| |
LPMaxIterations | Entero estrictamente positivo, el número máximo de iteraciones de algoritmo simplex por nodo durante el proceso de ramificación y acotamiento. | intlinprog | Solo optimoptions |
LPOptimalityTolerance | Valor real no negativo donde los costes reducidos deben superar LPOptimalityTolerance para que una variable se incorpore a la base. | intlinprog | Solo optimoptions |
MaxFunctionEvaluations | Número máximo de evaluaciones de función permitidas. |
| Solo optimoptions . Para optimset , utilice MaxFunEvals |
MaxIterations | Número máximo de iteraciones permitidas. | Solo optimoptions . Para optimset , utilice MaxIter | |
MaxFeasiblePoints | Entero estrictamente positivo. intlinprog se detiene si encuentra MaxFeasiblePoints puntos factibles enteros. | intlinprog | Solo optimoptions |
MaxNodes | Entero estrictamente positivo que es el número máximo de nodos que explora el solver en su proceso de ramificación y acotación. | ||
MaxTime | Tiempo máximo en segundos permitido para el algoritmo. | ||
NodeSelection | Escoja el nodo que desea explorar a continuación.
| intlinprog | Solo optimoptions |
ObjectiveCutOff | Valor real mayor que -Inf . La opción predeterminada es Inf . | intlinprog | Solo optimoptions |
ObjectiveImprovementThreshold | Valor real no negativo. intlinprog cambia la solución factible actual solo cuando ubica otra con un valor de función objetivo que es al menos menor en la misma magnitud que el valor de ObjectiveImprovementThreshold : (fold – fnew)/(1 + |fold|) > ObjectiveImprovementThreshold. | intlinprog | Solo optimoptions |
ObjectiveLimit | Si el valor de la función objetivo es inferior a | fmincon , fminunc , lsqlin , quadprog | |
OptimalityTolerance | Tolerancia de terminación en la optimalidad de primer orden. |
| Solo optimoptions . Para optimset , utilice TolFun |
OutputFcn | Especifique una o varias funciones definidas por el usuario a las que una función de optimización llame en cada iteración. Pase un identificador de función o un arreglo de celdas de identificadores de función. Consulte Output Function and Plot Function Syntax o intlinprog Output Function and Plot Function Syntax. |
| |
PlotFcn | Representa varias medidas de progreso mientras el algoritmo se ejecuta. Seleccione una de las gráficas predefinidas o escriba la suya propia. Introduzca el nombre de función como aparece en la lista o como un identificador de función como
Consulte Funciones de gráfica o intlinprog Output Function and Plot Function Syntax. |
| Solo optimoptions . Para optimset , utilice PlotFcns |
RelativeGapTolerance | Valor real de
| intlinprog | Solo optimoptions |
RootLPAlgorithm | Algoritmo para resolver programas lineales:
| intlinprog | Solo optimoptions |
RootLPMaxIterations | Entero no negativo que es el número máximo de iteraciones del algoritmo simplex para resolver el problema de programación lineal inicial. | intlinprog | Solo optimoptions |
ScaleProblem | Para algoritmos | fmincon | |
SpecifyConstraintGradient | Gradientes definidas por el usuario para las restricciones no lineales. | Solo optimoptions . Para optimset , utilice GradConstr | |
SpecifyObjectiveGradient | Gradientes o matrices jacobianas definidas por el usuario para las funciones objetivo. |
| Solo optimoptions . Para optimset , utilice GradObj o Jacobian |
StepTolerance | Tolerancia de terminación en x. | ||
SubproblemAlgorithm | Determina cómo se calcula el paso de iteración. | fmincon , fminunc , fsolve , lsqcurvefit , lsqlin , lsqnonlin | |
TypicalX | Arreglo que especifica la magnitud típica del arreglo de parámetros |
| |
UseParallel | Cuando |
|
Opciones ocultas
optimoptions
"esconde" algunas opciones; es decir, no muestra sus valores. Para descubrir cómo visualizar estas opciones y por qué están ocultas, consulte Consultar las opciones de optimización.
Las páginas de referencia de la función enumeran estas opciones en cursiva.
Opciones ocultas de Optimization Toolbox
Esta tabla enumera las opciones ocultas de Optimization Toolbox™.
Opciones ocultadas por optimoptions
Nombre de opción | Descripción | Utilizada por las funciones | Restricciones |
---|---|---|---|
Diagnóstico | Muestre información de diagnóstico sobre la función que se desea minimizar o resolver. | Todas excepto | |
DiffMaxChange | Cambio máximo en las variables para diferenciación finita. |
| |
DiffMinChange | Cambio mínimo en las variables para diferenciación finita. |
| |
FunValCheck | Compruebe si los valores de la función objetivo y de las restricciones son válidos. Nota
|
| |
HessPattern | Patrón de dispersión de la matriz hessiana para diferenciación finita. El tamaño de la matriz es de n por n, donde n es el número de elementos en | ||
HessUpdate | Método de actualización quasi-Newton. | ||
InitBarrierParam | Valor de barrera inicial. | fmincon | |
InitDamping | Parámetro Levenberg-Marquardt inicial. | fsolve , lsqcurvefit , lsqnonlin | Solo optimoptions |
InitTrustRegionRadius | Radio inicial de la región de confianza. | fmincon | |
JacobPattern | Patrón de dispersión de la matriz jacobiana para diferenciación finita. El tamaño de la matriz es | ||
LPPreprocess | Tipo de preprocesamiento para la solución al programa lineal relajado (consulte Preprocesamiento de la programación lineal):
| intlinprog | Solo optimoptions |
MaxPCGIter | Número máximo de iteraciones permitidas del método del gradiente conjugado precondicionado. |
| |
MaxProjCGIter | Una tolerancia para el número de iteraciones de gradiente conjugado proyectado; se trata de una iteración interior, no del número de iteraciones del algoritmo. | fmincon | |
MaxSQPIter | Número máximo de iteraciones permitidas del método de programación cuadrática secuencial. | ||
MeritFunction | Utilice la función de mérito de consecución de metas/mínimo y máximo (multiobjetivo) frente a | ||
PrecondBandWidth | Ancho de banda superior del precondicionador para PCG. Estableciéndolo en |
| |
Preproceso | Nivel de preprocesamiento LP anterior a las iteraciones del algoritmo simplex o dual simplex. | Solo optimoptions | |
RelLineSrchBnd | Límite relativo de la longitud de paso de búsqueda de recta. | ||
RelLineSrchBndDuration | Número de iteraciones para el cual debe estar activo el límite que se especifica en | ||
ScaleProblem | Al utilizar la opción | fsolve , lsqcurvefit , lsqnonlin | |
TolConSQP | Tolerancia de vulneración de restricciones para la iteración interior SQP. | fgoalattain , fmincon , fminimax , fseminf | |
TolPCG | Tolerancia de terminación en la iteración PCG. |
| |
TolProjCG | Una tolerancia relativa para el algoritmo de gradiente conjugado proyectado; se trata de una iteración interior, no de la iteración del algoritmo. | fmincon | |
TolProjCGAbs | Tolerancia absoluta para el algoritmo de gradiente conjugado proyectado; se trata de una iteración interior, no de la iteración del algoritmo. | fmincon |
Opciones ocultas de Global Optimization Toolbox
Para saber por qué estas opciones están ocultas, consulte Options that optimoptions Hides (Global Optimization Toolbox).
Opciones ocultadas por optimoptions
Nombre de opción | Utilizada por las funciones |
---|---|
Cache |
|
CacheSize |
|
CacheTol |
|
DisplayInterval |
|
FunValCheck |
|
HybridInterval |
|
InitialPenalty |
|
MaxMeshSize |
|
MeshRotate |
|
MigrationDirection |
|
MigrationFraction |
|
MigrationInterval |
|
PenaltyFactor |
|
PlotInterval |
|
StallTest |
|
TolBind | patternsearch |