## Documentation Pages - [Index](index.md) - [Subcommands](subcommands.md) - [File Structures](file_structures.md) - [Installation](installation.md) # Subcommands The problem generator has various subcommands to switch between input modes: - [configuration_file](#configuration_file): single configuration file - [codomain_file](#codomain_file): single codomain file - [configuration_folder](#configuration_folder): multiple configuration files in a folder - [codomain_folder](#codomain_folder): multiple codomain files in a folder ## Reproducible random number generation It's important to note that there's the possibility to use a specified u64 (uint64) seed for the initialization of the random number generation. To any subcommand here, one can add `-s SEED` in front to use the specified `SEED`: ``` problem_generator [-s SEED] SUBCOMMAND [SUBCOMMAND_ARGS] ``` For example, to add it to the example listed below for the configuration_file subcommand: ``` problem_generator -s 2398 configuration_file deceptive_trap_conf.txt codomain_files problems -n 25 ``` ## configuration_file We use the executable *problem\_generator* to generate the codomain files and the problems, and find the global optimum for each problem: ``` problem_generator [-s SEED] configuration_file CONF_FILE CODOMAIN_OUT PROBLEM_OUT [-n NUM] ``` where `CONF_FILE` is the input configuration file, `CODOMAIN_OUT` is the (existing) output codomain folder, `PROBLEM_OUT` is the (existing) output problem folder, and `-n NUM` is the number of problems generated per configuration setting. An example run: ``` problem_generator configuration_file deceptive_trap_conf.txt codomain_files problems -n 25 ``` ## codomain_file Instead of generating the codomain and then generating a problem with this generated codomain, one can use an existing codomain file to create a TD Mk Landscape problem. The executable offers the following subcommand for this purpose: ``` problem_generator [-s SEED] codomain_file CODOMAIN_FILE PROBLEM_FILE_OUT [-g] ``` where `CODOMAIN_FILE` is the input codomain file, `PROBLEM_FILE_OUT` is the output problem file, and the `-g` flag indicates the codomain was generated by the configuration_(file/folder) subcommand, and therefore contains the used codomain function on the first line. Note that this flag might change in the (near) future as this is not used much. An example run: ``` problem_generator codomain_file deceptive_trap_codomain.txt deceptive_trap_problem.txt -g ``` ## configuration_folder Generate problems for configurations specified in a given directory that contains a directory 'problem_generation' with configuration files specifying the codomain parameters and ranges of topology parameters. See [configuration_file](#configuration_file) subcommand. ``` problem_generator [-s SEED] configuration_folder FOLDER... [-n NUM] ``` where multiple folders can be passed, with each `FOLDER` being a folder as specified above (contains a 'problem_generation' folder), and `-n NUM` is the number of problems generated per configuration setting. Conveniently, this way of passing folders allows for using wildcards in Bash, for example. An example run that uses the mentioned wildcard: ``` problem_generator configuration_folder test_* -n 25 ``` ## codomain_folder Generate problems for configurations specified in a given directory that contains a directory 'codomain_files' with codomain files that specify both the topology and codomain. ``` problem_generator [-s SEED] codomain_folder FOLDER... [-g] ``` where multiple folders can be passed, with each `FOLDER` being a folder as specified above (contains a 'codomain_files' folder), and the `-g` flag indicates the codomain was generated by the configuration_(file/folder) subcommand, and therefore contains the used codomain function on the first line. Note that this flag might change in the (near) future as this is not used much. An example run: ``` problem_generator codomain_folder test_folder ```