/IEEE2018-SNM

Repository for the article "SNM: Stochastic Newton Method for Optimization of Discrete Choice Models" in proceedings of IEEE ITSC 2018

Primary LanguageTeXMIT LicenseMIT

SNM: Stochastic Newton Method for Optimization of Discrete Choice Models

This repository contains all the code used to produce the figures and tables for the article SNM: Stochastic Newton Method for Optimization of Discrete Choice Models. This article has been sent for reviews at IEEE ITSC 2018. Feel free to use any part of the code at the condition that our article is explicitly mentionned, see section Authorization and Reference.

The article is available on this Github repository: LedLurBie_IEEE2018.pdf.

If you have any questions about the code or the results, feel free to contact Gael Lederrey.

Content of the repository

This repository contains all the figures used in this article in the folder figures. You can also find the LaTeX for the article in the folder paper. In the folder data, we added the original Swissmetro data as well as the data generated from the algorithms used in our article. Finally, in the folder code, you can find the following folders:

  • biogeme: it contains the code to run biogeme on the model tested in this article.
  • classes: it contains the class MNLogit build for this article. It's a simple Multinomial logit model.
  • helpers: it contains a bunch of helpers files and functions. The SNM algorithm is in the file code/helpers/algos.py.
  • notebooks: it contains all the iPython notebooks that were used to generate the figures and tables.

We present now the content of all the iPython notebooks:

  • norm_vs_raw.ipynb: This notebook is used for the tests between the raw data and normalized model. Fig. 1(a), 1(b), and 1(c) are generated in this notebook. Table II is also generated in this notebook.
  • SGD.ipynb: This notebook is used for the benchmark of the first-order methods. Fig. 2(a) is generated in this notebook as well as part of Table III.
  • SBFGS.ipynb: This notebook is used for the benchmark of the quasi-newton methods. Fig. 2(b) is generated in this notebook as well as part of Table III.
  • SNM.ipynb: This notebook is used for the benchmark of the second-order methods. Fig. 2(c) is generated in this notebook as well as part of Table III.
  • batch_size.ipynb: This notebook is used to study the effect of the batch size on SNM. Fig. 3 and 4 are generated from this notebook. In addition, Table I was generated from the biogeme code in the folder code/biogeme.

Authorization and Reference

We authorize the use of any part of the code at the condition that our article is explicitly mentioned using the following reference: Gael Lederrey, Virginie Lurking and Michel Bierlaire. SNM: Stochastic Newton Method for Optimization of Discrete Choice Models. In Proceedings of IEEE ITSC 2018.