Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
optimal stop distance for bus service
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import pandas as P\n",
"from ggplot import *"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x113def290>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (289271741)>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Riders can walk fractional blocks\n",
"SMOOTH=True\n",
"\n",
"# Riders take the bus, even if walking is faster\n",
"LAZY=False\n",
"\n",
"def ceil(v):\n",
" if SMOOTH: return v\n",
" return np.ceil(v)\n",
"\n",
"def total_time(stop_distance,\n",
" t_toline = 5.0,\n",
" t_fromline = 5.0,\n",
" t_stop = 0.5, # 30 seconds for a no-pickup stop\n",
" t_board = 1. / 12., # 5 seconds per rider to board\n",
" rider_density = 1, # riders/block\n",
" walk_speed = 1.0, # blocks/min\n",
" bus_speed = 8.0, # blocks/min\n",
" route_distance = 30 # blocks\n",
" ):\n",
" dist_to_stop = np.minimum(ceil(stop_distance / 4), route_distance)\n",
" travel_dist = route_distance - dist_to_stop\n",
" walk_time = t_toline + t_fromline + (dist_to_stop / walk_speed)\n",
" num_stops = ceil(route_distance / stop_distance)\n",
" passengers_per_stop = stop_distance * rider_density\n",
" \n",
" time_per_stop = t_stop + passengers_per_stop * t_board\n",
" bus_total = (time_per_stop * num_stops) + walk_time + (travel_dist / bus_speed)\n",
" if LAZY:\n",
" return bus_total\n",
" \n",
" return np.minimum(bus_total, route_distance / walk_speed + t_toline + t_fromline)\n",
"\n",
"\n",
"distances = np.linspace(start=1, stop=40, num=500)\n",
"points = P.DataFrame(dict(\n",
" distance=distances,\n",
" normal=[total_time(d) for d in distances],\n",
" slow_walk=[total_time(d, walk_speed=0.5) for d in distances],\n",
" fast_walk=[total_time(d, walk_speed=2.0) for d in distances],\n",
"))\n",
"\n",
"points = P.melt(points, id_vars='distance')\n",
"points.columns = ['distance', 'example', 'time']\n",
"ggplot(aes(x='distance', y='time', color='example'), data=points) + geom_line()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment