Changeset 1158
- Timestamp:
- 07/23/08 15:18:03 (4 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openopt/scikits/openopt/Kernel/Point.py
r1110 r1158 1 1 # created by Dmitrey 2 from numpy import copy, isnan, array, argmax, abs, zeros, any 2 from numpy import copy, isnan, array, argmax, abs, zeros, any, isfinite 3 3 __docformat__ = "restructuredtext en" 4 4 empty_arr = array(()) … … 168 168 selfF_is_NaN = isnan(self.f()) 169 169 170 if not oldPointF_is_NaN: # f defined in oldPoint 171 if not selfF_is_NaN: return self.f() < oldPoint.f() 172 else: return False 173 else: # f is NOT defined in oldPoint 174 if selfF_is_NaN: return self.mr() < oldPointResidual 175 else: return True 170 if not oldPointF_is_NaN: # f(oldPoint) is not NaN 171 if not selfF_is_NaN: # f(newPoint) is not NaN 172 return self.f() < oldPoint.f() 173 else: # f(newPoint) is NaN 174 return False 175 else: # f(oldPoint) is NaN 176 if selfF_is_NaN: # f(newPoint) is NaN 177 return self.mr() < oldPointResidual 178 else: # f(newPoint) is not NaN 179 return True trunk/openopt/scikits/openopt/Kernel/setDefaultIterFuncs.py
r1091 r1158 66 66 if p.iter == 0: return False 67 67 #r = False if p.norm(p.fk - p.f_prev) > p.ftol else True 68 if p.norm(p.iterValues.f[-1] - p.iterValues.f[-2]) >= p.ftol: # or (p.iterValues.r[-1] > p.contol and p.iterValues.r[-1] - p.iterValues.r[-2] < p.contol):68 if isnan(p.iterValues.f[-1]) or isnan(p.iterValues.f[-2]) or p.norm(p.iterValues.f[-1] - p.iterValues.f[-2]) >= p.ftol: # or (p.iterValues.r[-1] > p.contol and p.iterValues.r[-1] - p.iterValues.r[-2] < p.contol): 69 69 return False 70 70 else: return (True, '|| F[k] - F[k-1] || < ftol') trunk/openopt/scikits/openopt/solvers/UkrOpt/ralg_oo.py
r1115 r1158 240 240 # TODO: what if df and/or dmr has some NaNs? 241 241 maxRes = point.mr() 242 if maxRes > point.p.contol: 242 243 if maxRes > point.p.contol or not isfinite(point.f()): 243 244 dmr = point.dmr() 244 245 if self.S == 0:
