Class ADMMQPKKT
java.lang.Object
org.hipparchus.optim.nonlinear.vector.constrained.ADMMQPKKT
- All Implemented Interfaces:
KarushKuhnTuckerSolver<ADMMQPSolution>,OptimizationData
Alternative Direction Method of Multipliers Solver.
- Since:
- 3.1
-
Method Summary
Modifier and TypeMethodDescriptionvoidinitialize(RealMatrix newH, RealMatrix newA, RealVector newQ, int me, RealVector newLb, RealVector newUb, double rho, double newSigma, double newAlpha) Initialize problemiterate(RealVector... previousSol) Iterate Karush–Kuhn–Tucker equation from given list of Vectorsolve(RealVector b1, RealVector b2) Solve Karush–Kuhn–Tucker equation from given right hand value.voidupdateSigmaRho(double newSigma, int me, double rho) Update steps
-
Method Details
-
solve
Solve Karush–Kuhn–Tucker equation from given right hand value.- Specified by:
solvein interfaceKarushKuhnTuckerSolver<ADMMQPSolution>- Parameters:
b1- first right hand vectorb2- second right hand vector- Returns:
- Tuple with the solution x,Lambda,value
-
updateSigmaRho
public void updateSigmaRho(double newSigma, int me, double rho) Update steps- Parameters:
newSigma- new regularization term sigma for Karush–Kuhn–Tucker solverme- number of equality constraintsrho- new step size
-
initialize
public void initialize(RealMatrix newH, RealMatrix newA, RealVector newQ, int me, RealVector newLb, RealVector newUb, double rho, double newSigma, double newAlpha) Initialize problem- Parameters:
newH- square matrix of weights for quadratic termnewA- constraints coefficients matrixnewQ- TBDme- number of equality constraintsnewLb- lower boundnewUb- upper boundrho- step sizenewSigma- regularization term sigma for Karush–Kuhn–Tucker solvernewAlpha- alpha filter for ADMM iteration
-
iterate
Iterate Karush–Kuhn–Tucker equation from given list of Vector- Specified by:
iteratein interfaceKarushKuhnTuckerSolver<ADMMQPSolution>- Parameters:
previousSol- list of vectors- Returns:
- Tuple with the solution x,Lambda,value
-