-
Notifications
You must be signed in to change notification settings - Fork 352
Description
The last objective function value reported from within objectiveFunc() (:car:) is better than the final objective function value returned by the SimTK::Optimizer (:checkered_flag:). It may be that some algorithms would evaluate the objective function for candidate solutions that violate constraints (whereupon it might be justified to get a :checkered_flag: that is worse than :car:), but there's no such excuse when solving an unconstrained problem. Not returning the best solution seems to violate a fundamental property of what an optimizer should be expected to do (similar to the expectation that it will return a solution that is no worse than the initial guess). The difference between :car: and :checkered_flag: is likely small in most practical cases, but perhaps not always.
(Using SimTK::InteriorPoint with numerical gradient.)