Skip to content

DOTS-Benchmark is a suite to evaluate algorithms for complex system optimisation.

License

Notifications You must be signed in to change notification settings

poyentung/VLab-Bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VLab-Bench

VLab-Bench is a suite that offers benchmarks for real-world scientific design tasks and optimisation algorithms for materials science and biology.

Current results

Result table

Available real-world tasks

The currently available tasks are:

  • Cyclic peptite binder design
  • Electron ptychography: reconstruction optimisation

Please send us a PR to add your real-world task!

Available synthetic function tasks

The currently available functions are:

  • Ackley
  • Rastrigin
  • Rosenbrock
  • Levy
  • Schwefel
  • Michalewicz
  • Griewank

Available optimisation algorithms

The currently available algorithms are:

  • DOTS (Derivative-free stOchastic Tree Search, Wei et al., 2024)
  • MCTS_Greedy
  • MCTS_eGreedy
  • DA (Dual Annealing, default setting in Scipy)
  • Diff-Evo (Differential Evolution, default setting in Scipy)
  • CMA-ES (Differential Evolution Default in Scipy)

Please send us a PR to add your algorithm!

Installation

The code requires python>=3.9. Installation Tensorflow and Keras with CUDA support is stroongly recommended.

Install DOTS:

pip install git+https://github.com/poyentung/vlab_bench.git

or clone the repository to local devices:

git clone git@github.com:poyentung/vlab_bench.git
cd DOTS; pip install -e .

Quick start

Here we evaluate DOTS on Ackley in 10 dimensions for 1000 samples.

  • Using exact oracle function:
python3 -m vlab_bench.scripts.run_oracle\
        --func ackley\
        --dims 10\
        --samples 1000\
        --method DOTS
  • Using neural network surrogate:
python3 -m vlab_bench.scripts.run_surrogate\
        --func ackley\
        --dims 10\
        --samples 1000\
        --method DOTS

Running unit tests

License

The source code is released under the MIT license, as presented in here.