An optimal column-generation-with-ranking algorithm for very large scale set partitioning problems in traffic assignment