[{"data":1,"prerenderedAt":261},["ShallowReactive",2],{"project-14667344":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":42,"post_text":45,"what":46,"said":104,"maker_in_thread":166,"shape":173,"grid":177,"attempts":223,"same_week":224,"maker_shows":32,"maker_hidden":253,"reader_version":254,"card":255},"14667344","SOTA-Py","My Python Solver for the On-Time Arrival Problem in Traffic Congestion","title","Show HN: My Python Solver for the On-Time Arrival Problem in Traffic Congestion","https:\u002F\u002Fgithub.com\u002Fmehrdadn\u002FSOTA-Py\u002Ftree\u002Fmaster","github.com","mehrdadn",1498775029,2017,121,22,350,2242,16,"notable","dev_tools","routing research solver","library",[24,25,26,27,28],"on-time arrival","stochastic routing","traffic congestion","pathfinding","python solver","curious",0.118,{"positive":32,"neutral":33,"mixed":34,"critical":35},2,6,0,1,9,{"idea":38,"pricing":39,"performance":40,"docs":41},{"positive":32,"critical":34},{"positive":34,"critical":35},{"positive":34,"critical":34},{"positive":34,"critical":34},[43,34,44,34,34,34,34,34,34,43,34,35,34,44,34,44,34,34,34,44,44,44],5,3,null,{"problem":47,"audience":57,"pricing":64,"motivation":71,"time_to_build":45,"stack":76,"openness":101,"stage":102,"team_size":103},{"value":48,"source":49,"evidence":50},"Finding routes that maximize probability of arriving on time under stochastic traffic","inferred",[51,54],{"id":52,"by":11,"text":53},"14668656","Thank you! I don't believe any apps utilize these algorithms, and for good reason. The main problem is that SOTA is a very computationally intensive problem. On the example…",{"id":55,"by":11,"text":56},"14669992","Glad to hear from someone who's worked on routing! Yes, it's quite possible that CH can be adapted to this -- I haven't had a chance to attempt it -- although it's not obvious to…",{"value":58,"source":59,"evidence":60},"Routing researchers","maker",[61],{"id":62,"by":11,"text":63},"14678608","> Is the main RAM usage from the graph or is the algorithm RAM intense? The graph itself is negligible, unless you want to store lots of auxiliary data (street addresses and…",{"value":65,"source":59,"evidence":66},"Non-commercial license; commercial license available on request",[67,70],{"id":68,"by":11,"text":69},"14673595","I didn't specifically measure memory usage, however it's on the order of a few hundred megabytes per query (600 MB on the particular example I'm looking at). Regarding the…",{"id":62,"by":11,"text":63},{"value":72,"source":49,"evidence":73},"Research implementation of the on-time arrival algorithm from a paper",[74,75],{"id":55,"by":11,"text":56},{"id":62,"by":11,"text":63},[77,85,89,93,97],{"value":78,"source":79,"evidence":80},"Python","commenter",[81],{"id":82,"by":83,"text":84},"14670391","Xophmeister","``` ### Dependencies - NumPy is the only hard external dependency. - Numba, if available, is used for compiling Python to native code (≈ 3× speedup). - PyGLET, if available, is…",{"value":86,"source":79,"evidence":87},"NumPy",[88],{"id":82,"by":83,"text":84},{"value":90,"source":79,"evidence":91},"Numba",[92],{"id":82,"by":83,"text":84},{"value":94,"source":79,"evidence":95},"SciPy",[96],{"id":82,"by":83,"text":84},{"value":98,"source":79,"evidence":99},"PyGLET",[100],{"id":82,"by":83,"text":84},"open_source","prototype","unknown",{"praise":105,"objections":117,"requests":127,"questions":135,"alternatives":152},[106],{"value":107,"source":79,"evidence":108},"Demo looks cool and the work is interesting for routing research",[109,113],{"id":110,"by":111,"text":112},"14668559","jamesrom","The demo looks really cool. Do any of the major navigation apps utilize these algorithms?",{"id":114,"by":115,"text":116},"14669402","n4r9","I'm very interested in this. Thanks for sharing. Having coded up a semisolid implementation of time-dependent contraction hierarchies (which might not even get used, because of…",[118,123],{"value":119,"source":59,"evidence":120},"Computationally too heavy for real navigation apps (tens of seconds per query)",[121,122],{"id":52,"by":11,"text":53},{"id":62,"by":11,"text":63},{"value":124,"source":59,"evidence":125},"Code is poorly written and not meant for production use",[126],{"id":62,"by":11,"text":63},[128],{"value":129,"source":79,"evidence":130},"Add Numba support to speed up computation",[131],{"id":132,"by":133,"text":134},"14670065","sandGorgon","Can you look into adding numba support to accelerate the computation?",[136,140,147],{"value":137,"source":79,"evidence":138},"Whether major navigation apps use these algorithms",[139],{"id":110,"by":111,"text":112},{"value":141,"source":79,"evidence":142},"Why the license is non-commercial",[143],{"id":144,"by":145,"text":146},"14671308","karussell","Thanks for this! Did you measure memory usage for e.g. San Francisco or Berlin? Why did you consider this non-commercial license? Especially since you say 'I don't plan on…",{"value":148,"source":79,"evidence":149},"Memory usage on large cities",[150,151],{"id":144,"by":145,"text":146},{"id":62,"by":11,"text":63},[153,160],{"value":154,"source":79,"evidence":155},"Contraction hierarchies and time-dependent Dijkstra\u002FA*",[156,157],{"id":114,"by":115,"text":116},{"id":158,"by":115,"text":159},"14670265","Thanks for the answers. I see what you're saying about the Markov properties - certainly something to think about. > I haven't had a chance to attempt it -- although it's not…",{"value":161,"source":79,"evidence":162},"GraphHopper routing engine",[163],{"id":164,"by":145,"text":165},"14676110","Interesting, we (GraphHopper) tested CH+ALT and saw also no improvements, also for CH with normal A*, although it is reported in papers that it should be faster. The idea about…",{"comments":33,"answered":43,"key":167},[168,169,172],{"id":55,"text":56},{"id":170,"text":171},"14670418","Interesting! Yeah, I'm not terribly familiar with CH. Generally speaking, the trouble with the stochastic setting (perhaps you're already aware of this) is that it doesn't…",{"id":52,"text":53},{"commenters":174,"max_depth":174,"maker_replies":33,"first_comment_mins":175,"lifespan_hours":176},8,299,45,[178,180,182,184,187,189,190,192,194,195,196,198,200,202,204,205,209,212,215,218,220,221],[114,34,43,179,115,34],"project\u002Fpositive\u002Fidea",[55,34,34,181,11,35],"maker\u002Fneutral\u002Fperformance",[158,34,44,183,115,34],"project\u002Fneutral\u002Fidea",[185,34,34,186,145,34],"14670370","commenter\u002Fneutral\u002Fperformance",[188,34,34,186,115,34],"14671938",[164,34,34,186,145,34],[191,34,34,186,115,34],"14676461",[193,34,34,186,145,34],"14676615",[170,34,34,183,11,35],[110,35,43,179,111,34],[52,35,34,197,11,35],"project\u002Fneutral\u002Fperformance",[144,32,35,199,145,34],"project\u002Fcritical\u002Fpricing",[68,32,34,201,11,35],"maker\u002Fneutral\u002Fpricing",[203,32,44,181,145,34],"14676119",[62,32,34,197,11,35],[206,44,44,207,208,34],"14668438","project\u002Fneutral\u002Fdocs","kevmo",[210,44,34,211,11,35],"14668457","maker\u002Fneutral\u002Fdocs",[213,44,34,214,208,34],"14668692","other\u002Fneutral\u002Fnone",[216,44,34,214,217,34],"14669567","foota",[132,219,44,197,133,34],4,[82,219,44,197,83,34],[222,219,44,181,133,34],"14672007",[],[225,230,235,239,243,248],{"id":226,"name":227,"points":228,"category":229},"14703098","A virtual machine made with Google Sheets formulas (no script)",620,"languages",{"id":231,"name":232,"points":233,"category":234},"14691407","Under the hood ReactJS",266,"learning_science",{"id":236,"name":237,"points":238,"category":20},"14662860","VisiData",221,{"id":240,"name":241,"points":242,"category":20},"14688031","Vecta.io",154,{"id":244,"name":245,"points":246,"category":247},"14690517","Artpip",142,"creative",{"id":249,"name":250,"points":251,"category":252},"14694210","login-with",127,"infrastructure",false,"v2",{"id":256,"name":5,"line":6,"ai":253,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":257,"top":18,"kw":258,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":259,"url":9,"mix":260,"praise":107,"objection":119,"sub":21},14667344,0.12,[24,25,26,27,28],"5030000005010303000333",[32,33,34,35],1794036556840]