Each island gets 50 individuals sampled from the global Define the island model with 1,000 concurrent islands. Here we compute 2,000 islands in parallel, each running during Script changes to implement islands in the workflow. Islands are better suited toĮxploit distributed computing resources than classical generational genetic algorithms. If you use distributed computing, it might be a good idea to opt for an Island model. Plug everything together to create the workflow Val savePopulationHook = SavePopulationHook(evolution, workDirectory / "results") Define a hook to save the Pareto frontier Define the population (10) and the number of generations (100). Tell OpenMOLE that this model is stochastic and that it should generate a seed for each execution Define the inputs and their respective variation bounds. (parameter settings) efficiency regarding the objectives. running the model, which indeed provides an evaluation of the genome Notice how the evaluation parameter of the SteadyStateEvolution The result files are written to /tmp/ants. ![]() This script describes how to use the NSGA2 multi-objective optimisation algorithm in OpenMOLE. We will try to find the parameter settings minimising these estimators. The result of this execution should look like: Val model_execution = (ants hook displayHook) start Val displayHook = ToStringHook(food1, food2, food3) Define the hooks to collect the results Define default values for inputs of the model NetLogoOutputs += ("final-ticks-food3", food3), NetLogoOutputs += ("final-ticks-food2", food2), NetLogoOutputs += ("final-ticks-food1", food1), NetLogoInputs += (gEvaporationRate, "gevaporation-rate"), NetLogoInputs += (gDiffusionRate, "gdiffusion-rate"), NetLogoInputs += (gPopulation, "gpopulation"), Map the OpenMOLE variables to NetLogo variables NetLogo5Task(workDirectory / "ogo", cmds, seed = seed) set ( More details about the NetLogo5 task used in this script can be found in This script simply embeds the NetLogo model and runs one single execution of the model with arbitrary When building a calibration or optimisation workflow, the first step is to make the model run in Pareto frontier at the end of the optimisation The combination of the three objectives indicates the quality of the parameters used to run the simulation.Ĭase there is a compromise between these 3 objectives, we will obtain a The simulation ticks indicating that source 3 is empty.The simulation ticks indicating that source 2 is empty,.The simulation ticks indicating that source 1 is empty,.If ((sum of patches with = 0) and (final-ticks-food3 = 0)) [Īt the end of each simulation we return the values for the three objectives (or criteria) : If ((sum of patches with = 0) and (final-ticks-food2 = 0)) [ If ((sum of patches with = 0) and (final-ticks-food1 = 0)) [ ![]() Indicating that this food source is empty. To build our fitness function, we modify the NetLogo Ants source code to store for each food source the first ticks ![]() Which minimises the eating time of each food source. It can be interesting to search the best combination of the two parameters evaporation-rate and diffusion-rate ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |