Class BruteForceIPMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.integer.bruteforce.BruteForceIPMinimizer
-
- All Implemented Interfaces:
Minimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
,IPMinimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
,MultivariateMinimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
,Optimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
public class BruteForceIPMinimizer extends Object implements IPMinimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
This implementation solves an integral constrained minimization problem by brute force search for all possible integer combinations. For each element in the Cartesian product, it fixes the integral variables to the integers. The problem then becomes a real valued minimization problem, which can be solved by another constrained minimization algorithm, e.g., Nelder-Mead or BFGS. The drawbacks are that: (1) the integral domains must be enumerable, hence bounded and known; (2) the performance is very slow.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BruteForceIPMinimizer.Solution
This is the solution to an integral constrained minimization using the brute-force search.
-
Constructor Summary
Constructors Constructor Description BruteForceIPMinimizer(double epsilon, int maxIterations)
Constructs a brute force minimizer to solve integral constrained minimization problems.BruteForceIPMinimizer(SubProblemMinimizer.ConstrainedMinimizerFactory<? extends ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>> factory)
Constructs a brute force minimizer to solve integral constrained minimization problems.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BruteForceIPMinimizer.Solution
solve(BruteForceIPProblem problem)
Solve an optimization problem, e.g.,OptimProblem
.
-
-
-
Constructor Detail
-
BruteForceIPMinimizer
public BruteForceIPMinimizer(SubProblemMinimizer.ConstrainedMinimizerFactory<? extends ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>> factory)
Constructs a brute force minimizer to solve integral constrained minimization problems.- Parameters:
factory
- a factory that constructs a new instance of SubProblemMinimizer.ConstrainedMinimizerFactory to solve a real valued minimization problem
-
BruteForceIPMinimizer
public BruteForceIPMinimizer(double epsilon, int maxIterations)
Constructs a brute force minimizer to solve integral constrained minimization problems.- Parameters:
epsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterations
-
-
Method Detail
-
solve
public BruteForceIPMinimizer.Solution solve(BruteForceIPProblem problem) throws Exception
Description copied from interface:Optimizer
Solve an optimization problem, e.g.,OptimProblem
.- Specified by:
solve
in interfaceOptimizer<BruteForceIPProblem,MinimizationSolution<Vector>>
- Parameters:
problem
- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception
- when there is an error solving the problem
-
-