Class ADMMQPKKT
- java.lang.Object
-
- org.hipparchus.optim.nonlinear.vector.constrained.ADMMQPKKT
-
- All Implemented Interfaces:
KarushKuhnTuckerSolver<ADMMQPSolution>,OptimizationData
public class ADMMQPKKT extends Object implements KarushKuhnTuckerSolver<ADMMQPSolution>
Alternative Direction Method of Multipliers Solver.- Since:
- 3.1
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinitialize(RealMatrix newH, RealMatrix newA, RealVector newQ, int me, RealVector newLb, RealVector newUb, double rho, double newSigma, double newAlpha)Initialize problemADMMQPSolutioniterate(RealVector... previousSol)Iterate Karush–Kuhn–Tucker equation from given list of VectorADMMQPSolutionsolve(RealVector b1, RealVector b2)Solve Karush–Kuhn–Tucker equation from given right hand value.voidupdateSigmaRho(double newSigma, int me, double rho)Update steps
-
-
-
Method Detail
-
solve
public ADMMQPSolution solve(RealVector b1, RealVector b2)
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
public ADMMQPSolution iterate(RealVector... previousSol)
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
-
-