Class SimpleGridMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.geneticalgorithm.minimizer.simplegrid.SimpleGridMinimizer
-
- All Implemented Interfaces:
Minimizer<OptimProblem,IterativeSolution<Vector>>
,IterativeMinimizer<OptimProblem>
,MultivariateMinimizer<OptimProblem,IterativeSolution<Vector>>
,Optimizer<OptimProblem,IterativeSolution<Vector>>
- Direct Known Subclasses:
DEOptim
,GlobalSearchByLocalMinimizer
public class SimpleGridMinimizer extends Object implements IterativeMinimizer<OptimProblem>
This minimizer is a simple global optimization method. It puts a mesh over the feasible region and then locally searches (optimizes) the neighborhood around each mesh point. The algorithm tries to escape the local minimums by crossing over other local minimums using a genetic algorithm.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SimpleGridMinimizer.NewCellFactoryCtor
This factory constructs a newSimpleCellFactory
for each minimization problem.protected class
SimpleGridMinimizer.Solution
This is the solution to a minimization problem usingSimpleGridMinimizer
.
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_STABLE_ITERATION_COUNT
protected double
epsilon
protected SimpleGridMinimizer.NewCellFactoryCtor
factoryCtor
protected int
maxIterations
protected int
nStableIterations
protected RandomLongGenerator
uniform
-
Constructor Summary
Constructors Constructor Description SimpleGridMinimizer(double epsilon, int maxIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.SimpleGridMinimizer(SimpleGridMinimizer.NewCellFactoryCtor factoryCtor, RandomLongGenerator uniform, double epsilon, int maxIterations, int nStableIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.SimpleGridMinimizer(RandomLongGenerator uniform, double epsilon, int maxIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IterativeSolution<Vector>
solve(OptimProblem problem)
Solve an optimization problem, e.g.,OptimProblem
.
-
-
-
Field Detail
-
DEFAULT_STABLE_ITERATION_COUNT
public static final int DEFAULT_STABLE_ITERATION_COUNT
- See Also:
- Constant Field Values
-
uniform
protected final RandomLongGenerator uniform
-
factoryCtor
protected final SimpleGridMinimizer.NewCellFactoryCtor factoryCtor
-
epsilon
protected final double epsilon
-
maxIterations
protected final int maxIterations
-
nStableIterations
protected final int nStableIterations
-
-
Constructor Detail
-
SimpleGridMinimizer
public SimpleGridMinimizer(SimpleGridMinimizer.NewCellFactoryCtor factoryCtor, RandomLongGenerator uniform, double epsilon, int maxIterations, int nStableIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.- Parameters:
factoryCtor
- a factory that constructs a new instance ofSimpleCellFactory
for each problemuniform
- a uniform random number generatorepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterationsnStableIterations
- the solution is considered converged if the minimum does not change over this many iterations
-
SimpleGridMinimizer
public SimpleGridMinimizer(RandomLongGenerator uniform, double epsilon, int maxIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.- Parameters:
uniform
- a uniform random number generatorepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterations
-
SimpleGridMinimizer
public SimpleGridMinimizer(double epsilon, int maxIterations)
Construct aSimpleGridMinimizer
to solve unconstrained minimization problems.- Parameters:
epsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterations
-
-
Method Detail
-
solve
public IterativeSolution<Vector> solve(OptimProblem problem) throws Exception
Description copied from interface:Optimizer
Solve an optimization problem, e.g.,OptimProblem
.- Specified by:
solve
in interfaceOptimizer<OptimProblem,IterativeSolution<Vector>>
- Parameters:
problem
- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception
- when there is an error solving the problem
-
-