Main Content

Iteraciones y recuentos de la función

En general, los solvers de Optimization Toolbox™ iteran para encontrar un óptimo. Un solver comienza en un valor inicial x0, realiza algunos cálculos intermedios con los que finalmente se obtiene un punto nuevo x1 y, después, repite el proceso para encontrar aproximaciones sucesivas x2, x3, ... del mínimo local. El procesamiento se detiene después un número k de iteraciones.

Puede limitar el número de iteraciones o recuentos de la función estableciendo las opciones MaxIterations o MaxFunctionEvaluations para un solver utilizando optimoptions. O, si quiere que un solver continúe después de alcanzar uno de estos límites, eleve los valores de estas opciones. Consulte Establecer y modificar opciones de optimización.

En cualquier paso, los cálculos intermedios pueden implicar evaluar la función objetivo y cualquier restricción en puntos cerca de la iteración actual xi. Por ejemplo, es posible que el solver estime un gradiente mediante diferencias finitas. En cada punto cercano, el recuento de la función (F-count) aumenta en uno. La figura Iteración típica en espacio en 3D muestra que, en un espacio en 3D con diferencias finitas progresivas de tamaño delta, una iteración corresponde normalmente a un aumento de cuatro en el recuento de la función. En la figura, ei representa el vector unitario en la dirección de coordenada i-ésima.

Iteración típica en espacio en 3D

  • Si el problema no tiene restricciones, F-count informa sobre el número total de evaluaciones de la función objetivo.

  • Si el problema tiene restricciones, F-count informa únicamente sobre el número de puntos donde se realizaron las evaluaciones de la función, no sobre el número total de evaluaciones de funciones de restricción. De este modo, si el problema tiene muchas restricciones, F-count puede ser significativamente menor que el número total de evaluaciones de función.

En ocasiones, un solver intenta realizar un paso y rechaza el intento. Los algoritmos trust-region, trust-region-reflective y trust-region-dogleg cuentan estos intentos fallidos como iteraciones e informan sobre el resultado (sin cambios) en la visualización iterativa. Los algoritmos interior-point, active-set y levenberg-marquardt no cuentan los intentos fallidos como iteraciones y no informan sobre dichos intentos en la visualización iterativa. Todos los pasos que se han intentado aumentan el F-count, con independencia del algoritmo.

F-count es un encabezado en la visualización iterativa de muchos solvers. Para ver un ejemplo, consulte Interpretar el resultado.

El F-count aparece en la estructura de salida como output.funcCount, lo que le permite acceder al recuento de evaluación de forma programática. Para obtener más información, consulte Estructuras de salida.

Consulte también

Temas relacionados