Parameters
The execution of Biogeme can be controlled by user defined parameters. The syntax is
BIOGEME_OBJECT.PARAMETERS['parameterName'] = "value"
The parameterName
must be one of the names listed below. Depending on the nature of the parameter, the value must be an integer, a real number or a string of characters. The value must be delimited by double quotes.
Parameter name  Type of value  Default value  Description 

BTRArmijoBeta1 
Real  0.1 

BTRArmijoBeta2 
Real  0.9 

BTREta1 
Real  0.01 

BTREta2 
Real  0.9 

BTRGamma1 
Real  0.5 

BTRGamma2 
Real  0.5 

BTRIncreaseTRRadius 
Real  2 
Defines the factor by which the radius of the trust region is multiplied after a successful iteration. 
BTRInitRadius 
Real  1 
Defines the initial radius of the trust region. 
BTRKappaEpp 
Real  0.25 

BTRKappaFrd 
Real  0.5 

BTRKappaLbs 
Real  0.9 

BTRKappaUbs 
Real  0.1 

BTRMaxTRRadius 
Real  1e+10 
Defines the maximum radius of the trust region. If this radius is reached, the trust region is not enlarged anymore. 
BTRMinTRRadius 
Real  1e07 
Defines the minimum radius of the trust region. If this radius is reached, the iterations are interrupted. 
BTRTolerance 
Real  6.05545e06 
Value used for the stopping criterion of the BIO algorithm. 
BTRTypf 
Real  1 
Typical value of the log likelihood function, with opposite sign 
IPOPTacceptable_tol 
Real  0.0001 
IPOPT: "Acceptable" convergence tolerance (relative). See IPOPT documentation 
IPOPTmax_cpu_time 
Real  1e+06 
IPOPT: Maximum number of CPU seconds. See IPOPT documentation 
IPOPTtol 
Real  1e06 
IPOPT: Desired convergence tolerance (relative). See IPOPT documentation 
MetropolisHastingsNeighborhoodSize 
Real  1 
The Markov chain for the MetropolisHastings algorithm updates the parameters beta using the following formula: beta + rho ksi, where ksi is a draw from a normal(0,1) and rho is this parameter. 
NormalTruncation 
Real  1.96 
When calculating MonteCarlo simulation using a symmetric truncated normal distrubtion, this parameters T sets the value of the truncation in the interval [T:T]. 
TSExpTheta 
Real  0.5 

TSFractionGradientRequired 
Real  0.1 

TolSchnabelEskow 
Real  0.00492157 

cfsqpEps 
Real  6.05545e06 
See CFSQP manual. In general, it should not be changed. 
cfsqpEpsEqn 
Real  6.05545e06 
See CFSQP manual. In general, it should not be changed. 
cfsqpUdelta 
Real  0 
See CFSQP manual. In general, it should not be changed. 
missingValue 
Real  99999 
Default value for composite literals. 
sensitivityAnalysisAlpha 
Real  0.05 
Sensitivity analysis is performed by simulation. Biogeme reports the alpha and the 1alpha quantiles of the simulated values. 
singularValueThreshold 
Real  0.0001 
A singular value lesser of equal to this value is considered to be zero. 
solvoptErrorArgument 
Real  0.0001 

solvoptErrorFunction 
Real  1e06 
See SOLVOPT manual. In general, it should not be changed. 
tTestThreshold 
Real  1.96 
Set the threshold for the ttest hypothesis tests. If the absolute value of a ttest is less than the value of this parameter, a symbol * will be appended to the relevant line in the report file (or the symbol defined by the previous parameter). 
toleranceCheckDerivatives 
Real  0.001 
Difference between analytical and finite differences derivative is considered to be significant if greater or equal to this value 
HeaderForWeightInSimulatedResults 
String  __weight 
Biogeme includes the weight of each observation in the simulation results. This parameters sets the label of the resulting column in the output. 
HeaderOfRowId 
String  __rowId__ 
Biogeme assumes that the data file contains a virtual column where the number of the row is reported. The name of this column is defined by this parameter, and can be used in the specification. 
OutputFileForSensitivityAnalysis 
String  __sensitivity.dat 
Biogeme performs sensitivity analysis by simulation. If asked by the user, each simulated value is stored in the file with the name defined by this parameter. 
RandomDistribution 
String  MLHS 
Type of draws used for simulating random distributions. Valid values are

