Add the Newton decrement as a termination criterion of the Newton solver.
After an accepted line-search step, the solver has already rebuilt the gradient and Hessian and solved for the next search direction, so the Newton decrement 0.5*g'*H^-1*g -- the quadratic model's predicted cost improvement of the next iteration -- costs one dot product. Terminating when it falls below tolerance avoids running one more iteration only to observe a correspondingly small actual improvement. This is a C port of Alain's proposal in MJWarp: https://github.com/google-deepmind/mujoco_warp/pull/1520 PiperOrigin-RevId: 947768034 Change-Id: I94e5c71a4e2b4a7775611edd1dad254bba2633b4
This commit is contained in:
committed by
Copybara-Service
parent
2444defc63
commit
1e66efd114
@@ -9,6 +9,10 @@ General
|
||||
^^^^^^^
|
||||
- Added Nesterov momentum extrapolation with adaptive gradient restart (O'Donoghue-Candès) to the PGS solver,
|
||||
significantly improving convergence. Overall PGS now requires ~2x fewer iterations.
|
||||
- Added the Newton decrement -- the quadratic model's predicted cost improvement of the next iteration -- as a third
|
||||
early-termination criterion of the :ref:`Newton solver<soAlgorithms>`, alongside cost improvement and gradient norm.
|
||||
This reduces iteration counts at no accuracy cost. Proposed by :github:user:`adenzler-nvidia` in
|
||||
:doc:`MJWarp <mjwarp/index>` pull request `1520 <https://github.com/google-deepmind/mujoco_warp/pull/1520>`__.
|
||||
- :ref:`mj_encode` now supports encoding of MJB and TXT files.
|
||||
- :ref:`mj_setConst` now recomputes the ``mjModel.{body,geom,site}_sameframe`` flags, to account for changes in
|
||||
body/geom/site frames after compilation.
|
||||
|
||||
Reference in New Issue
Block a user