## Documentation Pages - [Index](index.md) - [Subcommands](subcommands.md) - [File Structures](file_structures.md) - [Installation](installation.md) # File Structures - [File Structures](#file-structures) - [Configuration file](#configuration-file) - [Codomain File Structure](#codomain-file-structure) - [Problem File Structure](#problem-file-structure) ## Configuration file The input configuration file is used to generate deceptive trap problems with topology parameters in a range. It has the following structure: ``` M INCL_START_M EXCL_END_M k INCL_START_K EXCL_END_K o INCL_START_O EXCL_END_O b INCL_START_B EXCL_END_B CODOMAIN_CLASS [CODOMAIN_CLASS_PAR...] ``` where `M`, `k`, `o`, and `b` are literals and `INCL_START_X` and `EXCL_END_X` represent the to be inserted values of the start (incl.) and end (excl.) values for that variable `X`. `CODOMAIN_CLASS` is the used codomain class and `CODOMAIN_CLASS_PAR` are any parameters for the codomain class. For example, if we use $M \in \{1, ..., 49\}$, $k = 5$, $o = 1$, $b = 1$, and the deceptive trap codomain function: ``` M 1 50 k 5 6 o 1 2 b 1 2 deceptive-trap ``` As options for the codomain we currently offer: *Random*, *Deceptive Trap*, *NKq*, *NKp*, and *Random Deceptive Trap* (a combination of the two). Here we have chosen the deceptive trap function. Note that the deceptive trap codomain function has a randomly generated local optimum and deceptive attractor (its inverse). ## Codomain File Structure The input codomain files should have the following structure: ``` M K O B CODOMAIN_VALUE_1 ... CODOMAIN_VALUE_LAST ``` where `M`, `K`, `O`, and `B` represent the to be inserted values of $M$, $k$, $o$ and $b$, and `CODOMAIN_VALUE_1` `...` `CODOMAIN_VALUE_LAST` represent the $M \cdot 2^k$ decimal codomain values, each on a new line. ## Problem File Structure The output problem files have the following structure: ``` M K O B GLOB_OPT_VAL NUM_GLOB_OPT GLOB_OPT_1 ... GLOB_OPT_LAST CLIQUE_INDICES_1 ... CLIQUE_INDICES_LAST ``` where `GLOB_OPT_VAL` represents the global optimum (optima) value, `NUM_GLOB_OPT` represents the number of global optima, `GLOB_OPT_1` `...` `GLOB_OPT_LAST` represent the global optima solutions, and `CLIQUE_INDICES_1` `...` `CLIQUE_INDICES_LAST` represent the problem variables in each clique. An example problem generated: ``` 2 5 1 1 1.9 2 101000111 010111000 5 3 2 1 7 1 0 6 4 8 ```