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 TypeMethodDescriptionvoid
initialize
(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.void
updateSigmaRho
(double newSigma, int me, double rho) Update steps
-
Method Details
-
solve
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
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
-