The options Q and V of program balans and related programs
These options control the amount of output.
-Q (= Quietness) has no argument, -V (= Verbosity) has one argument.
option -Q
Only one line is output, with results like Qf, d4, etcetera. Exception:
score2 -Q -b
outputs the Bussemaker quality numbers across two lines.
option -V <number>
- -V0
: Output to the console (stdout) is suppressed completely.
- -V1
: One line of results is output (or two for score2 Bussemaker), same as -Q.
- -V2
: The output is limited to some important results.
In program balans this means the table of fixed and switched tables, and Qf, d4, etcetera.
- -V3
: (default) Same as no -Q or -V at all. Moderately verbose mode.
- -V7
: Expert mode, even more verbose than the default. Mostly useful for -S1 and higher algorithms
At regular intervals during the optimisation detailed statistics for the most recent 10 (super) iterations are printed to the console:
- iteration number
- current temperature T
- acceptance rate aR = fraction of tested arrow switches actually accepted, e.g. 1.93e-02 = 1.93%
- mean energy Er = mean ssq-units above lowest ssq (sum of squares) seen until now
- energy standard deviation σ
- lowest..highest energy of recent accepted states (relative to lowest ssq seen until now)
- heat capacity estimated from energy variance (C = σ²/T² = expected mean energy decrease if the temperature is lowered by one unit and we're close
to thermodynamic equilibrium)
- crude estimate of relaxation time sR (typically exploding to high values when
we get near the freezing/melting point of the system)
- current exponential temperature change
rate (fr = -(dT/dt)/T = relative T decrease per iteration; fr = speed/(sR*sqrt(C)) for -S2 as in formula
(6) in Nourani
& Andresen 1998).
- -V <bitmask>
For arguments 8 or larger the bits select specific forms of output. Examples
- -V 0x0040 final movement only
- -V 0x0100 fixed and switched tables only
- -V 0x0803 default output with more frequent progress text during the optimisation
<bitmask> is interpreted in base 16 if it begins with 0x or 0X,
in base 8 if it begins with 0 and in base 10 otherwise.
The bits are specified in file Verbose.h, as shown below.
//bits of Verbose
// octal hex
#define V_inp_move 0000010 /* 0x0008 input movement */
#define V_inp_mat 0000020 /* 0x0010 input matrices */
#define V_inp_swit 0000040 /* 0x0020 input fixed tables */
#define V_out_move 0000100 /* 0x0040 output movement */
#define V_out_mat 0000200 /* 0x0080 output matrices */
#define V_out_swit 0000400 /* 0x0100 fixed and switched tables */
#define V_out_mini 0000400 /* 0x0100 minimal output */
// alias: in balans en vernum use V_out_swit, in score2 use V_out_mini
#define V_misc 0001000 /* 0x0200 miscellaneous output */
#define V_progress 0002000 /* 0x0400 show progress text */
#define V_progress_ext 0004000 /* 0x0800 show progress more often */
#define V_Qf1 0010000 /* 0x1000 Qf1 table */
#define V_Qf 0020000 /* 0x2000 Results: Qf, etc */
#define V_summary 0040000 /* 0x4000 Results: as output by '-Q;' */
#define V_expert 0100000 /* 0x8000 experts */
#define V_warn 0200000 /* 0x10000 warnings (e.g. pairs meeting twice) */
Back to README