De opties Q en V van balans en verwante programma's
Deze opties bepalen de hoeveelheid uitvoer.
-Q (= Quiet) zonder argument, -V (= Verbose) met één argument.
optie -Q
Een regel uitvoer, met Qf, d4, enzovoorts.
optie -V <getal>
- -V0
: Uitvoer naar de console (stdout) wordt volledig onderdrukt.
- -V1
: Een regel uitvoer, hetzelfde als-Q.
- -V2
: De uitvoer wordt beperkt tot enkele belangrijke resultaten.
In programma balans: de tabel van vastgehouden en gedraaide tafels, en Qf, d4, enz.
- -V3
: (default) hetzelfde als weglaten van -Q en -V. Uitgebreide uitvoer.
- -V7
: Expert modus, nog uitgebreider dan de default. Voornamelijk van belang voor -S1 en hogere algoritmes.
Met regelmatige tussenpozen worden tijdens de optimalisatie gedetailleerde statistieken uitgevoerd voor de laatste 10 iteraties:
- iteratie nummer
- huidige temperatuur T
- acceptatie frequentie aR = geaccepteerde fractie van de geteste draaiingen, bijv. 1.93e-02 = 1.93%
- gemiddelde energie Er = gemiddelde ssq (= som van kwadraten) boven de tot nu toe laagste gevonden ssq.
- energie standaard deviatie σ
- laagste .. hoogste energie van recent geaccepteerde toestanden (relatief t.o.v. de tot nu toe laagste gevonden ssq)
- warmtecapaciteit geschat uit de energie variantie (C = σ²/T² = verwachte gemiddelde energie afname bij het verlagen van de temperatuur met een eenheid
als we dicht bij het thermodynamisch evenwicht zitten)
- ruwe schatting van de relaxatietijd (typisch explosief toenemend als we in de buurt van het vriespunt komen)
- fr = -(dT/dt)/T = huidige relatieve temperatuurverandering per iteratie;
fr = speed/(sR*sqrt(C)) voor -S2 zoals in formule
(6) in Nourani
& Andresen 1998).
- -V <bitmask>
Voor waarden 8 en groter bepalen de bits specifieke soorten uitvoer. Voorbeelden
- -V 0x0040 loopschema (eindtoestand)
- -V 0x0100 tabel van vastgehouden en gedraaide tafels
- -V 0x6003 default uitvoer maar met meer frequente tussenstanden tijdens het optimaliseren.
De bits worden gespecificeerd file in Verbose.h, zie onder.
//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) */