Basic concept
It is a bit complicated to use optzer and thus highly recommended that you learn through examples in the github repository.
Here, only a basic concept is explained briefly.
As shown in the above figure, optzer needs the following files:
in.optzer
– configuration for performing optzer.in.vars.optzer
– initial values of parameters to be optimized and search range of each parameter.data.ref.XXX
– reference data to be used to evaluate trial parameters.in.params.YYY
– files which the external programs read trial parameters from and optzer writes the trial parameters into.subjob.sh
– describes how the external programs are performed and how to convert the obtained data todata.opt.XXX
so that they can be compared withdata.ref.XXX
.
In the directory where there exist above files, run optzer
command as,
optzer --nproc 4 --random-seed 42 2>&1 | tee out.optzer
If you correctly setup subjob.sh
file with other necessary files that are required to run the external program, the optzer will optimize parameters.
Since the optzer performs several subjobs simultaneously by the number specified with --nproc
option using multiprocessing library in python, it would be good to run it on some computer with many cores or threads.