A final project made by Ellie Jensen and Niels Vanderloo for Bob Bosch's MATH 331 (Linear Optimization) in Fall 2022.
A linear program implemented with Gurobi to solve for the optimal city pairs for high speed rail in the United States. See included PDF of the paper optimizing_trains.pdf describing the model we implement.
- Python
- Jupyter notebooks
- the Gurobi Python package
- installed with
python -m pip install gurobipy
- installed with
To run the analysis, first run the cells of the combinedStat.ipynb notebook in order. Then run the optimize.py file.
-
minDistis the number of miles in our travel demand calculation where travel demand no longer improves as$d < $ minDist- This shows up in our model as
$T_{i, j}=\left(\frac{P_i^{0.8} \times P_j^{0.8}}{\max \left(d_{i, j}, {\tt minDist}\right)^2}\right)$
- This shows up in our model as
trackAmtis the "budget" you have for building trackpenaltyAmtis the amount you assign as a penalty in track miles to decrease your track "budget" for each new route you addperCityis the maximum number of train routes that any given city can have
combStat.csvcontains the latitude, longitude and Census population data of every combined statistical area in the united states- this is used in
combinedStat.ipynbto generate the other csv's used in theoptimize.pyprogram
- this is used in