@@ -223,33 +223,34 @@ var result = await OpenGARunner<int>
223223 .Initialize (initialPopulation , minPopulationPercentage : 0 . 4 f , maxPopulationPercentage : 2 . 5 f )
224224 .WithRandomSeed (42 )
225225 .MutationRate (0 . 15 f )
226-
226+
227227 // Multi-strategy parent selection with adaptive learning
228228 .ParentSelection (p => p .RegisterMulti (m => m
229- .Tournament (stochasticTournament : true , customWeight : 0 . 4 f )
230- .RouletteWheel (customWeight : 0 . 3 f )
229+ .Tournament (stochasticTournament : true )
230+ .RouletteWheel ()
231231 .Rank (customWeight : 0 . 2 f )
232- .Boltzmann (temperatureDecayRate : 0 . 05 , initialTemperature : 1 . 0 , customWeight : 0 . 1 f )
232+ .Boltzmann (temperatureDecayRate : 0 . 05 , initialTemperature : 1 . 0 )
233233 .WithPolicy (policy => policy .AdaptivePursuit (
234234 learningRate : 0 . 12 ,
235235 minimumProbability : 0 . 05 ,
236236 rewardWindowSize : 15
237237 ))
238238 ))
239-
240- // Single high-performance crossover for exploitation
241- .Crossover (c => c .RegisterSingle (s => s .KPointCrossover (3 ))
242- .WithCrossoverRate (0 . 85 f ))
243-
244- // Multi-strategy survivor selection for dynamic population management
239+
240+ // Round Robin crossover for exploration
241+ .Crossover (c => c .RegisterMulti (s => s
242+ .KPointCrossover (3 )
243+ .UniformCrossover ()
244+ .WithPolicy (policy => policy .RoundRobin ())
245+ ).WithCrossoverRate (0 . 85 f ))
246+
247+ // Multi-strategy survivor selection for dynamic population management.
248+ // Each strategy is assigned a custom probability weight.
245249 .SurvivorSelection (s => s .RegisterMulti (m => m
246250 .Elitist (elitePercentage : 0 . 12 f , customWeight : 0 . 6 f )
247251 .Tournament (tournamentSize : 4 , stochasticTournament : true , customWeight : 0 . 3 f )
248252 .AgeBased (customWeight : 0 . 1 f )
249- .WithPolicy (policy => policy .AdaptivePursuit (
250- learningRate : 0 . 08 ,
251- diversityWeight : 0 . 15
252- ))
253+ .WithPolicy (policy => policy .CustomWeights ())
253254 ).OverrideOffspringGenerationRate (1 . 3 f ))
254255
255256 // Multi-condition termination
0 commit comments