dask-patternsearch
dask-patternsearch copied to clipboard
Scalable pattern search optimization with dask
Currently our results cache is a dict that stores *all* calculated points. This could use an excessive amount of memory when there are many points, high dimensions, or both. We...
It would be useful to support performing many pattern search optimizations at the same time, thus allowing them to share compute resources and, potentially, shared results. For example, one may...
Notably, categoricals have no notion of neighborhood. I don't know what is typically done in this case, but it seems to me that we have three primary options: 1. include...
We should have a collection of benchmark functions to run pattern search on. It would also be great to have tools and Jupyter notebooks so users can easily try things...
I think we should support executing the algorithm serially. This is well-defined and well-behaved: put trial points on a queue, and evaluate them in FIFO order. Maybe we can do...
Our current stencil is created by reflecting and contracting a right-handed simplex all different ways. In `dim` dimensions, this simplex has `2 * factorial(dim)` permutations. For high dimensions (`dim >...
An oracle is an external source (such as a person or another algorithm) that can propose trial points to calculate. Ideally, the oracle knows more about the structure of the...
The current stencil creation method is overkill (and inefficient) for one-dimensional problems. We should create a new stencil to handle 1-d spaces.
A shortcoming of the current implementation is that the user must provide the step sizes when the algorithm begins, and the step sizes are scaled uniformly across all dimensions as...