<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8358823616508684659.post6511517943220193424..comments</id><updated>2007-10-23T14:54:16.032-07:00</updated><title type='text'>Comments on Optimizing the world: Why is the bus so often late?</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.simonfl.com/feeds/6511517943220193424/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default'/><link rel='alternate' type='text/html' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html'/><author><name>simonfl</name><uri>http://www.blogger.com/profile/01710187988499098321</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8358823616508684659.post-1695981258919098885</id><published>2007-10-23T14:54:00.000-07:00</published><updated>2007-10-23T14:54:00.000-07:00</updated><title type='text'>Ok, I just realized I made an important mistake. I...</title><content type='html'>Ok, I just realized I made an important mistake. If we do not wait for the runners, then the TCS is not necessarily (&lt;I&gt;N&lt;/I&gt; - 1) * &lt;I&gt;t&lt;/I&gt;. It is so if there is a runner at each bus stop. A more realistic TCS is given by &lt;BR/&gt;TCS = &lt;I&gt;M&lt;/I&gt; * &lt;I&gt;t&lt;/I&gt;&lt;BR/&gt;where &lt;I&gt;M&lt;/I&gt; is the number of runners.&lt;BR/&gt;&lt;BR/&gt;And the point you made is very important indeed, Simon. We need to define what "time" means in this context. If we consider an absolute time, then a "runner" at stop &lt;I&gt;i&lt;/I&gt;+1 that arrives &lt;I&gt;w&lt;/I&gt;_{&lt;I&gt;i&lt;/I&gt;+1} seconds late will not cause any problem if the bus has already more than that much time late. However, considering this is much more complicated.&lt;BR/&gt;&lt;BR/&gt;In my comment, I used a "relative" time, meaning that the &lt;I&gt;w_k&lt;/I&gt; were times measured relative to the arrival of the bus at stop &lt;I&gt;k&lt;/I&gt;. Similarly, I made the not so realistic assumption that the time between buses is alwats &lt;I&gt;t&lt;/I&gt;. So even if a bus is already late the runner that did not pick the bus will wait &lt;I&gt;t&lt;/I&gt;, not &lt;I&gt;t&lt;/I&gt; minus the amount of time the preceding bus was late...&lt;BR/&gt;&lt;BR/&gt;I think it is possible to formulate this problem in a more convenient way. Something like&lt;BR/&gt;minimize TCS&lt;BR/&gt;  s.t. some constraints&lt;BR/&gt;To do this, we need to find an expression for the TCS that includes both cases (waiting and not waiting). Then we could set the &lt;I&gt;w_k&lt;/I&gt; as variables an try to find what values give an optimal solution to that problem. I still need to figure how to do that. As soon as I found something, I will post it here.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/1695981258919098885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/1695981258919098885'/><link rel='alternate' type='text/html' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html?showComment=1193176440000#c1695981258919098885' title=''/><author><name>L.S.C.</name><uri>http://www.blogger.com/profile/12093160365864375949</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html' ref='tag:blogger.com,1999:blog-8358823616508684659.post-6511517943220193424' source='http://www.blogger.com/feeds/8358823616508684659/posts/default/6511517943220193424' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8358823616508684659.post-666073872045423815</id><published>2007-10-22T20:05:00.000-07:00</published><updated>2007-10-22T20:05:00.000-07:00</updated><title type='text'>Wow, great job on that L.C.S.!  You know, it doesn...</title><content type='html'>Wow, great job on that L.C.S.!  You know, it doesn't surprise me one bit that you're the one who wrote that!  ;)&lt;BR/&gt;&lt;BR/&gt;Of course my model was greatly simplified.  The objective is to be able to quickly do the calculations in your head.&lt;BR/&gt;&lt;BR/&gt;Your model is very good except for a very important assumption.  If the bus is already late &lt;I&gt;w&lt;/I&gt; seconds at stop &lt;I&gt;i&lt;/I&gt;, then we have to account for every runner at stop i+1 who are (or will be I guess) less than &lt;I&gt;w&lt;/I&gt; late.  I'm way too lazy to try to figure that out now, but I'm sure you could.&lt;BR/&gt;&lt;BR/&gt;We could then use a &lt;A HREF="http://en.wikipedia.org/wiki/Monte_Carlo_method" REL="nofollow"&gt;Monte Carlo simulator&lt;/A&gt; to approximate every variable.&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;Another important thing I haven't talked about is the long term effect.  This whole analysis implies only takes into account the short-term effect.  If the bus is so often late, then maybe people will be so fed up with it that they'll start using different mode of transportation which might have a bigger overall TCS (say, if someone uses his car he'll contribute to traffic and he might use a parking spot where they are scarce).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/666073872045423815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/666073872045423815'/><link rel='alternate' type='text/html' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html?showComment=1193108700000#c666073872045423815' title=''/><author><name>Simon F.</name><uri>http://www.blogger.com/profile/01710187988499098321</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09348622560193347166'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html' ref='tag:blogger.com,1999:blog-8358823616508684659.post-6511517943220193424' source='http://www.blogger.com/feeds/8358823616508684659/posts/default/6511517943220193424' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8358823616508684659.post-1724276391012387861</id><published>2007-10-22T19:06:00.000-07:00</published><updated>2007-10-22T19:06:00.000-07:00</updated><title type='text'>That looks interesting. However, I do think your m...</title><content type='html'>That looks interesting. However, I do think your model neglects some important things. First, waiting &lt;I&gt;w&lt;/I&gt; for the runner causes not only the people in the bus to lose time, but also all other eventual passengers on the bus ride. Indeed, after waiting for the runner, the bus will be &lt;I&gt;w&lt;/I&gt; seconds late. &lt;BR/&gt;&lt;BR/&gt;Suppose we number the bus stops along the ride by 1, 2, ..., &lt;I&gt;N&lt;/I&gt;. We set &lt;I&gt;X_i&lt;/I&gt; to be the number of passengers in the bus between stop &lt;I&gt;i&lt;/I&gt;-1 and stop &lt;I&gt;i&lt;/I&gt;. Let &lt;I&gt;Y_i&lt;/I&gt; be the number of people waiting for the bus at stop &lt;I&gt;i&lt;/I&gt;. Then, if the runner is at stop &lt;I&gt;k&lt;/I&gt; we have the following TCS if we wait for the runner:&lt;BR/&gt;&lt;BR/&gt;TCS = &lt;I&gt;w&lt;/I&gt; * (sum{&lt;I&gt;Y_i&lt;/I&gt;, &lt;I&gt;i&lt;/I&gt; &gt; &lt;I&gt;k&lt;/I&gt;} + &lt;I&gt;X_k&lt;/I&gt;)&lt;BR/&gt;&lt;BR/&gt;Then, for it to be valuable to wait, we need:&lt;BR/&gt;&lt;BR/&gt;&lt;I&gt;t&lt;/I&gt; &gt; &lt;I&gt;w&lt;/I&gt; * (sum{&lt;I&gt;Y_i&lt;/I&gt;, &lt;I&gt;i&lt;/I&gt; &gt; &lt;I&gt;k&lt;/I&gt;} + &lt;I&gt;X_k&lt;/I&gt;)&lt;BR/&gt;&lt;BR/&gt;Second, it would be very unfair to wait for the runner at stop &lt;I&gt;k&lt;/I&gt; but not for other runners. Thus, if we want to be fair, we need either to wait for all runners along the ride or for none of them.&lt;BR/&gt;&lt;BR/&gt;Let &lt;I&gt;w_i&lt;/I&gt; be the time to wait for the runner at stop &lt;I&gt;i&lt;/I&gt;. This time can be zero if no runner is present at stop &lt;I&gt;i&lt;/I&gt;. Then, if we do not wait for them, the TCS is:&lt;BR/&gt;&lt;BR/&gt;TCS = (&lt;I&gt;N&lt;/I&gt; - 1) * &lt;I&gt;t&lt;/I&gt;&lt;BR/&gt;&lt;BR/&gt;If we do wait, we get:&lt;BR/&gt;&lt;BR/&gt;TCS = sum{&lt;I&gt;w_k&lt;/I&gt; * (sum{&lt;I&gt;Y_i&lt;/I&gt;, &lt;I&gt;i&lt;/I&gt; &gt; &lt;I&gt;k&lt;/I&gt;} + &lt;I&gt;X_k&lt;/I&gt;), &lt;I&gt;k&lt;/I&gt; = 1, 2, ..., &lt;I&gt;N&lt;/I&gt; - 1}&lt;BR/&gt;&lt;BR/&gt;Now, it is unreasonable to suppose we already know all &lt;I&gt;X_i&lt;/I&gt; and &lt;I&gt;Y_i&lt;/I&gt;. We should treat them as random variables with a given distribution (which can be found by sampling the commuters). Then we can make the calculation with the expectation of the TCS for waiting.&lt;BR/&gt;&lt;BR/&gt;As you see, I really like your TCS idea! Sounds like a lot of fun!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/1724276391012387861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/1724276391012387861'/><link rel='alternate' type='text/html' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html?showComment=1193105160000#c1724276391012387861' title=''/><author><name>L.S.C.</name><uri>http://www.blogger.com/profile/12093160365864375949</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html' ref='tag:blogger.com,1999:blog-8358823616508684659.post-6511517943220193424' source='http://www.blogger.com/feeds/8358823616508684659/posts/default/6511517943220193424' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-8358823616508684659.post-8262695536388866099</id><published>2007-10-21T16:19:00.000-07:00</published><updated>2007-10-21T16:19:00.000-07:00</updated><title type='text'>Bien vu (si seulement le temps des autres n'était ...</title><content type='html'>Bien vu (si seulement le temps des autres n'était pas toujours plus important que le nôtre).&lt;BR/&gt;&lt;BR/&gt;Ton concept me fait penser à celui de personnes-temps en épidémiologie :&lt;BR/&gt;le risque d'une population = le nombre de personnes à risque x la période de temps à risque (vive les cours de toxico).&lt;BR/&gt;&lt;BR/&gt;Ceci dit, les bus les plus ponctuels que j'aie vus jusqu'à maintenant sont à Paris.&lt;BR/&gt;&lt;BR/&gt;À bientôt,&lt;BR/&gt;&lt;BR/&gt;Ta cousine</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/8262695536388866099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8358823616508684659/6511517943220193424/comments/default/8262695536388866099'/><link rel='alternate' type='text/html' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html?showComment=1193008740000#c8262695536388866099' title=''/><author><name>Élise</name><uri>http://www.blogger.com/profile/00317400487432845450</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonfl.com/2007/10/why-is-bus-so-often-late.html' ref='tag:blogger.com,1999:blog-8358823616508684659.post-6511517943220193424' source='http://www.blogger.com/feeds/8358823616508684659/posts/default/6511517943220193424' type='text/html'/></entry></feed>