Class ConvexSolver
- All Implemented Interfaces:
Optimisation, Optimisation.Solver
- Direct Known Subclasses:
BasePrimitiveSolver, IterativeRefinementSolver, IterativeRefinementSolver2, IterativeRefinementSolverDouble, NullSpaceASS
min 1/2 [X]T[Q][X] - [C]T[X]
when [AE][X] == [BE]
and [AI][X] invalid input: '<'= [BI]
The matrix [Q] is assumed to be symmetric (it must be made that way) and positive (semi)definite:
- If [Q] is positive semidefinite, then the objective function is convex: In this case the quadratic program has a global minimizer if there exists some feasible vector [X] (satisfying the constraints) and if the objective function is bounded below on the feasible region.
- If [Q] is positive definite and the problem has a feasible solution, then the global minimizer is unique.
The general recommendation is to construct optimisation problems using ExpressionsBasedModel and not worry about solver details. If you do want to instantiate a convex solver directly use the ConvexSolver.Builder class. It will return an appropriate subclass for you.
When the KKT matrix is nonsingular, there is a unique optimal primal-dual pair (x,l). If the KKT matrix is singular, but the KKT system is still solvable, any solution yields an optimal pair (x,l). If the KKT system is not solvable, the quadratic optimization problem is unbounded below or infeasible.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classNested classes/interfaces inherited from interface Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M,S>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State -
Field Summary
FieldsFields inherited from class GenericSolver
options -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <N extends Comparable<N>>
ConvexData<N> copy(ExpressionsBasedModel model, PhysicalStore.Factory<N, ?> factory) static ConvexSolver.Builderstatic ConvexSolver.BuildernewBuilder(int nbVariables) static ConvexSolver.BuildernewBuilder(Access2D<?> quadratic) static ConvexSolvernewSolver(ExpressionsBasedModel model) Methods inherited from class GenericSolver
countIterations, countTime, error, getClassSimpleName, getDuration, getState, incrementIterationsCount, isIterationAllowed, isLogDebug, isLogOff, isLogProgress, log, log, log, log, logProgress, printf, resetIterationsCount, setState, setValidator, validate, validateMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Optimisation.Solver
dispose, solve, solve
-
Field Details
-
INTEGRATION
-
-
Constructor Details
-
ConvexSolver
-
-
Method Details
-
copy
public static <N extends Comparable<N>> ConvexData<N> copy(ExpressionsBasedModel model, PhysicalStore.Factory<N, ?> factory) -
newBuilder
-
newBuilder
-
newBuilder
-
newSolver
-