Class SubProblemMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.SubProblemMinimizer
-
- All Implemented Interfaces:
Minimizer<ConstrainedOptimSubProblem,SubProblemMinimizer.IterativeSolution<Vector>>,ConstrainedMinimizer<ConstrainedOptimSubProblem,SubProblemMinimizer.IterativeSolution<Vector>>,Optimizer<ConstrainedOptimSubProblem,SubProblemMinimizer.IterativeSolution<Vector>>
public class SubProblemMinimizer extends Object implements ConstrainedMinimizer<ConstrainedOptimSubProblem,SubProblemMinimizer.IterativeSolution<Vector>>
This minimizer solves a constrained optimization sub-problem where the values for some variables are held fixed for the original optimization problem. It does so by creating a new optimization and invoke a customized constrained optimization solver to solve the new problem.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSubProblemMinimizer.ConstrainedMinimizerFactory<U extends ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>>This factory constructs a new instance of ConstrainedMinimizer to solve a real valued minimization problem.static interfaceSubProblemMinimizer.IterativeSolution<Vector>
-
Constructor Summary
Constructors Constructor Description SubProblemMinimizer(double gamma)SubProblemMinimizer(double epsilon, int maxIterations)SubProblemMinimizer(SubProblemMinimizer.ConstrainedMinimizerFactory<? extends ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>> factory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ConstrainedOptimSubProblemgetConstrainedOptimSubProblem(ConstrainedOptimProblem problem, Map<Integer,Double> fixing)Gets the ConstrainedOptimSubProblem representation of the sub-problem.static ConstrainedOptimProblemgetSubProblem(ConstrainedOptimSubProblem problem)Gets the sub-problem in the form of ConstrainedOptimProblem.SubProblemMinimizer.IterativeSolution<Vector>solve(ConstrainedOptimSubProblem problem)Solve an optimization problem, e.g.,OptimProblem.IterativeSolution<Vector>solve(ConstrainedOptimProblem subProblem)Solves a constrained optimization sub-problem that is already in the form of a ConstrainedOptimProblem.SubProblemMinimizer.IterativeSolution<Vector>solve(ConstrainedOptimProblem problem, Map<Integer,Double> fixing)Solves a constrained sub-problem by specifying the fixing explicitly.
-
-
-
Constructor Detail
-
SubProblemMinimizer
public SubProblemMinimizer(SubProblemMinimizer.ConstrainedMinimizerFactory<? extends ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>> factory)
-
SubProblemMinimizer
public SubProblemMinimizer(double epsilon, int maxIterations)
-
SubProblemMinimizer
public SubProblemMinimizer(double gamma)
-
-
Method Detail
-
getConstrainedOptimSubProblem
public static ConstrainedOptimSubProblem getConstrainedOptimSubProblem(ConstrainedOptimProblem problem, Map<Integer,Double> fixing)
Gets the ConstrainedOptimSubProblem representation of the sub-problem.- Parameters:
problem- the original constrained optimization problemfixing- the fixed values- Returns:
- the ConstrainedOptimSubProblem representation of the sub-problem
-
getSubProblem
public static ConstrainedOptimProblem getSubProblem(ConstrainedOptimSubProblem problem)
Gets the sub-problem in the form of ConstrainedOptimProblem.- Parameters:
problem- a constrained optimization sub-problem- Returns:
- the corresponding constrained optimization problem for the sub-problem
-
solve
public IterativeSolution<Vector> solve(ConstrainedOptimProblem subProblem) throws Exception
Solves a constrained optimization sub-problem that is already in the form of a ConstrainedOptimProblem.- Parameters:
subProblem- the constrained optimization sub-problem in the form of a ConstrainedOptimProblem- Returns:
- a solution to the optimization sub-problem
- Throws:
Exception
-
solve
public SubProblemMinimizer.IterativeSolution<Vector> solve(ConstrainedOptimSubProblem problem) throws Exception
Description copied from interface:OptimizerSolve an optimization problem, e.g.,OptimProblem.- Specified by:
solvein interfaceOptimizer<ConstrainedOptimSubProblem,SubProblemMinimizer.IterativeSolution<Vector>>- Parameters:
problem- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception- when there is an error solving the problem
-
solve
public SubProblemMinimizer.IterativeSolution<Vector> solve(ConstrainedOptimProblem problem, Map<Integer,Double> fixing) throws Exception
Solves a constrained sub-problem by specifying the fixing explicitly.- Parameters:
problem- the original full constrained optimization problemfixing- the indices and the values to be fixed- Returns:
- a solution to the optimization sub-problem
- Throws:
Exception
-
-