- java.lang.Object
-
- All Implemented Interfaces:
Optimisation,Optimisation.Solver,UpdatableSolver
final class IterativeASS extends ActiveSetSolver
Solves optimisation problems of the form:min 1/2 [X]T[Q][X] - [C]T[X]
Where [AE] and [BE] are optinal.
when [AE][X] == [BE]
and [AI][X] <= [BI]
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classIterativeASS.SchurComplementSolverThe equation system body is the (negated) Schur complement (of the Q-matrix in the full KKT-system).(package private) static classIterativeASS.SparseArrayPool-
Nested classes/interfaces inherited from class org.ojalgo.optimisation.convex.ConvexSolver
ConvexSolver.Builder, ConvexSolver.Configuration, ConvexSolver.ModelIntegration
-
Nested classes/interfaces inherited from interface org.ojalgo.optimisation.Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M extends Optimisation.Model,S extends Optimisation.Solver>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State
-
-
Field Summary
Fields Modifier and Type Field Description private PhysicalStore<java.lang.Double>myColumnInvQAtprivate IterativeASS.SchurComplementSolvermySEquation system solver corresponding to the (negated) Schur complement.-
Fields inherited from class org.ojalgo.optimisation.convex.BasePrimitiveSolver
MATRIX_FACTORY
-
Fields inherited from class org.ojalgo.optimisation.convex.ConvexSolver
INTEGRATION
-
Fields inherited from class org.ojalgo.optimisation.GenericSolver
options
-
-
Constructor Summary
Constructors Constructor Description IterativeASS(ConvexData<java.lang.Double> convexData, Optimisation.Options optimisationOptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddConstraint(int constrIndex, SparseArray<java.lang.Double> constrBody, double constrRHS)protected voidexclude(int toExclude)protected voidperformIteration()(package private) voidresetActivator()-
Methods inherited from class org.ojalgo.optimisation.convex.ActiveSetSolver
checkFeasibility, countExcluded, countIncluded, countIterationConstraints, extractSolution, getConstraintToInclude, getExcluded, getIncluded, getInvQC, getIterationA, getIterationB, getIterationC, getIterationX, getLastExcluded, getLastIncluded, getSlackI, getSlackI, handleIterationResults, include, initialise, isIteratingPossible, needsAnotherIteration, setConstraintToInclude, suggestConstraintToExclude, suggestConstraintToInclude, toActivatorString
-
Methods inherited from class org.ojalgo.optimisation.convex.ConstrainedSolver
buildResult, getIterationKKT, getIterationL, getIterationQ, getIterationRHS, getSlackE, getSolutionL
-
Methods inherited from class org.ojalgo.optimisation.convex.BasePrimitiveSolver
builder, computeGeneral, countEqualityConstraints, countInequalityConstraints, countVariables, dispose, evaluateFunction, getEntityMap, getMatrixAE, getMatrixAE, getMatrixAE, getMatrixAI, getMatrixAI, getMatrixAI, getMatrixBE, getMatrixBI, getMatrixBI, getMatrixBI, getMatrixC, getMatrixQ, getRankGeneral, getSolutionGeneral, getSolutionGeneral, getSolutionQ, getSolutionQ, getSolutionX, hasEqualityConstraints, hasInequalityConstraints, isPatchedQ, isSolvableGeneral, isSolvableQ, isZeroQ, newSolver, of, solve, solveFullKKT, solveLP, toObjectiveFunction, toString, update
-
Methods inherited from class org.ojalgo.optimisation.convex.ConvexSolver
copy, newBuilder, newBuilder, newBuilder, newSolver
-
Methods inherited from class org.ojalgo.optimisation.GenericSolver
countIterations, countTime, error, getClassSimpleName, getDuration, getState, incrementIterationsCount, isIterationAllowed, isLogDebug, isLogOff, isLogProgress, log, log, log, log, logProgress, resetIterationsCount, setState, setValidator, validate, validate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ojalgo.optimisation.Optimisation.Solver
solve
-
Methods inherited from interface org.ojalgo.optimisation.UpdatableSolver
fixVariable, generateCutCandidates, integers, isMapped, updateRange
-
-
-
-
Field Detail
-
myColumnInvQAt
private final PhysicalStore<java.lang.Double> myColumnInvQAt
-
myS
private final IterativeASS.SchurComplementSolver myS
Equation system solver corresponding to the (negated) Schur complement. Used to solve for the Lagrange multipliers.
-
-
Constructor Detail
-
IterativeASS
IterativeASS(ConvexData<java.lang.Double> convexData, Optimisation.Options optimisationOptions)
-
-
Method Detail
-
exclude
protected void exclude(int toExclude)
- Overrides:
excludein classActiveSetSolver
-
performIteration
protected void performIteration()
- Specified by:
performIterationin classBasePrimitiveSolver
-
addConstraint
void addConstraint(int constrIndex, SparseArray<java.lang.Double> constrBody, double constrRHS)
-
resetActivator
void resetActivator()
- Overrides:
resetActivatorin classActiveSetSolver
-
-