fstonedahl / behaviorsearch

BehaviorSearch is a software tool to help with automating the exploration of agent-based models (ABMs), by using genetic algorithms and other heuristic techniques to search the parameter-space. BehaviorSearch interfaces with the popular NetLogo ABM development platform, to provide a low-threshold way to search for combinations of model parameter settings that will result in a specified target behavior.
Other
11 stars 6 forks source link

Thread safety for MOEA multiple execution threads #17

Open fstonedahl opened 7 years ago

fstonedahl commented 7 years ago

Need output file writing and StatsKeeper (and JavaFX UI?) to all be thread safe... maybe change to using an event model that queues up update event objects?

Use MiniFireFastOrSlowRunningTime.bsearch to try to test this?

fstonedahl commented 7 years ago

At this point, I believe everything is thread-safe, but for multi-threaded runs, lines in the output CSV files may come out in a non-strictly-increasing order (similar to how BehaviorSpace works now.)

Could use the evaluationCount (in BSProblem) that we're getting from the Futures in order to sort the resulting output, using a "sorting buffer" of some kind?

But probably simpler to just ask the users to sort the files afterwards (if they even care that it's sorted order).