individualId 
String  __rowId__ 
The name of the variable that identifies the individuals in the sample. It is used by the Bayesian estimation procedure, that generates realizations of random parameters for each individual (see Train, 2003, chap. 12) 
optimizationAlgorithm 
String  BIO 
Name of the optimization algorithm used to solve the maximum likelihood estimation problem. Valid values are:

stopFileName 
String  STOP 
During the optimization process, Biogeme checks for the existence of a file, whose name is defined by this parameter. If the file exists, Biogeme interrupts the iterations and generate output files. This is convenient to prematurely stop iterations without loosing the computations performed thus far. 
warningSign 
String  * 
Signs printed in the estimation report in front of parameters such that the ttest is between 1.96 and 1.96 (or the value defined by the parameter tTestThreshold ). 
BTRCheapHessian 
Integer  1 
If 1, BHHH (see Berndt et al, 1974) is used as an approximation of the second derivatives matrix. 
BTRExactHessian 
Integer  1 

BTRIncreaseDraws 
Integer  2 
If BIOMC is used for simulated maximum likelihood estimation, this parameters defines the factor by which the number of draws is increased. (Not yet implemented) 
BTRInitQuasiNewtonWithBHHH 
Integer  1 
If 1, the secant update is initialized with the BHHH (see Berndt et al, 1974) approximation (BIO algorithm). 
BTRInitQuasiNewtonWithTrueHessian 
Integer  1 
If 1, the secant update is initialized with the analytical hessian (BIO algorithm). 
BTRMaxIter 
Integer  1000 
Maximum number of iterations to be performed by the BIO algorithm. 
BTRQuasiNewtonUpdate 
Integer  1 

BTRSignificantDigits 
Integer  7 

BTRStartDraws 
Integer  10 
If BIOMC is used for simulated maximum likelihood estimation, this parameter defines the number of draws which are used during the first iterations. (Not yet implemented) 
BTRUnfeasibleCGIterations 
Integer  0 

BTRUsePreconditioner 
Integer  1 
If 1, the subproblem is preconditioned using a modified Cholesky factorization (see Schnabel and Eskow, 1991). 
DumpSensitivityAnalysis 
Integer  0 
If this parameter is non zero, Biogeme dumps the values simulated during sensitivity analysis in a file. 
IPOPTacceptable_iter 
Integer  5 
IPOPT: Number of "acceptable" iterates before triggering termination. See IPOPT documentation 
IPOPTmax_iter 
Integer  3000 
IPOPT: Maximum number of iterations. See IPOPT documentation 
NbrOfDraws 
Integer  1000 
Number of draws for the simulation of the random parameters 
NbrOfDrawsForSensitivityAnalysis 
Integer  100 
Number of draws for the empirical sensitivity analysis 
Seed 
Integer  9021967 
Seed for random number generation. 
accessFirstDataFromMetaIterator 
Integer  0 
If the parameter is set to a value different from 0, the first row of a meta iterator can be accessed outside of a rwo iterator. This should be used with caution, as it is in general not the desired effect, and it may hide implementation errors. 
allowNestedMonteCarlo 
Integer  0 
If different from 0, nested MonteCarlo statements are allowed in a formula. In general, the nesting is due to a syntax error, and not explicitly desired. Therefore, the default value is 0. 
biogemeDisplay 
Integer  0 
If 0, only general messages are displayed on the screen. If 1, more detailed messages are provided. If 2 or more, messages designed for debugging purposes are also included. 
biogemeLogDisplay 
Integer  1 
If 0, only general messages are included in the log file. If 1, more detailed messages are provided. If 2 or more, messages designed for debugging purposes are also included. 
buildAnalyticalGradient 
Integer  1 
If 1, Biogeme generates the analytical gradient of the log likelihood. If 0, the finite difference approximation is used instead. 
cfsqpIprint 
Integer  2 
Set it to 1 for silent mode, and to 2 for information at each iteration of the optimization algorithm. 
cfsqpMaxIter 
Integer  1000 
Maximum number of iterations for CFSQP. 
cfsqpMode 
Integer  100 
Even if it is a descent algorithm, CFSQP sometimes allows nonmonotone iterates, hoping not to be trapped in local minima. If the function is convex, a descent algorithm is more appropriate. In this case, set the value to 100. See CFSQP manual for more details. 
checkDerivatives 
Integer  0 
If set to 1, the analytical derivatives of the log likelihood functions and the nonlinear constraints are compared to the finite difference derivatives. This is used mainly for debugging purposes. 
computeInitLoglikelihood 
Integer  1 
If 1, Biogeme computes the log likelihood at the starting point, before running the algorithm. 
decimalPrecisionForSimulation 
Integer  6 
Sets the decimal precision to be used to format floatingpoint values on output operations with the SIMULATE function. 
deriveAnalyticalHessian 
Integer  1 
The second derivative matrix of the likelihood function is derived if this parameters is different from 0. 
detectMissingValue 
Integer  0 
This parameter is used mainly for debugging purposes. If set to 1, any time that a literal takes the values given by the parameter 'missingValue', an error message is triggered. 
dumpDrawsOnFile 
Integer  0 
If set to 1, Biogeme dumps the draws used for simulated likelihood estimation in the file draws.lis . Another file called model.udraws , where model is the name of the model estimated, contains the uniform draws. 
firstIdOfLiterals 
Integer  10000 
Each literal is assigned a unique ID by Biogeme. The first of these IDs is defined by this parameter. It is recommended not to modify it. 
includeDataWhenSimulate 
Integer  0 
When pythonbiogeme is used to simulate, each variable in the data file are included in the report, if the parameter is set to 1. 
maxGcpIter 
Integer  10000 

