ECWorkshop toolkit library

Home (in Russian)
Genetic algorithms (in Russian)

EARes - Evolutionary Algorithms Research Group at TPU
EC Discussion Group (in Russian)

Compose a letter

Updates history

Here is a ECWorkshop toolkit library (or, simply, ECW) for researches in evolutionary algorithms is presented. The main objective during development of the whole thing was to create a classes library that would be easy to extend and maintain for various researches.

For now the following encodings are supported:
1. Integer-based encoding.
2. String encoding for strings of arbitrary arity.
3. Permutations encoding.
4. Real-coded encoding.
5. Regulatory networks encoding.

For each encoding listed above some baseline crossover and mutation operators are implemented. To start with the library, please, read brief documentation. Any questions and suggestions are wellcome through my e-mail.

The source codes are under GPL license so you can download and use them in your projects for free.

To comiple the project you will also need to download some additional QTools tools set which is also free. Unzip it to the directory which is parent for ECWorkshop sources. If, for example, "src/ecw" is the ECWorkshop directory, then "src/qtools" should be the path to the QTools source. Or you can simply download all-in-a-pack and unzip it anywhere you like. As a result two folders "ecw" and "qtools" will be created automatically.

I would be very appreciative for any comments, suggestions and especially bugs reports, which can be sent on my e-mail.

Yury Tsoy


  • Last update: 11.26.2007
  • Current version: 0.1

Download ECWokshop source (with VS C++ EE 2005 solution file) [zip, 546 Kb]

Download QTools source [zip, 22 Kb]

Download documentation [zip, pdf, 84 Kb]

Download everything (ECW+QTools+docs) [zip, 651 Kb]

Updates history


  • The project is migrated to the MS Visual Studio C++ Express Edition environment.
  • Added a new type of encoding ({regulatory network}).
  • Added two versions of algorithms (SARN and SARN2) to handle {regulatory network} encoding.
  • Added niching operators QFitnessSharing and QDeterministicCrowding for sharing and crowding niching strategies respectively.
  • Added a new class of problems QANNProblem.
  • Added two new problems QANNProblemXOR and QANNProblemSinDouble for {regulatory network} encoding.
  • QEAParameters structure extended.
  • QEAFitness class is extended.
  • Added createEA function for selection of different EAs.
  • Results output exended, now EA class can print its specific run data into the "results.log" file.
  • Found solutions and candidate-solutions are printed into "solution.log" and "candidates.log" files.
  • Added ability to select arbitrary configuration file name and set number of runs using command-line.
  • Some errors are fixed.
  • Documentation update

Made by Qai. Copyright © 2007.
Hosted by uCoz