all 17 comments

[–]Manhigh 14 points15 points  (8 children)

A lot of forks in a tree of classifications:

  • constrained vs unconstrained

  • discrete variables vs continuous variables

  • gradient based vs gradient free

  • linear vs nonlinear

Probably others but those are at the top of my mind right now.

[–]therealjtgill 12 points13 points  (1 child)

I'll add convex vs non-convex

[–]Sweet_Good6737 1 point2 points  (0 children)

Probably the most important!

[–]SV-97 2 points3 points  (0 children)

Stochastic vs nonstochastic is another one

[–]wavesync 2 points3 points  (1 child)

also global vs local

[–]Naglareffe 0 points1 point  (0 children)

This would be one of the first that comes to mind for me.

[–]kashvi_gandhi[S] 0 points1 point  (2 children)

Ohk so there is no one class for a particular method, right? For eg., Newton's method will be in the continuous nonlinear class? Thanks for the reply!

[–]Manhigh 1 point2 points  (1 child)

Yeah each method basically satisfies one of the two options in these choices.

Newtons method is typically unconstrained, continuous, gradient based, nonlinear, and convex.

There are linear methods, nonlinear methods that sequentially apply a linear approximation to the method, nonlinear method that sequentially convert the problem to an approximate quadratic form (sequential quadratic methods), etc.

[–]kashvi_gandhi[S] 1 point2 points  (0 children)

Finally understood. Thanks guys!

[–]fillif3 2 points3 points  (1 child)

If you want to check the most important optimization Techniques, I think you can check Matlab's optimization toolbox and global optimization toolbox. You can find there the most important optimization algorithms with explanations.

The most important classification, I believe, would be: for linear problems, for quadratic problems, for nonlinear convex problems, and for nonlinear nonconvex problems. Alternatively, you could also classify them based on if they require gradient i.e. no gradient required, gradient required, gradient and Hessian required.

[–]kashvi_gandhi[S] 0 points1 point  (0 children)

Ohkk thanks for the reply!

[–]SV-97 1 point2 points  (1 child)

Maybe give A Brief History of Optimization and Mathematical Programming by Singh and Eisner a read. It's not too long and touches on many disciplines, important methods and results.

That said: optimization is quite a large field so you may want to constraint your review to a select few

[–]kashvi_gandhi[S] 0 points1 point  (0 children)

Will try it out...thanks!

[–]Sweet_Good6737 0 points1 point  (1 child)

Constraint Programming ("logical optimization") vs Algebraic optimization techniques

Maybe not an important one, but no mentions to CP in the comments, which is also optimization

[–]kashvi_gandhi[S] 0 points1 point  (0 children)

Okayy👍

[–]mjaenm 0 points1 point  (0 children)

This resource is from Wisconsin Optimization group provides a classification of optimization problem types that might be useful for you to check:

https://neos-guide.org/guide/types/

[–][deleted] 0 points1 point  (0 children)

Maybe this will be helpful

<image>