maxPrimeNumbers 
Integer  1000 
The generation of Halton sequences is based on prime numbers. This parameter defines the maximum number of prime numbers that can be used. Most users will never have to change the default value. 
monteCarloControlVariateReport 
Integer  100 
Include reporting about the added value of the control variate method in terms of precision for k MonteCarlo calculations, where k is the value of the parameter 
moreRobustToNumericalIssues 
Integer  0 
Biogeme performs additional verifications about numerical issues (division by zero, log of zero, overflows, etc.) if the parameter is set to 1. It is at the cost of computing performance. 
numberOfThreads 
Integer  0 
This parameter specifies the number of threads that will be launched. Note that it may exceed the actual number of available processors. However, this may affect the performance by creating unnecessary overhead. If the value is 0 (which is the case by default), the number of threads is set to the number of processors, multiplied by the value of the parameter shareOfProcessors / 100. If this number is unavailable, the number of threads is set to 4. 
printPValue 
Integer  1 
If 1, Biogeme prints the pvalue in the results. The pvalue is computed as follows: if t is the ttest of the parameters, p = 2 (1  Φ(t)),where Φ() is the cumulative density function of the univariate normal distribution. 
saveUniformDraws 
Integer  0 
If 1, Biogeme saves the uniform draws used to generate the actual draws. It is used for the test proposed by Fosgerau and Bierlaire (2007). It is automatically set to 1 if the operator bioRecycleDraws is used in the model specification. 
scaleDerivativesInSums 
Integer  0 
When calculating derivatives (first and second) of sum, Biogeme divide each element by the value of the function before accumulating them, and remultiply the final result by the same value. It avoids the accumulation of large numbers, that may go beyond the maximum value that can be represented in memory. Note that it is at the expense of performance. 
shareOfProcessors 
Integer  50 
When the parameter numberOfThreads is set to 0, the number of threads is set to the number of available threads reported by the system, multiplied by the value of this parameter, divided by 100. Zero and negative values are ignored. Because of hyperthreading, some systems report more threads than processors physically available 
simulateReportForEveryObservation 
Integer  1 
If 1, the output file fir simulation includes records for each data set in the data file. If 0, only aggregate values are provided. 
solvoptDisplay 
Integer  1 
Controls the display of the algorithm. See SOLVOPT manual. 
solvoptMaxIter 
Integer  1000 
Maximum number of iterations for algorithm SOLVOPT 
svdMaxIter 
Integer  150 
Maximum number of iterations for the singular value decomposition of the final second derivative matrix. 
useAnalyticalHessianForOptimization 
Integer  0 
If the second derivative matrix is available, it is used in the optimization algorithm if the parameter is different from 0. 
varCovarFromBHHH 
Integer  0 
The computation of the variancecovariance matrix of the estimated parameters using finite difference approximation may take a while for complex models. It is sometimes useful to use the BHHH approximation, which is much faster to compute. If so, set this parameter to 1. It is recommended not to use BHHH in the final model. 
warnsForIllegalElements 
Integer  1 
The expression Elem is designed to access an element from a dictionary. If Biogeme tries to access an element not in the dictionary, it will trigger a warning if the parameter is set to 1, and stay silent if set to 0. 
The parameter file provides the parameters controlling the execution of Biogeme. It is not mandatory. If it does not exist, Biogeme uses the default values, and automatically creates a file named default.par
.
If entries are missing in the file, Biogeme will use the default values.
The file is divided into sections, each section containing a list of parameters and their corresponding value.
Parameter name  Type  Default value  Description 

