Skip to content

Commit a91fe15

Browse files
committed
Change convergence criteria for epf method
1 parent f6e9d6e commit a91fe15

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/popt/loop/optimize.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,10 @@ def run_loop(self):
191191
if self.epf_iteration > self.epf['max_epf_iter']: # max epf_iterations set to 10
192192
self.logger(f'─────> EPF-EnOpt: maximum epf iterations reached') # print epf info
193193
break
194-
p = np.abs(previous_state-self.xk) / (np.abs(previous_state) + 1.0e-9)
194+
#p = np.abs(previous_state-self.xk) / (np.abs(previous_state) + 1.0e-9)
195+
p = np.mean(self.epf['penalty'] / self.epf['r']) # the penalty term (without r)
195196
conv_crit = self.epf['conv_crit']
196-
if np.any(p > conv_crit):
197+
if p > conv_crit:
197198
epf_not_converged = True
198199
previous_state = self.xk
199200
self.epf['r'] *= self.epf['r_factor'] # increase penalty factor

0 commit comments

Comments
 (0)