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 void
initialize(RealMatrix newH, RealMatrix newA, RealVector newQ, int me, RealVector newLb, RealVector newUb, double rho, double newSigma, double newAlpha)
Initialize problemADMMQPSolution
iterate(RealVector... previousSol)
Iterate Karush–Kuhn–Tucker equation from given list of VectorADMMQPSolution
solve(RealVector b1, RealVector b2)
Solve Karush–Kuhn–Tucker equation from given right hand value.void
updateSigmaRho(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:
solve
in 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:
iterate
in interfaceKarushKuhnTuckerSolver<ADMMQPSolution>
- Parameters:
previousSol
- list of vectors- Returns:
- Tuple with the solution x,Lambda,value
-
-