Optimization.jl icon indicating copy to clipboard operation
Optimization.jl copied to clipboard

Documentation: List of optimizer options (both specific and non-specific)

Open TorkelE opened this issue 2 years ago • 2 comments

I think it would be useful to have two types of lists of information.

First, https://docs.sciml.ai/Optimization/stable/API/solve/ has a list of solver options. However, these are not universal for all packages. E.g. some does not take the callback option, while some do not take the maxtime one. There are likely more cases like this. Would it be possible to have a table for which options are available for which package? E.g. like the "Overview of the Optimizers" table.

Secondly, many specific solvers have options. E.g. you have Evolutionary.CMAES(μ = 40, λ = 100) that has arguments μ and λ. Would it be possible to, for each solver, list what arguments they have, and what they do?

TorkelE avatar Mar 29 '23 15:03 TorkelE

First, https://docs.sciml.ai/Optimization/stable/API/solve/ has a list of solver options. However, these are not universal for all packages. E.g. some does not take the callback option, while some do not take the maxtime one. There are likely more cases like this. Would it be possible to have a table for which options are available for which package? E.g. like the "Overview of the Optimizers" table.

The better thing is to just fix all of those cases. We need issues opened for the cases and to make them support what they can. Anything that absolutely cannot be supported in some cases should have a trait, and those traits should be listed as a table at the top of the solver pages.

Like https://docs.sciml.ai/Optimization/stable/optimization_packages/cmaevolutionstrategy/ should have a table at the top that is "unsupported kwargs" and say callbacks, because that package is not possible for us to support callbacks without a change to the upstream solver library.

Secondly, many specific solvers have options. E.g. you have Evolutionary.CMAES(μ = 40, λ = 100) that has arguments μ and λ. Would it be possible to, for each solver, list what arguments they have, and what they do?

Yes someone just needs to take the the to update https://docs.sciml.ai/Optimization/stable/optimization_packages/evolutionary/ and add the details. Many of the pages already do this. See https://docs.sciml.ai/Optimization/stable/optimization_packages/flux/ . It's just not all of the pages are complete, so there's no asking just doing. If you want a page to be completed, then someone who has the time needs to open up the downstream library's docs and then summarize them here.

ChrisRackauckas avatar Mar 29 '23 15:03 ChrisRackauckas

Don't want to commit to anything until the Catalyst paper is finally submitted, but after that I can have a look at some of this.

TorkelE avatar Mar 29 '23 15:03 TorkelE