diff --git a/src/demoses_distibuted_optimization/update_rho.py b/src/demoses_distibuted_optimization/update_rho.py index 68b92c115b9bf42258338ac05e3da1acf025e4d2..222e9a1664a4a370b250f7caa38be2da289d6b8d 100644 --- a/src/demoses_distibuted_optimization/update_rho.py +++ b/src/demoses_distibuted_optimization/update_rho.py @@ -3,8 +3,7 @@ from typing import Dict def update_rho(admm_parameters: Dict, iter: int) -> None: """Update penalty parameter Ï following Boyd et al.(2011), Page 20, Equation 3.13.""" - if iter % 1 == 0: - if admm_parameters["Residuals"]["Primal"]["EOM"][-1] > 2 * admm_parameters["Residuals"]["Dual"]["EOM"][-1]: - admm_parameters["Ï"]["EOM"].append(min(1000, 1.1 * admm_parameters["Ï"]["EOM"][-1])) - elif admm_parameters["Residuals"]["Dual"]["EOM"][-1] > 2 * admm_parameters["Residuals"]["Primal"]["EOM"][-1]: - admm_parameters["Ï"]["EOM"].append((admm_parameters["Ï"]["EOM"][-1]) / 1.1) + if admm_parameters["Residuals"]["Primal"]["EOM"][-1] > 2 * admm_parameters["Residuals"]["Dual"]["EOM"][-1]: + admm_parameters["Ï"]["EOM"].append(min(1000, 1.1 * admm_parameters["Ï"]["EOM"][-1])) + elif admm_parameters["Residuals"]["Dual"]["EOM"][-1] > 2 * admm_parameters["Residuals"]["Primal"]["EOM"][-1]: + admm_parameters["Ï"]["EOM"].append((admm_parameters["Ï"]["EOM"][-1]) / 1.1)