Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Tolerancias y criterios de detención

El número de iteraciones en una optimización depende de un solucionador deCriterios de detención. Estos criterios incluyen varios que puede establecer.Tolerancias Por lo general, una tolerancia es un umbral que, si se cruza, detiene las iteraciones de un solucionador.

Establezca tolerancias y otros criterios utilizando como se explica en.optimoptionsEstablecer y cambiar opciones

Sugerencia

Generalmente establece tolerancias como y para estar bien arriba, y usualmente arriba.OptimalityToleranceStepToleranceeps1e-14 Establecer tolerancias pequeñas no siempre da como resultado resultados precisos. En su lugar, un solucionador puede no reconocer cuándo ha convergido y puede continuar con iteraciones inútiles. Un valor de tolerancia menor que deshabilita eficazmente esa condición de detención.eps Esta sugerencia no se aplica a, que utiliza un valor predeterminado de para la tolerancia.fzeroepsTolX

Puede encontrar las tolerancias predeterminadas en el.Aplicación de optimización Algunas tolerancias predeterminadas difieren para los diferentes algoritmos, así que establezca tanto el solucionador como el algoritmo.

muestra las tolerancias.optimoptions Por ejemplo,

options = optimoptions('fmincon'); [options.OptimalityTolerance,options.FunctionTolerance,options.StepTolerance]
ans =     1.0e-06 *      1.0000    1.0000    0.0001

También puede encontrar las tolerancias predeterminadas en la sección de opciones de la página de referencia de la función de solucionador.

  • es un límite inferior del tamaño de un paso, es decir, la norma deStepTolerance (xi – xi+1). Si el solucionador intenta dar un paso menor que, las iteraciones finalizan. se utiliza generalmente como un límite, lo que significa que las iteraciones terminan cuandoStepToleranceStepTolerancerelative |(xi – xi+1)| <StepTolerance*(1 + |xi|), o una medida relativa similar.

  • Para algunos algoritmos, es un límite inferior en el cambio en el valor de la función objetivo durante un paso.FunctionTolerance Para esos algoritmos, si |f(xi) – f(xi+1)| <, las iteraciones terminan. se utiliza generalmente como un límite, lo que significa que las iteraciones terminan cuandoFunctionToleranceFunctionTolerancerelative |f(xi) – f(xi+1)| <FunctionTolerance*(1 + |f(xi)|), o una medida relativa similar.

    Nota

    A diferencia de otros solucionadores, se detiene cuando satisface (la tolerancia de la función) y (la tolerancia de paso).fminsearchbothTolFunTolX

  • es una tolerancia para la medida de optimalidad de primer orden.OptimalityTolerance Si la medida de optimalidad es menor que, las iteraciones terminan. también puede ser un límite relativo en la medida de optimalidad de primer orden.OptimalityToleranceOptimalityTolerance La medida de optimalidad de primer orden se define en.Medida de optimalidad de primer orden

  • es un límite superior en la magnitud de las funciones de restricción.ConstraintTolerance Si un solucionador devuelve un punto conx c(x) > OConstraintTolerance |ceq(x)| > , el solucionador informa de que se violan las restricciones. también puede ser un límite relativo.ConstraintTolerancexConstraintTolerance

    Nota

    funciona de forma diferente a otras tolerancias.ConstraintTolerance Si no se satisface (es decir, si la magnitud de la función de restricción supera), el solucionador intentará continuar, a menos que se detenga por otro motivo.ConstraintToleranceConstraintTolerance Un solucionador no se detiene simplemente porque está satisfecho.ConstraintTolerance

  • es un límite en el número de iteraciones del solucionador. es un límite en el número de evaluaciones de funciones.MaxIterationsMaxFunctionEvaluations Se discuten las iteraciones y las evaluaciones de funciones.Iteraciones y recuentos de funciones

Hay otras dos tolerancias que se aplican a los solucionadores particulares: y.TolPCGMaxPCGIter Estos se relacionan con los pasos de gradiente conjugada preacondicionados. Para obtener más información, consulte.Método de gradiente conjugada precondicionado

Hay varias tolerancias que sólo se aplican al algoritmo de punto interior.fmincon Para obtener más información, consulte in.Interior-Point Algorithmfminconoptions

Hay varias tolerancias que sólo se aplican a.intlinprog Mira y.Algunas soluciones "integer" no son números enterosRama y encuadernado

Temas relacionados