rdoume / assortment_optimization

Source code from my Master's thesis @Polytechnique Montréal. A solution to the assortment optimization problem, able to deal with large numbers of products.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

assortment_optimization

Source code from my Master's thesis @Polytechnique Montréal. A solution to the assortment optimization problem, able to deal with large numbers of products.

This code contains my implementation of some parts of the code described in [1] Besides, it also contains the implementation that I used to conduct my works of Master by research @ Polytechnique Montréal.

##What are the main steps of the proposed solution?

  • 0-Generation of sales and assortment data
  • 1-Learning of a choice model
  • 2-Generalization to new products of the choice model
  • 3-Assortment optimization based on the choice model

The step 0 can be replaced by a step of conversion of real transaction data set to the format necessary to the algorithm to run.

The step 1 can learn a choice model, as:

  • the local-search column generation described in [1] (specified as 'BM', for the initials of its authors)
  • the Growing decision tree choice model (specified as 'GDT'), that I describe in my Master's thesis

Step 3 is not compulsory: if no new products are to be inserted in the choice model, it may be bypassed.

Step 4 is the assortment optimization in itself.

##How to test the algorithms? Clone the repository, then go to the ./test directory and execute one of the following: python test_simple.py 001 GDT python test_simple.py 002 BM python test_wholeprocess.py 003 gen

[1]: D. Bertsimas and V. V. Mišic, “Data-driven assortment optimization,” 2016.

About

Source code from my Master's thesis @Polytechnique Montréal. A solution to the assortment optimization problem, able to deal with large numbers of products.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%