Skip to content

OptimizerSystem may not return best solution it has evaluated #1395

@tkuchida

Description

@tkuchida

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.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions