Code Monkey home page Code Monkey logo

courros / hnco Goto Github PK

View Code? Open in Web Editor NEW
4.0 0.0 1.0 74.91 MB

Optimization of black box functions defined on bit vectors

License: GNU Lesser General Public License v3.0

Makefile 11.43% Shell 10.42% M4 0.07% TeX 3.08% C++ 48.86% Perl 6.51% Roff 15.25% HTML 2.02% CSS 0.02% SourcePawn 2.05% Python 0.29%
benchmarking-framework bit-vectors blackbox-optimization evolutionary-algorithm metaheuristics random-search-heuristics discrete-optimization

hnco's Introduction

In Hypercubo Nigrae Capsulae Optimum (HNCO)

HNCO is a C++ library, a set of command-line tools, and a set of scripts for the optimization of black box functions defined on bit vectors. It aims at being flexible, fast, simple, and robust.

The project is published under the LGPL3 license.

The documentation is provided at hnco.readthedocs.io.

Library features:

  • Bit vectors as basic search space
  • Representations for integer, float, complex, categorical and permutation values
  • Neighborhoods and neighborhood iterators for local search
  • Maps from bit vectors to bit vectors
  • Function decorators to control evaluation (budget...)
  • Function decorators to modify functions (noise...)
  • Support for incremental evaluation
  • Maps and functions can be serialized to text files
  • 29 builtin test functions
  • Support for user defined functions (function parser, python function, plugin)
  • Population with parallel evaluation
  • 28 builtin algorithms (EAs...)
  • Support for multiobjective optimization
  • Python bindings
  • 79 unit tests

Purposes:

  • Provide a collection of standard functions
  • Provide a collection of standard algorithms
  • Favor reproducible research

Use cases:

  • Solve practical problems
  • Automate simulations
  • Tune algorithms
  • Compare algorithms
  • Illustrate theoretical results
  • Make conjectures
  • Generate graphics and tables

hnco's People

Contributors

courros avatar

Stargazers

 avatar  avatar  avatar  avatar

Forkers

shouhengtuo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.