Biogeme 3.3.4 released: major estimation speedups

17 views
Skip to first unread message

Michel Bierlaire

unread,
Aug 16, 2026, 11:47:34 AMAug 16
to Biogeme

Dear Biogeme users,

Biogeme 3.3.4 is now available. It introduces a new expression-based backend for nested, cross-nested, and sampled choice models, sparse cross-nested logit, faster memory-aware Hessian calculations, recoverable checkpoints, and a Monte Carlo draw-stability diagnostic. It requires Python 3.12 or later and is tested with Python 3.14.

The Swissmetro benchmark below reports median seconds, in the order Biogeme 3.2.14, 3.3.3, and 3.3.4.

Total estimation time, including compilation:

b05a_normal_mixture: 1705.011, 47.970, 38.891 seconds. This is 44 times faster than 3.2.14 and 1.23 times faster than 3.3.3.

b11a_cnl: 38.588, 155.023, 2.637 seconds. This is 15 times faster than 3.2.14 and 59 times faster than 3.3.3.

b12_panel: 8180.078, 109.022, 101.023 seconds. This is 81 times faster than 3.2.14 and 1.08 times faster than 3.3.3.

Warm likelihood-and-gradient evaluation:

b05a_normal_mixture: 37.167, 0.548, 0.406 seconds.

b11a_cnl: 0.728, 0.016, 0.003 seconds.

b12_panel: 161.057, 1.429, 1.155 seconds.

Warm likelihood-gradient-Hessian evaluation:

b05a_normal_mixture: 53.748, 3.678, 2.758 seconds.

b11a_cnl: 0.997, 0.124, 0.021 seconds.

Hessian evaluation was not enabled for b12_panel in the two new releases.

The benchmark confirms agreement between versions 3.3.3 and 3.3.4 for the reported results. Older Monte Carlo versions can differ slightly because equivalent seeds do not guarantee identical draw streams.

To install the release:

pip install --upgrade biogeme

Best regards,

Michel 

Reply all
Reply to author
Forward
0 new messages