- All Superinterfaces:
- All Known Subinterfaces:
- All Known Implementing Classes:
public interface IterativeOptimization extends Serializable
Interface for iterative optimization classes. One iteration is performed in the search by
iterate() function. When the optimization has terminated iterate() will
return true. All implementers of this class must terminate within a finite number of steps. The
process can terminate because it has converged or no more progress can be made.
Implementers of this class will provide a function that returns the best set of parameters found
so far. This allows the progress to be terminated early if it is taking an excessive amount of time.
All implementations are also
Serializable, allowing intermediate progress to be saved and
- See Also:
Modifier and Type Method Description
()Indicates if iteration stopped due to convergence or not.
()True if the parameter(s) being optimized have been updated
()Updates the search.
PrintStream out, int level)(@NullableIf set to a non-null output then extra information will be printed to the specified stream.
iterateboolean iterate() throws OptimizationException
Updates the search. If the search has terminated true is returned. After the search has terminated invoke
isConverged()to see if a solution has been converged to or if it stopped for some other reason.
NOTE: The optimization parameters might not be modified after iterate() is called. An internal book keeping step might have been done. To see if parameters have changed call
- true if it has converged or that no more progress can be made.
isUpdatedboolean isUpdated()True if the parameter(s) being optimized have been updated
- True if parameters have been updated
isConvergedboolean isConverged()Indicates if iteration stopped due to convergence or not.
- True if iteration stopped because it converged.
setVerbosevoid setVerbose(@Nullable @Nullable PrintStream out, int level)If set to a non-null output then extra information will be printed to the specified stream.
out- Stream that is printed to. Set to null to disable
level- (Future use) Parameter which can be used to specify level of verbose output. Set to zero for now.