gevAlgo 
[GEV] 
BIO 
It selects the optimization algorithm to be used for loglikelihood estimation. Valid values: BIO , BIOMC , CFSQP , SOLVOPT , DONLP2 . Click here for more details. 
gevScreenPrintLevel 
[GEV] 
1 
This parameter defines the level of display to be produced on the screen during a run. Valid values are 1 for general messages only, 2 for detailed messages, and 3 for debug messages. 
gevLogFilePrintLevel 
[GEV] 
2 
This parameter defines the level of display to be produced in the log file during a run. Valid values are 1 for general messages only, 2 for detailed messages, and 3 for debug messages. 
gevPrintVarCovarAsList 
[GEV] 
1 
If set to 1, the variancecovariance matrix of the estimated parameters is displayed as a list (one row per entry). 
gevPrintVarCovarAsMatrix 
[GEV] 
0 
If set to 1, the variancecovariance matrix of the estimated parameters is displayed as a matrix. We recommend to use this feature only if the number of parameters is small (not more than 10). 
gevAutomaticScalingOfLinearUtility 
[GEV] 
0 
If 1, linear utility functions are automatically scaled to avoid numerical problems during the estimation. The scaling is computed in such a way that all attributes have a level of magnitude of about 1.0. 
gevBinaryDataFile 
[GEV] 
__BiogemeData.bin 
This is the name of the binary data file where the processed data are stored. 
gevBufferSize 
[GEV] 
100000 
Biogeme reads the first line of the data files, and stores it in a buffer to analyze it and extract the labels. The size of the buffer is determined by this parameter. Adjust the value if the first line of your data file contains more that 99'999 characters. Biogeme provides a warning if the default value is exceeded. 
gevCheckDerivatives 
[GEV] 
0 
If set to 1, the analytical derivatives of the loglikelihood functions and the nonlinear constraints are compared to the finite difference derivatives. This is used basically when a new model is included and for debugging purposes. 
gevDataFileDisplayStep 
[GEV] 
500 
While preprocessing the data file before the estimation, Biogeme reports progress each time it has read a number of rows specified by this parameter. 
gevDebugDataFirstRow 
[GEV] 
0 
Biogeme can print what it actually reads from the data file. This parameter is the number of the first row for which his information is displayed. It is recommended to use it when strange results are generated by the package. It helps identifying garbage in the data file, such as strings, for instance. 
gevDebugDataLastRow 
[GEV] 
0 
Biogeme can print what it actually reads from the data file. This parameter is the number of the last row for which his information is displayed. It is recommended to use it when strange results are generated by the package. It helps identifying garbage in the data file, such as strings, for instance. 
gevDecimalDigitsStats 
[GEV] 
3 
Number of digits after the decimal points to be used for printing general statistics in the output files. 
gevDecimalDigitsTTest 
[GEV] 
2 
Number of digits after the decimal points to be used for printing ttests in the output files. 
gevDumpDrawsOnFile 
[GEV] 
0 
If set to 1, Biogeme dumps the draws used for simulated likelihood estimation. The name of the file is displayed at the end of the run. If the model name is model , the filename is model.draws . 
gevForceScientificNotation 
[GEV] 
0 
If 1, use the scientific notation for printing results. 
gevGenerateActualSample 
[GEV] 
0 
If set to 1, Biogeme generates a copy of the sample file containing only the observations that have not been excluded. 
gevMinimumMu 
[GEV] 
1.0e5 
When the homogeneity parameter μ of MEV models is estimated, its theoretical lower bound must be zero. However, numerically, a value of 0 generates problems during the computation of the model. Therefore, the lower bound is automatically set to the value defined by this parameter. 
gevMaxPrimeNumber 
[GEV] 
1000 
The generation of Halton sequences is based on prime numbers. This parameter defines the maximum number of prime numbers that can be used. Most users will never have to change the default value. But if it is too low, an error message is generated: Warning: Error: 23 Halton series must be generated, but there are only 10 prime numbers available. Increase the value of gevMaxPrimeNumber in the parameters file 
gevMissingValue 
[GEV] 
99999 
This parameter is used mainly for debugging purposes. It defines the value given to missing values in the data file. If one of them is used in the computation of the utility functions, an error message is triggered. 
gevNonParamPlotRes 
[GEV] 
100 
This parameter defines the number of equally distributed values on the xaxis used to generate nonparametric plots (Biosim only) . 
gevNonParamPlotMaxY 
[GEV] 
1000 
When generating nonparametric plots, values larger that this parameter are considered equal to the parameter. Symmetrically, values lower than the negative parameter are considered equal to the negative value. 
gevNonParamPlotXSizeCm 
[GEV] 
15 
Width in centimeters of the nonparametric plots in the \LaTeX\ output. 
gevNonParamPlotMinXSizeCm 
[GEV] 
0.00001 
Units on the xaxis are computed automatically for nonparametric plots, but will no be lower than the value of this parameter. 
gevNonParamPlotMinYSizeCm 
[GEV] 
0.00001 
Units on the yaxis are computed automatically for nonparametric plots, but will no be lower than the value of this parameter./td> 
gevOne 
[GEV] 
one 
Name of the expression that is replaced by the value 1.0. It can be used in the specification of the utility without explicitly defining it in the Section [Expressions] . 
gevOutputActualSample 
[GEV] 
__actualSample.dat 
If the parameter gevGenerateActualSample is set to 1, this parameter defines the name of the file where the sample is saved. 
gevPrintPValue 
[GEV] 
1 
If 1, print the pvalue in the results. The pvalue is computed as follows: if t is the ttest of the parameters, then p = 2 (1  Φ(t)), where Φ(.) is the cumulative density function of the univariate normal distribution. 
gevRandomDistrib 
[GEV] 
PSEUDO 
Type fo draws use for simulating random distributions. Valid values are

