  In light of the need for design and analysis of intermodal transportation
systems, we propose an algorithmic framework to determine the system optimum of
an intermodal transportation system. To this end, we model an intermodal
transportation system by combining two core principles of network optimization
- layered-graph structures and (partially) time-expanded networks - to
formulate our problem on a graph that allows us to implicitly encode problem
specific constraints related to intermodality. This enables us to solve a
standard integer minimum-cost multi-commodity flow problem to obtain the system
optimum for an intermodal transportation system. To solve this integer
minimum-cost multi-commodity flow problem efficiently, we present a column
generation approach to find continuous minimum-cost multi-commodity flow
solutions, which we combine with a price-and-branch procedure to obtain integer
solutions. To speed up our column generation, we further develop a pricing
filter and an admissible distance approximation to utilize the $A^*$ algorithm
for solving the pricing problems. We show the efficiency of our framework by
applying it to a real-world case study for the city of Munich, where we solve
instances with up to 56,295 passengers to optimality, and show that the
computation time of our algorithm can be reduced by up to 60\% through the use
of our pricing filter and by up to additional 90\% through the use of the
$A^*$-based pricing algorithm.
