Bierlaire, M., and Ortelli, N. (2023)

Assisted specification with Biogeme 3.2.12

The package Biogeme ( is designed to estimate the parameters of various models using maximum likelihood estimation. It is particularly designed for discrete choice models. It is a Python package written in Python and C++, that relies on the Pandas library for the management of the data. This document describes how to obtain assistance from Biogeme for the model specification. In particular, it shows how to apply the algorithm described by Ortelli et al. (2021). In a nutshell, an optimization algorithm is used to generate models based on a minimal number of inputs provided by the analyst. These inputs are used to build a space of possible specifications that may contain any form of variable interaction, nonlinear transformation, segmentation of the population and potential choice models; the space is then explored by an algorithm that sequentially introduces small modifications to an initial set of promising specifications. We assume that the reader is already familiar with discrete choice models and Biogeme. This document has been written using Biogeme 3.2.12. We use the Swissmetro example throughout the document. The Python scripts are available on GitHub in the biogeme repository, in the directory examples/assisted. They are also reported in the Appendix.

Download PDF