gevSaveIntermediateResults 
[GEV] 
0 
If 1, the current estimates are saved at each iteration in a file with extension .bck . This is particularly useful for models that take a while to estimate, so that the estimation can be restarted from the last iterate. 
gevSeed 
[GEV] 
9021967 
It defines the seed value for the pseudorandom number generator. 
gevSignificantDigitsParameters 
[GEV] 
3 
Number of significant digits to be used for printing estimated parameters in the output files. 
gevSingularValueThreshold 
[GEV] 
1.0e4 
Identification problems are analyzed using a Singular Value Decomposition procedure. If a singular value is small (that is, its absolute value is less than the value defined by this parameter), the model is considered degenerate and the source of this degeneracy is displayed. 
gevStopFileName 
[GEV] 
STOP 
During the optimization process, Biogeme checks for the existence of a file, whose name is defined by this parameter. If the file exists, Biogeme interrupts the iterations and generate output files. This is convenient to prematurely stop iterations without loosing the computations performed thus far. 
gevStoreDataOnFile 
[GEV] 
0 
Biogeme uses a database gathering the processed data from the file provided by the user and, if applicable, the draws for the simulated maximum likelihood estimation. If the parameter is 0, the database is stored in memory. If 1, it is stored in the binary file defined by the parameter gevBinaryDataFile . It is recommended to use 0, except if the data does not fit in memory. Indeed, accessing to the file slows down the estimation process. 
gevSummaryFile 
[GEV] 
summary.html 
Name of the file summarizing the results of several runs of Biogeme. 
gevSummaryParameters 
[GEV] 
summary.lis 
Name of the file containing the name of the parameters whose estimated values must be reported in the summary file. 
gevVarCovarFromBHHH 
[GEV] 
0 
The computation of the variancecovariance matrix of the estimated parameters using finite difference approximation may take a while for complex models. It is sometimes useful to use the BHHH approximation, which is much faster to compute. If so, set this parameter to 1. It is recommended not to use BHHH in the final model. 
gevTtestThreshold 
[GEV] 
1.96 
Set the threshold for the ttest hypothesis tests. If the absolute value of a ttest is less than gevTtestThreshold , a symbol * will be appended to the relevant line in the report file. 
gevWarningLowDraws 
[GEV] 
1000 
Biogeme displays a warning if the number of draws for simulated maximum likelihood estimation is considered too low. This parameter defines the threshold used in the generation of this warning message. Note that it has no effect on the estimation itself. 
gevWarningSign 
[GEV] 
* 
When a ttest is not successful, a warning size is displayed in the report file and in the HTML file. This parameter defines the nature of this sign. 
BTRMaxIter 
[BasicTrustRegion] 
1000 
Maximum number of iterations to be performed. 
BTRTypf 
[BasicTrustRegion] 
1.0 
Typical value of the log likelihood function, with opposite sign 
BTRTolerance 
[BasicTrustRegion] 
6.05545e06 
Value used for the stopping criterion. 
BTRCheapHessian 
[BasicTrustRegion] 
1 
If 1, BHHH (see Berndt et al, 1974) is used as an approximation of the second derivatives matrix. 
BTRUsePreconditioner 
[BasicTrustRegion] 
0 
If 1, the subproblem is preconditioned using a modified Cholesky factorization (see Schnabel and Eskow, 1991). 
BTRInitRadius 
[BasicTrustRegion] 
1.0 
Defines the initial radius of the trust region. 
BTRIncreaseTRRadius 
[BasicTrustRegion] 
2.0 
Defines the factor by which the radius of the trust region is multiplied after a successful iteration. 
BTRMinTRRadius 
[BasicTrustRegion] 
1.0e7 
Defines the minimum radius of the trust region. If this radius is reached, the iterations are interrupted. 
BTRMaxTRRadius 
[BasicTrustRegion] 
1.0e10 
Defines the maximum radius of the trust region. If this radius is reached, the trust region is not enlarged anymore. 
BTRStartDraws 
[BasicTrustRegion] 
10 
If BIOMC is used for simulated maximum likelihood estimation, this parameter defines the number of draws which are used during the first iterations. 
BTRIncreaseDraws 
[BasicTrustRegion] 
2 
If BIOMC is used for simulated maximum likelihood estimation, this parameters defines the factor by which the number of draws is increased. 
cfsqpIprint 
[cfsqp] 
1 
Set it to 1 for silent mode, and to 2 for information at each iteration of the optimization algorithm. 
cfsqpMaxIter 
[cfsqp] 
500 
Maximum number of iterations. 
cfsqpMode 
[cfsqp] 
110 
Even if it is a descent algorithm, CFSQP sometimes allows nonmonotone iterates, hoping not to be trapped in local minima. If the function is convex, a descent algorithm is more appropriate. In this case, set the value to 100. See CFSQP manual for more details. 
cfsqpEps 
[cfsqp] 
6.05545e06 
See CFSQP manual. In general, it should not be changed. 
cfsqpEpsEqn 
[cfsqp] 
6.05545e06 
See CFSQP manual. In general, it should not be changed. 
cfsqpUdelta 
[cfsqp] 
0.0 
See CFSQP manual. In general, it should not be changed. 
solvoptMaxIter 
[solvopt] 
15000 
Maximum number of iterations. 
solvoptDisplay 
[solvopt] 
1 
Controls the display of the algorithm. See SOLVOPT manual. 
solvoptErrorArgument 
[solvopt] 
1.0e4 
See SOLVOPT manual. In general, it should not be changed. 
solvoptErrorFunction 
[solvopt] 
1.0e6 
See SOLVOPT manual. In general, it should not be changed. 
donlp2Epsx 
[donlp2] 
1.0e5 
See DONLP2 manual. In general, it should not be changed. 
donlp2Delmin 
[donlp2] 
1.0e6 
See DONLP2 manual. In general, it should not be changed. 
donlp2Smallw 
[donlp2] 
3.66685e11 
See DONLP2 manual. In general, it should not be changed. 
donlp2Epsdif 
[donlp2] 
0.0 
See DONLP2 manual. In general, it should not be changed. 
donlp2NReset 
[donlp2] 
9 
See DONLP2 manual. In general, it should not be changed. 