-
Notifications
You must be signed in to change notification settings - Fork 87
V1.1.5 Release Notes
This release contains many new added functionalities, while mostly keeping compatibility with previous versions of PaGMO. Most new code has been developed during the GSoC 2013, so special thanks go to all the students and mentors (check the Summer of Code 2013 pages).
- sga_gray Simple Genetic Algorithm with gray binary encoding
- Constrained Optimisation by Random Evolution (CORE - repair technique)
- Co-evolution constraints handling technique (adaptive penalty method).
- Immune system algorithm for constrained optimisation
- Self-Adaptive Fitness constraints handling technique (adaptive penalty method)
- pade: Parallel Decomposition (based on the MOEA/D framework)
- spea2: Strength Pareto Evolutionary Algorithm 2
- nspso: multiobjective PSO
- sms_emoa: S-Metric Selection Evolutionary Multiobjective Optimiser Algorithm
- vega Vector Evaluated Genetic Algorithm
The addition of meta problems is a major addition to problems. These are problems that transform other problems
- Decomposition
- Shifted
- Rotated
- Noisy
- Robust
- Constrained to Multi-Objective
- Constrained to Unconstrained (feasibility, optimality)
- Constrained to Penalty (death penalty, Kuri penalty, static penalty through penalty coefficients)
A new module is also added called utils. the module contains some new utilities and will, in the future grow to offer more.
- Low discrepancy sequences generator (Faure and Halton)
- Hypervolume indicators (with a variety of algorithms)
- Population and Algorithm racing
The population class was enriched with the following methods
- pagmo::population::repair: repairs an individual using a pagmo::algorithm
- pagmo::population::race race population individuals using the pagmo::util::racing classes
V.1.1.5 keeps back compatibility with previous version except in the construction of the ZDT and DTLZ problems. These are now constructed as follows prob = problem.zdt(prob_id = 1, param_1 = 30) prob = problem.dtlz(prob_id = 1, k = 20, fdim = 4) and NOT: prob = problem.zdt1(30) prob = problem.dtlz1(20,4)
- Problem now have a best_x, best_f, best_c properties containing the best known solution. This is optional (the user can decide to implent it).
- alpha encoding (in problem mga_1dsm_alpha) now samples uniformly at random on the simplex
- build system now installs headers and static library
- compilation on windows MSVC 11 works