The consensus simulation is working.
Next is to
make the simulation code output statistics on outcomes (done)
write batch script to run it a bunch of times and aggregate the results (done, mostly by copying from another project)
compare a couple different strategies in terms of statistics on outcomes.
Never mind the "No more species" line in the output - it's left over in the code that was written for evolutionary ecology models...
# We store simulation outputs in a separate project directory, so it can be used with
# "do not copy". This is very convenient.
outdir = $ ( PROJECT_DIR_Consensus_Results ) /$ ( 1 ) .out
%.out run -% : %.experiment make
-exe $ ( CONSENSUS_EXE ) -f $ ( PROJECT_DIR_consensus_simulation ) /settings /default .settings -f $< --outputDirectory =$ ( call outdir , $* )
ln -s $ ( call outdir , $* ) $@
# The simulation program and run-batch script are in the code from github
CONSENSUS_EXE = $ ( PROJECT_DIR_consensus_simulation ) /consensus
RUN_BATCH = $ ( PROJECT_DIR_consensus_simulation ) /run -batch .pl
export LIBDIR =$ ( PROJECT_DIR_adap_dyn )
export VXLDIR =/usr /local /src /vxl /vxl - 1.14 /vxl
export OTHERCFLAGS =-I /usr /local /src /vxl /bin /vcl -I $ ( EXECSTREAMDIR )
export EXECSTREAMDIR =/usr /local /src /libexecstream
# we are responsible for compiling the simulation program
make -exe :
$ ( MAKE ) $ ( COMPILE_ARGS ) -C $ ( dir $ ( CONSENSUS_EXE ) ) $ ( notdir $ ( CONSENSUS_EXE ) )
# a first batch run, running the simulation a lot of times with varying
# settings. Collect the data in the results project.
# BATCH0 = $(PROJECT_DIR_Consensus_Results)/batch-0
BATCH_ARGS = --executable =$ ( CONSENSUS_EXE ) -f $ ( PROJECT_DIR_consensus_simulation ) /settings /default .settings --logToCout =false --vary replicate = 1 - 10 --vary nBits = 4 , 16 , 64 --vary nBlocks = 1 , 2 , 4 --vary weightingForSharedLandscape = 0 , 0.2 , 0.4 , 0.6 , 0.8 , 1 --vary groupSize = 4 , 12 , 20 --vary facilitationStrategy = "anyone proposes" , "blockers propose" --vary individualProposalStrategy = "best" , "best neighbor" , "any improvement" --vary blockStrategy = "if worse" , "if worse and not acceptable"
run -batch -% : $ ( CONSENSUS_EXE )
$ ( RUN_BATCH ) -D $ ( PROJECT_DIR_Consensus_Results ) /batch - $* $ ( BATCH_ARGS )
# rule to aggregate the outcomes in an existing batch directory. This should
# only be necessary in case of a problem, because the above rule does this
# after running all the simulations.
batch -outcomes -% :
$ ( RUN_BATCH ) -d -D $ ( PROJECT_DIR_Consensus_Results ) /batch - $* -c