Class PrimalDualInteriorPointMinimizer1.Solution
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.interiorpoint.PrimalDualInteriorPointMinimizer1.Solution
-
- All Implemented Interfaces:
IterativeMethod<PrimalDualSolution>,IterativeSolution<PrimalDualSolution>,MinimizationSolution<PrimalDualSolution>
- Enclosing class:
- PrimalDualInteriorPointMinimizer1
public class PrimalDualInteriorPointMinimizer1.Solution extends Object implements IterativeSolution<PrimalDualSolution>
This is the solution to a Dual Second-Order Conic Programming problem using the Primal-Dual Predictor-Corrector Interior Point algorithm.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PrimalDualSolutionminimizer()Get the minimizer (solution) to the minimization problem.doubleminimum()Get the (approximate) minimum found.PrimalDualSolutionsearch()[Previous Version] Searches for a solution that optimizes the objective function from the starting point given by K.PrimalDualSolutionsearch(PrimalDualSolution initial)Searches for a solution that optimizes the objective function from the given starting point.PrimalDualSolutionsearch(PrimalDualSolution... initials)Search for a solution that optimizes the objective function from the given starting points.voidsetInitials(PrimalDualSolution... initials)Supply the starting points for the search.Booleanstep()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:
minimumin interfaceMinimizationSolution<PrimalDualSolution>- Returns:
-
minimizer
public PrimalDualSolution minimizer()
Description copied from interface:MinimizationSolutionGet the minimizer (solution) to the minimization problem.- Specified by:
minimizerin interfaceMinimizationSolution<PrimalDualSolution>- Returns:
- the minimizer
-
setInitials
public void setInitials(PrimalDualSolution... initials)
Description copied from interface:IterativeMethodSupply the starting points for the search. This can also initialize the state of the algorithm for a new search.- Specified by:
setInitialsin interfaceIterativeMethod<PrimalDualSolution>- Parameters:
initials- the initial guesses
-
search
public PrimalDualSolution search(PrimalDualSolution... initials) throws Exception
Description copied from interface:IterativeMethodSearch 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:
searchin 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
[Previous Version] Searches for a solution that optimizes the objective function from the starting point given by K. C. Toh, SDPT3 Version 3.0, p. 6. [Current version] Searches for a solution using initialization suggested by SDPT3 version 4. See Section 25.3.7 of the reference paper.- Returns:
- an (approximate) optimizer
- Throws:
Exception- when an error occurs during the search
-
step
public Boolean step()
Description copied from interface:IterativeMethodDo the next iteration.- Specified by:
stepin interfaceIterativeMethod<PrimalDualSolution>- Returns:
- the information about this step
-
-