LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
sim_quest_options.h File Reference

Options of the QUEST procedures, with the published FQUEST defaults. More...

#include <cmath>
#include <cstddef>
#include <vector>
#include "line/util/error.h"
Include dependency graph for sim_quest_options.h:

Go to the source code of this file.

Classes

struct  line::sim::QuestOptions
 Procedure constants shared by sim_fquest and sim_firquest. More...

Namespaces

namespace  line
namespace  line::sim

Functions

QuestOptions line::sim::sim_quest_options (const QuestOptions &options=QuestOptions())
 Validates an option set and returns it.

Detailed Description

Options of the QUEST procedures, with the published FQUEST defaults.

Port of matlab/src/api/sim/sim_quest_options.m. The defaults b0 = 50, m0 = 500, s = [32 24 16 10], beta = 0.30, eta = 0.2 and theta = 2.3 are the ones the article reports after its own experimentation: b0 = 50 gives the warmup randomness test enough power, 32 batches suffice to estimate the variance parameter while fewer than 10 make the interval unreliable, and the decaying warmup significance keeps the batch size from growing so far that truncation eats a short sample. With these values the fourth warmup iteration runs at beta*exp(-0.2*3^2.3) = 0.025.

The reference also rejects unknown field names, which a struct cannot carry; what remains here is the admissibility check, and it is not cosmetic. In particular s must be STRICTLY DECREASING: sim_fquest walks it as a batch-count ladder that only ever steps down, so a non-monotone s would let a later stage re-test a batch count an earlier stage had already rejected and the loop would no longer terminate at the ladder's end.

Definition in file sim_quest_options.h.