Changelog History

v2.6.0
July 11, 2019Blazor template
Now we have 4
dotnet new
templates, besides theGeneticSharpConsoleApp
,GeneticSharpTspConsoleApp
andGeneticSharpTspUnity3d
already existent, a new template for a Blazor client app was added:GeneticSharpTspBlazorApp
:dotnet new i GeneticSharp.Templates dotnet new GeneticSharpTspBlazorApp o TspBlazorApp cd TspBlazorApp dotnet run
If you want to know more about how to use GeneticSharp with Blazor, take a look in this tutorial TSP with GeneticSharp and Blazor.
π New papers and projects using GeneticSharp
Four papers and one project were added to the list:
 π Design of a warehouse order picking policy using genetic algorithm (paper)
 Fabrication of Adiabatic QuantumFluxParametron Integrated Circuits Using an Automatic Placement Tool Based on Genetic Algorithms (paper)
 π Modelling and Simulation Analysis of GoalOriented Business Process (paper)
 π Optimization by genetic algorithm of lattices structures for the media generation in additive manufacturing (paper)
 TrussOptimization (project)
How to install the new version
.NET Standard 2.0
Only GeneticSharp:
installpackage GeneticSharp
π GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
installpackage GeneticSharp.Extensions
Unity3D
You should use the UnityNuGet to install GeneticSharp directly from NuGet.
π Or you can use the latest GeneticSharp.unitypackage available on our release page.
Let's evolve!

v2.5.2
June 12, 2019π Bug fix
 AlternatingPositionCrossover throw IndexOutOfRangeException #61
β‘οΈ NuGet update
Only GeneticSharp:
updatepackage GeneticSharp
π GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
updatepackage GeneticSharp.Extensions

v2.5.1
January 31, 2019π Bug fix
 π» Runtime exception on .NET 4.6.2 #58
β‘οΈ NuGet update
Only GeneticSharp:
updatepackage GeneticSharp
π GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc):
updatepackage GeneticSharp.Extensions
Unity3d
π The bug #58 does not affect the Unity3d package, so you can still use the 2.4.0 version.

v2.5.0
January 24, 2019 
v2.4.0
January 19, 2019The additions of this version are the two new crossovers implementations and a new option of ITaskExecutor that use TPL.
Crossovers
Alternatingposition (AP)
The alternating position crossover operator (LarraΓ±aga et al. 1996a) simply creates an offspring by selecting alternately the next element of the first parent and the next element of the second parent, omitting the elements already present in the offspring.
Voting Recombination Crossover (VR)
π It can be seen as a Psexual crossover operator, where p (parents number) is a natural number greater than, or equal to, 2.
It starts by defining a threshold, which is a natural number smaller than, or equal to p.
Next, for every; i E {l, 2, . . .N} the set of ith elements of all the parents is considered. If in this set an element occurs at least the threshold number of times, it is copied into the offspring.
TPL
Three new classes were implemented to run some key points of a genetic algorithm using TPL.
Those new classes can be used alone, but normally you will use all them together. You can see a sample usage at unit test
Start_TplManyGenerations_Optimization
.TplTaskExecutor:
An ITaskExecutor's implementation that executes the tasks in a parallel fashion using Task Parallel Library (TPL).
TplPopulation
Represents a population of candidate solutions (chromosomes) using TPL to create them.
TplOperatorsStrategy
0οΈβ£ A new interface called IOperatorsStrategy was added to GeneticAlgorithm as an option. Two options of operators strategy were created, the default one, called DefaultOperatorsStrategy and the new one called TplOperatosStrategy.
Thanks to
I would like to thanks to EMostafaAli and Alexey I. for opened some issues and made small pull requests and Dan for contributing with the TPL implementations.
Let's evolve!

v2.2.3
January 14, 2019 
v2.2.1
November 03, 2018 
v2.2.0
November 03, 2018The additions of this version are the new whole sample and extensions showing how to use GeneticSharp to solve a Sudoku.
The GeneticSharp.Extensions project receive those new features:
Multiple
MultipleChromosome
Compound chromosome to artificially increase genetics diversity by evolving a list of chromosomes instead of just one.
Subgenes are inlined into a single compound list of genes.MultipleFitness
Fitness class that can evaluate a compound chromosome by summing over the evaluation of its subchromosomes.
Sudoku
ISudokuChromosome:
Represents each type of chromosome for solving a sudoku is simply required to output a list of candidate sudokus.
SudokuBoard
A class that represents a Sudoku, fully or partially completed.
Holds a list of 81 int for cells, with 0 for empty cells.
π Can parse strings and files from most common formats and displays the sudoku in an easy to read format.SudokuCellsChromosome
This simple chromosome simply represents each cell by a gene with a value between 1 and 9, accounting for the target mask if given.
SudokuFitness
Evaluates a sudoku chromosome for completion by counting duplicates in rows, columns, boxes, and differences from the target mask.
SudokuPermutationsChromosome
This more elaborated chromosome manipulates rows instead of cells, and each of its 9 gene holds an integer for the index of the row's permutation amongst all that respect the target mask.
Permutations are computed once when a new Sudoku is encountered, and stored in a static dictionary for further reference.SudokuRandomPermutationsChromosome
This chromosome aims at increasing genetic diversity of SudokuPermutationsChromosome, which exhibits only 9 permutation genes.
Here, instead, an arbitrary number of Sudokus are generated where for each row, a random gene is picked amongst an arbitrary number of corresponding permutation genes.Samples
Thanks to
I would like to thanks to JeanSylvain Boige (@jsboige) for contributing with those great new samples and extensions and for use GeneticSharp in his Artificial Intelligence course in French engineering schools (course).
Take a look on the pullrequest for fore details about those new features: New Sudoku extension and GTK# sample #43.
Let's evolve!

v2.1.2
October 31, 2018 
v2.1.1
October 31, 2018