GithubHelp home page GithubHelp logo

theprototype / brkga_combinatorial_auctions Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ceandrade/brkga_combinatorial_auctions

0.0 0.0 0.0 49 KB

Biased Random-Key Genetic Algorithms for the Winner Determination Problem in Combinatorial Auctions

License: Other

Makefile 3.07% C++ 96.93%

brkga_combinatorial_auctions's Introduction

Biased Random-Key Genetic Algorithms for the Winner Determination Problem in Combinatorial Auctions

This project implements a biased random-key genetic algorithm (BRKGA) for the Winner Determination Problem in Combinatorial Auctions. The algorithm details can be found in

C.E. Andrade, F.K. Miyazawa, M.C.G Resende, R.F. Toso. Biased Random-Key Genetic Algorithms for the Winner Determination Problem in Combinatorial Auctions. Evolutionary Computation, volume 23, number 2, pages 279-307, 2015. DOI: 10.1162/EVCO_a_00138

Before to use this package, code, and any resource attached to which, and/or its derivatives, you must accept the license. And, please, do not forget to refer the above paper.

Contribution guidelines for this project

Dependencies

  • Boost libraries >= 1.58;

  • Modern C++ compiler supporting C++11;

    • This code was tested using GCC 5.2 and GCC 7.2 successfully. Clang 3.9 also compiles the code without problems, although changes in the parameters are necessary. A caveat is that to the date of this document was written, Clang does not use multiple threads of OpenMP, the technology behind the paralyzation of the decoding process.
  • IBM ILOG CPLEX >= 12.5.0 for algorithm versions depending on LP relaxations (CALP, GALP). CPLEX libs can be disabled on the Makefile;

This package also includes a modified version of the brkgaAPI. The core functionality was kept, but changes in the API make the distributed version and the original version incompatible.

This package also includes (together brkgaAPI) a Mersenne Twister random number generator licensed under BSD-3.

Compiling and testing

First, you must set the proper paths to the "includes" and "libs" in your system. In the Makefile, go to the Section "Lib and include definitions" (line 84) and

  • In "Cplex and Concert settings" subsection (line 93), set the path to your CPLEX installation.

Note that depending of the configuration of your system, other adjustments may be necessary.

To build the BRKGA, just use:

$ make all

brkga_combinatorial_auctions's People

Contributors

ceandrade avatar

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.