@@ -512,7 +512,7 @@ <h3>Benchmark</h3>
512512 of most common optimization algorithm implementations
513513 on several popular global optimization functions, including a few multi-dimensional (2–10D),
514514 < b > < cite > SAMBO</ cite > more often converges to correct global optimum,
515- in fewest objective evaluations,
515+ in fewest total objective evaluations,
516516 yielding smallest absolute error,
517517 with runtime just as fast as that of the best</ b > .
518518 </ p >
@@ -529,8 +529,8 @@ <h3>Benchmark</h3>
529529 < tbody >
530530 < tr class ="significant "> < td > sambo.minimize(shgo)</ td > < td > 92%</ td > < td > 129</ td > < td > 1</ td > < td > 0.04</ td > </ tr >
531531 < tr class ="significant "> < td > sambo.minimize(sceua)</ td > < td > 92%</ td > < td > 548</ td > < td > 1</ td > < td > 0.24</ td > </ tr >
532- < tr > < td > direct</ td > < td > 92%</ td > < td > 1389</ td > < td > 1</ td > < td > 0.03</ td > </ tr >
533- < tr > < td > dual_annealing</ td > < td > 92%</ td > < td > 6459</ td > < td > 1</ td > < td > 0.84</ td > </ tr >
532+ < tr > < td > direct † </ td > < td > 92%</ td > < td > 1389</ td > < td > 1</ td > < td > 0.03</ td > </ tr >
533+ < tr > < td > dual_annealing † </ td > < td > 92%</ td > < td > 6459</ td > < td > 1</ td > < td > 0.84</ td > </ tr >
534534 < tr > < td > differential_evolution</ td > < td > 83%</ td > < td > 13961</ td > < td > 1</ td > < td > 2.34</ td > </ tr >
535535 < tr class ="significant "> < td > sambo.minimize(smbo)</ td > < td > 75%</ td > < td > 476</ td > < td > 2</ td > < td > 44.68</ td > </ tr >
536536 < tr > < td > hyperopt</ td > < td > 75%</ td > < td > 938</ td > < td > 2</ td > < td > 18.26</ td > </ tr >
@@ -540,12 +540,12 @@ <h3>Benchmark</h3>
540540 < tr > < td > shgo</ td > < td > 67%</ td > < td > 243</ td > < td > 11</ td > < td > 0.11</ td > </ tr >
541541 < tr > < td > SLSQP</ td > < td > 67%</ td > < td > 266</ td > < td > 11</ td > < td > 0.12</ td > </ tr >
542542 < tr > < td > Nelder-Mead</ td > < td > 67%</ td > < td > 301</ td > < td > 15</ td > < td > 0.03</ td > </ tr >
543- < tr > < td > Powell</ td > < td > 67%</ td > < td > 324</ td > < td > 16</ td > < td > 0.02</ td > </ tr >
543+ < tr > < td > Powell † </ td > < td > 67%</ td > < td > 324</ td > < td > 16</ td > < td > 0.02</ td > </ tr >
544544 < tr > < td > COBYQA</ td > < td > 58%</ td > < td > 134</ td > < td > 8</ td > < td > 0.54</ td > </ tr >
545- < tr > < td > TNC</ td > < td > 58%</ td > < td > 232</ td > < td > 16</ td > < td > 0.04</ td > </ tr >
545+ < tr > < td > TNC † </ td > < td > 58%</ td > < td > 232</ td > < td > 16</ td > < td > 0.04</ td > </ tr >
546546 < tr > < td > trust-constr</ td > < td > 58%</ td > < td > 1052</ td > < td > 8</ td > < td > 2.08</ td > </ tr >
547547 < tr > < td > basinhopping</ td > < td > 58%</ td > < td > 3383</ td > < td > 21</ td > < td > 1.15</ td > </ tr >
548- < tr > < td > CG</ td > < td > 50%</ td > < td > 414</ td > < td > 20</ td > < td > 0.02</ td > </ tr >
548+ < tr > < td > CG † </ td > < td > 50%</ td > < td > 414</ td > < td > 20</ td > < td > 0.02</ td > </ tr >
549549 </ tbody >
550550 < tfoot style ="font-size: small; ">
551551 < tr > < th colspan ="5 "> † Non-constrained method; constrained by patching the objective function s.t.< br >
@@ -574,7 +574,7 @@ <h3>Benchmark</h3>
574574 < tr > < th colspan ="5 "> ∗ The following implementations were considered:
575575 < ul > < li > too slow: Open-Box, AMPGO,</ li >
576576 < li > too complex: SMT, HyperBO, DEAP, PyMOO, OSQP, Optuna.</ li > </ ul >
577- To consider: jdb78/LIPO. Contributions welcome.</ th > </ tr >
577+ Maybe to consider: jdb78/LIPO. Contributions welcome.</ th > </ tr >
578578 </ tfoot >
579579 </ table >
580580 </ div >
@@ -596,6 +596,7 @@ <h3>Benchmark</h3>
596596 </ script >
597597 </ div >
598598</ section >
599+ < img src ="contourf.jpg " loading ="lazy " style ="margin:3em 0 0 0; opacity: .8 "/>
599600
600601< section id ="citing ">
601602 < h3 > Citation</ h3 >
0 commit comments