Skip to content

Latest commit

 

History

History
47 lines (24 loc) · 1.64 KB

README.md

File metadata and controls

47 lines (24 loc) · 1.64 KB

About CMA-VNS

CMA-VNS is an award-winning algorithm. CMA-VNS has won all three tracks in the CBBOC 2015 competition (C++ API'15) and all the two tracks in CBBOC 2016 (C++ API'16).

How to cite

Xue, F., and Shen, G. Q. (2017). Design of an efficient hyper-heuristic algorithm CMA-VNS for combinatorial black-box optimization problems. In Proceedings of GECCO’17 Companion, Berlin, Germany, July 15-19, 2017, 6 pages. DOI: http://dx.doi.org/10.1145/3067695.3082054

How does it work

As its name, CMA-ES runs first, VNS then takes the baton from CMA-ES in the relay race. The semi-adapted covariance matrix model of CMA-ES can recommend promising candidates in VNS phase.

For more details, please refer to the papers.

When to use CMA-VNS

When your optimization problem is huge, expensive, way too complex.

Goal of this project

  • To develop a competitive entry in CBBOC competitions
  • To design an efficient way of solving complex NK-models
  • To try to build a bridge between a derivative-free optimization method (CMA-ES) and a local search heuristic (VNS)

Dependencies

CBBOC 2015 API or CBBOC 2016 API

libcmaes

Eigen 3.2+

Install

  • Copy files to src/ folder of CBBOC API

  • GCC 4.6+

    gcc src/*.cpp -Iinclude -Ipath_to_libcmaes -Ipath_to_Eigen -std=c++0x -lstdc++ -O3

How to contribute

License

LGPL-3.0