Class PrimalDualInteriorPointMinimizer.Solution
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.interiorpoint.PrimalDualInteriorPointMinimizer.Solution
-
- All Implemented Interfaces:
IterativeMethod<PrimalDualSolution>
,IterativeSolution<PrimalDualSolution>
,MinimizationSolution<PrimalDualSolution>
- Enclosing class:
- PrimalDualInteriorPointMinimizer
public class PrimalDualInteriorPointMinimizer.Solution extends Object implements IterativeSolution<PrimalDualSolution>
This is the solution to a Dual Second Order Conic Programming problem using the Primal Dual Interior Point algorithm.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PrimalDualSolution
minimizer()
Get the minimizer (solution) to the minimization problem.double
minimum()
Get the (approximate) minimum found.PrimalDualSolution
search()
Searches for a solution that optimizes the objective function from the starting point given by K.PrimalDualSolution
search(PrimalDualSolution initial)
Searches for a solution that optimizes the objective function from the given starting point.PrimalDualSolution
search(PrimalDualSolution... initials)
Search for a solution that optimizes the objective function from the given starting points.void
setInitials(PrimalDualSolution... initials)
Supply the starting points for the search.Boolean
step()
Do the next iteration.
-
-
-
Method Detail
-
minimum
public double minimum()
Get the (approximate) minimum found. c*x is the value of the prime objective function, and b*y is the value of the dual objective function. In theory c*x=b*y. For an SOCP problem, the prime objective function is minimized, while the dual objective function is maximized. Therefore, the method "minimum()" return c*x.- Specified by:
minimum
in interfaceMinimizationSolution<PrimalDualSolution>
- Returns:
- the (approximate) minimum found
-
minimizer
public PrimalDualSolution minimizer()
Description copied from interface:MinimizationSolution
Get the minimizer (solution) to the minimization problem.- Specified by:
minimizer
in interfaceMinimizationSolution<PrimalDualSolution>
- Returns:
- the minimizer
-
setInitials
public void setInitials(PrimalDualSolution... 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<PrimalDualSolution>
- Parameters:
initials
- the initial guesses
-
search
public PrimalDualSolution search(PrimalDualSolution... initials) throws Exception
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<PrimalDualSolution>
- Parameters:
initials
- the initial guesses- Returns:
- an (approximate) optimizer
- Throws:
Exception
- when an error occurs during the search
-
search
public PrimalDualSolution search(PrimalDualSolution initial) throws Exception
Searches for a solution that optimizes the objective function from the given starting point.- Parameters:
initial
- an initial guess- Returns:
- an (approximate) optimizer
- Throws:
Exception
- when an error occurs during the search
-
search
public PrimalDualSolution search() throws Exception
Searches for a solution that optimizes the objective function from the starting point given by K. C. Toh, SDPT3 Version 3.0, p. 6.- Returns:
- an (approximate) optimizer
- Throws:
Exception
- when an error occurs during the search
-
step
public Boolean step()
Description copied from interface:IterativeMethod
Do the next iteration.- Specified by:
step
in interfaceIterativeMethod<PrimalDualSolution>
- Returns:
- the information about this step
-
-