From 114169d00da615e05f423a621bab8ffec4b44e93 Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Mon, 13 Jun 2022 23:14:14 +0200 Subject: [PATCH] direct: update readme --- direct/README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/direct/README.md b/direct/README.md index e69de29..04b6f6c 100644 --- a/direct/README.md +++ b/direct/README.md @@ -0,0 +1,21 @@ +**di**viding **rect*angles, and the algorithms that stem from it. +for a description and history of these methods, please refer to +["The DIRECT algorithm: 25 years Later."](https://link.springer.com/article/10.1007/s10898-020-00952-6) + +i don't plan on implementing the original DIRECT algorithm itself, +but i've heard through the grapevine that +[scipy](https://docs.scipy.org/doc/scipy/reference/optimize.html) +is getting its own DIRECT implementation soon. + +`birect.py` is a modification of DIRECT that divides hyper-rectangles +into halves instead of thirds, and re-uses one point per evaluation. +there's a couple other devils in the details, but that's the gist of it. + +`soo.py` allows for an arbitrary (K≥2) number of subdivisions, +behaving somewhat similar to BIRECT (K=2), DIRECT (K=3), and beyond. +SOO stands for **S**imultaneous **O**ptimistic **O**ptimization. +SOO is typically not as efficient as the other algorithms, +but it is simpler to implement, specially when K is fixed to a constant. +curiously, SOO is not covered in the aforementioned article, so please refer to +["Optimistic Optimization of a Deterministic Function +without the Knowledge of its Smoothness"](https://team.inria.fr/sequel/software/soo/)