Skip to content

Code for executing virtual experiments with intelligent bet-and-run strategies for optimization, which efficiently utilize a total computational budget for getting good results by first starting n runs and after some time pick one of them to continue for the remaining budget.

License

Notifications You must be signed in to change notification settings

thomasWeise/betAndRun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bet-and-Run Strategies for Optimization

Travis CI Build Status

Introduction

In this repository, we provide the implementation of an improved generic Bet-and-Run strategy for black-box optimization. The goal is to obtain the best possible results within a given time budget T using a given black-box optimization algorithm. If no prior knowledge about problem features and algorithm behavior is available, the question about how to use the time budget most efficiently arises. We propose to first start n>=1 independent runs of the algorithm during an initialization budget T1<T, pausing these runs, then apply a decision maker D to choose 1<=m<n runs from them (consuming T2>=0 time units in doing so), and then continuing these runs for the remaining T3=T-T1-T2 time units. In previous bet-and-run strategies, the decision maker currentBest would simply select the run with the best-so-far results at negligible time. We propose using more advanced methods and test several different approaches, including neural networks trained or polynomials fitted on the current trace of the algorithm to predict which run may yield the best results if granted the remaining budget. Applying this implementation to run "virtual experiments," one can find that this approach can yield better results than the previous methods, but also find that the currentBest method is a very reliable and robust baseline approach.

Copyright

This repository is under MIT License, see file LICENSE.

The code on bet-and-run (mainly under cn.edu.hfuu.iao.betAndRun) is jointly developed by Dr. Thomas Weise (http://iao.hfuu.edu.cn, tweise@hfuu.edu.cn, tweise@gmx.de) and Dr. Markus Wagner (http://cs.adelaide.edu.au/~markus/, markus.wagner@adelaide.edu.au).

The jpack code for Artificial Neural Networks, Linear Algebra, and Evolution Strategies (e.g., CMA-ES) has originally been developed by Dr. Alexandre Devert (http://www.marmakoide.org, marmakoide@hotmail.fr, and http://github.com/marmakoide), who kindly granted us the permission to include it in our repository. The code published here is a slightly modified version of his code, but the copyright and authorship remains entirely with Dr. Devert, who provides it under the MIT license at GitHub under jpack. Please contact Dr. Devert for any questions, in particular regarding licensing and (re-)distribution.

About

Code for executing virtual experiments with intelligent bet-and-run strategies for optimization, which efficiently utilize a total computational budget for getting good results by first starting n runs and after some time pick one of them to continue for the remaining budget.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages