Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Projected Gradient Descent Solver Interface #22070

Open
cohnt opened this issue Oct 23, 2024 · 0 comments
Open

Projected Gradient Descent Solver Interface #22070

cohnt opened this issue Oct 23, 2024 · 0 comments
Assignees
Labels
component: planning and control Optimization-based planning and control, and search- and sampling-based planning type: feature request

Comments

@cohnt
Copy link
Contributor

cohnt commented Oct 23, 2024

Projected gradient descent (PGD) is a strategy for solving constrained optimization problems -- one alternates between taking a step down the gradient of the objective function, and projecting onto the feasible set. In some contexts, this optimization strategy is preferable to using a second order solver like SNOPT or IPOPT. Having a native PGD solver in Drake would particularly be useful if we want to use it for the rounding stage of GcsTrajectoryOptimization.

I'm assigning to myself for now, but probably won't be able to get to this for some time. If someone wants it sooner, I'm happy to hand it off. Minimum features to include:

  • User can specify solver used for the projection step
  • User can manually specify a gradient function, instead of computing with autodiff/symbolic
  • Backtracking line search

Additional features that might be nice:

  • Specifying the affine hull in closed-form (can simplify the projection, or render it moot altogether)
  • Momentum, and various other tricks that can lead to faster convergence

cc @shrutigarg914 @RussTedrake

@cohnt cohnt added type: feature request component: planning and control Optimization-based planning and control, and search- and sampling-based planning labels Oct 23, 2024
@cohnt cohnt self-assigned this Oct 23, 2024
@RussTedrake RussTedrake moved this to TODO (MathematicalProgram) in Graphs of Convex Sets Oct 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: planning and control Optimization-based planning and control, and search- and sampling-based planning type: feature request
Projects
Status: TODO (MathematicalProgram)
Development

No branches or pull requests

1 participant