Class QPPrimalActiveSetMinimizer.Solution
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.qp.solver.activeset.QPPrimalActiveSetMinimizer.Solution
-
- All Implemented Interfaces:
IterativeMethod<QPSolution>
,IterativeSolution<QPSolution>
,MinimizationSolution<QPSolution>
- Enclosing class:
- QPPrimalActiveSetMinimizer
public class QPPrimalActiveSetMinimizer.Solution extends Object implements IterativeSolution<QPSolution>
This is the solution to a Quadratic Programming problem using the Primal Active Set algorithm.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QPSolution
minimizer()
Get the minimizer (solution) to the minimization problem.double
minimum()
Get the (approximate) minimum found.QPSolution
search()
Searches for a minimizer for the quadratic programming problem.QPSolution
search(Vector initial)
Searches for a minimizer for the quadratic programming problem.QPSolution
search(QPSolution initial)
Searches for a minimizer for the quadratic programming problem from the given starting points.QPSolution
search(QPSolution... initials)
Search for a solution that optimizes the objective function from the given starting points.void
setInitials(QPSolution... initials)
Supply the starting points for the search.Object
step()
Do the next iteration.
-
-
-
Method Detail
-
setInitials
public void setInitials(QPSolution... initials)
Description copied from interface:IterativeMethod
Supply the starting points for the search. This can also initialize the state of the algorithm for a new search.- Specified by:
setInitials
in interfaceIterativeMethod<QPSolution>
- Parameters:
initials
- the initial guesses
-
step
public Object step()
Description copied from interface:IterativeMethod
Do the next iteration.- Specified by:
step
in interfaceIterativeMethod<QPSolution>
- Returns:
- the information about this step
-
search
public QPSolution search() throws QPInfeasible
Searches for a minimizer for the quadratic programming problem.- Returns:
- a quadratic programming solution
- Throws:
QPInfeasible
- if there is no solution to the quadratic programming problem- See Also:
- "Algorithms 16.3 and 13.1"
-
search
public QPSolution search(Vector initial) throws QPInfeasible
Searches for a minimizer for the quadratic programming problem.- Parameters:
initial
- a strictly feasible initial point that satisfies the constraints- Returns:
- a quadratic programming solution
- Throws:
QPInfeasible
- if there is no solution to the quadratic programming problem- See Also:
- "Algorithms 16.3 and 13.1"
-
search
public QPSolution search(QPSolution initial) throws QPInfeasible
Searches for a minimizer for the quadratic programming problem from the given starting points.- Parameters:
initial
- an initial guess- Returns:
- an (approximate) optimizer
- Throws:
QPInfeasible
- when the quadratic programming problem is infeasible
-
search
public QPSolution search(QPSolution... initials) throws QPInfeasible
Description copied from interface:IterativeMethod
Search for a solution that optimizes the objective function from the given starting points. This method typically calls first#setInitials(S...)
and then iterativelyIterativeMethod.step()
. It implements a default convergence criterion.- Specified by:
search
in interfaceIterativeMethod<QPSolution>
- Parameters:
initials
- the initial guesses- Returns:
- an (approximate) optimizer
- Throws:
QPInfeasible
-
minimizer
public QPSolution minimizer()
Description copied from interface:MinimizationSolution
Get the minimizer (solution) to the minimization problem.- Specified by:
minimizer
in interfaceMinimizationSolution<QPSolution>
- Returns:
- the minimizer
-
minimum
public double minimum()
Description copied from interface:MinimizationSolution
Get the (approximate) minimum found.- Specified by:
minimum
in interfaceMinimizationSolution<QPSolution>
- Returns:
- the (approximate) minimum found
-
-