I work with Professor Alex Bayen on optimal routing problems with applications to traffic and shared resources systems. You can learn more about my work by scrolling down and checking out my research and projects and my publications.
Make sure to check out my social-ly links above to see my github code repository and more details on my papers.
Finally, if you have any questions, hit me up at jack d reilly at berkeley dot edu.
*It is recommended to click play below while enjoying this site
I have been researching how game-theoretic concepts such as Nash equilibria and Stackelberg games can be used in conjunction with first-order PDE highway models to gain insights into how optimal rerouting policies can be generated when only a subset of drivers on the network are controllable. I have been collaborating with Walid Krichene and Saurabh Amin on this research.
Managing demand on shared resources that can be processed in parallel.
Applications to traffic systems and cloud-based architectures
Adjoint-based Freeway Control
Using the adjoint of a PDE system (discretized or continuous), one can sometimes greatly reduce the complexity of computing the gradient of an objective with respect to some control parameters. In our work, the state-space is usually of a greater complexity than the control space, which enables the effective use of the adjoint system. We seek to apply the method to a number of control problems in order to have optimal policies generated from realistic underlying physical models. This work is done as a collaboration with Walid Krichene, Samitha Samaranayake, and Maria Laura Delle Monache, and as a part of the ORESTE collaboration with INRIA in France.
Coordinating ramp metering lights to reduce congestion on freeways.
Multi-source, multi-sink optimal rerouting policies using network-based PDE models.
Developing PDE models for accurate modeling of general onramp/offramp junctions and incorporating ODE buffer models for strong boundary conditions.
Iterative, in-memory map-reduce algorithms for large-scale machine learning
Motivated by the problem of how to most effictively provide advice to a subset of drivers on a road network, my colleages and I began to study a type of congestion game called a Stackelberg game, or a leader-follower game.
In this game, the leader is considered to be the socially-optimizing central controller, who can control a fraction of the total demand on a network. The follower distributes the rest of the demand in a manner consistent with Nash equilibrium. The goal of the leader is to partition its demand optimally, anticipating the selfish behavior of the follower.
We were successful in extending this analysis to account for the particulars of freeway dynamics, where a route's travel time is not just a function of the demand, but also of some "congestion" mode.
An interactive demonstration of the Nash equilibria of such networks is given below. See 2,5,6,7 for more details. Source code.
With the growing popularity of location-aware smartphones, it is becoming more realistic to have individual-level control of drivers on a freeway network, where a central service could provide alternative routes to drivers to improve overall traffic conditions.
It is clear that such an approach would only have partial penetration of the total flow on the freeway network, and any control policy must consider the unequipped drivers to find an optimal policy. We look into solving this problem using the cell-transmission model as the underlying discrete dynamics.
Additionally, there is limited information on the behavior of the uncontrolled drivers. Only total flow across links is known (from stationary sensors), which provides "Eulerian" type information. Since controlled drivers are assumed to have provided start-end goals via smartphone, then path-based "Lagrangian" information is available for these users.
We developed a game-theoretic approach to solving this problem, and pose it as a convex optimization problem. The work enables central agencies to understand equilibrium behavior of such policies, while providing asymmetric input due to the varying levels of information from the drivers. Source code.. See 4 for more information.
Emergency responders must "see" the effects of a major earthquake clearly and rapidly so that they can effectively respond to the damage it has produced. The goal of the iShake project is to create a system that moves beyond DYFI ("Did You Feel It?") by taking advantage of the accelerometers most people have already in their cell phones, which would collect ground motion intensity parameters during the earthquake, so that an accurate portrayal of the damage effects of an earthquake can be provided to government officials and emergency responders immediately after an event.
Through iShake people will be able to make use of their own smart phones and participate in an effective and valuable process to inform emergency responders in the event of an earthquake.
I developed the iShake iPhone application and the backend server to collect the accelerometer and GPS information. I also worked on developing filtering techniques for coping with the variable environments in which the samples could be taken.
The ClearSky project aimed to create real-time pollution maps based on live traffic estimations, current weather conditions and dispersion models. Additionally, there were efforts made to have standalone sensors attached to municipal vehicles to get "ground-truth" measurements to supplement the map creation.
I contributed to the project by desigining and implement the system architecture that allowed the submodules to communicate and database design. Additionally, I set up the feed that allowed the standalone sensors to feed back to the server via UDP.
Some promising results have come out of the research into the alternating-directions method-of-multipliers (ADMM) approach to optimization. Particularly promising is its applications to distributed optimization, as the problem formulation allows one to easily parallelize the computations and distribute large datasets across many clusters.
Map-reduce style algorithms work well within this context, as it is a natural architecture for collaborative filtering problems, but since most implementations are stateless after a single map-reduce operation, the network costs of transmitting large datasets on every iteration is often prohibitive for iterative map-reduce applications, such as this.
To overcome this, we used the Spark Scala framework to allow for intermediate caching calls to reduce the network costs for large datasets.
Visit here for more information, including source code and report.
I worked on a team named TrustScore (demo site) as a part of the Creative Currency project in San Francisco that challenged technical people to come up with beneficial systems to serve the public good.
We created a graph-based trust propagation system that encouraged agents to endorse one another in order to provide non-standard metrics when considering loan applications.
A demonstration is given below of how our algorithm works and how trust propagation can lead to a more efficient loaning network.
While it will take some time to create an fully efficient referral system, the algorithms set up encourage taking loans from trustworthy endorsers. This further introduces trustworthiness into the network while reward those with successful endorsements.
Some nodes have larger loanee scores based on back-propogation algorithm that rewards successful endoresments.
The network has very few unsuccessful endoresments, yet those with poor credit scores are still being given loans from good endoresments. The network is beginning to grow much more rapidly, as there are more referral nodes.
Central nodes are growing very fast
Successful nodes are clustering around other successful nodes
Unsuccessful nodes have limited endoresement power and exist on the "fringes" of the network
Dominant endorsers are becoming obvious and should be upgraded to a "trusted" partner. The number of loans increases as well as the success rate. There is now a complete referral system that curated a successful user base!
My friend Devon Laduzinsky and I created and taught a 10 day project which exposed a group of six promising minority freshmen in high school to the discipline of engineering and automation. More accurately, we somehow got permission to smash concrete beams and make model bridges with kids, and call it volunteering. Check out the website here to see more pictures and details of the lessons taught! Source code.
Being a guitar player and mathematically-inclined guy, I have always viewed music in terms of numbers, intervals, building modules out of submodules, as opposed to the "traditional" letters-based representation that musical notation usually takes. To make the music composition process more in-line with the way I conceptualize, I created the JDR musical notation system, which enables one to specify scores in relative intervallic terms, and to define musical "riffs" of certain parts which can be composed and combined and modulated in different ways to create full instrumental parts.
I successfully implemented this language to create the classical musical notation from a JDR input file. Below check out a demo of the program and a sample JDR file.
Dan Lynch and I developed an iPhone application which suggested scenic routes for users to take by pulling in interesting and scenic factors along alternate routes. Additionally, users could submit their own scenic pieces to be included for others to see. Check out more details and videos here! iPhone application source. Server source.
1. Reilly, J., Dashti, S., Ervasti, M., Bray, J. D., Glaser, S. D., Bayen, A. M. (2012). Mobile Phones as Seismologic Sensors : Building the iShake System. IEEE Transactions on Automation Science and Engineering (under review), 1-13.
2. Krichene, W., Reilly, J. D., Amin, S., Bayen, A. M. (2012). Stackelberg Routing on Parallel Networks with Horizontal Queues (under review), 1-36, Transactions on Automatic Control.
3. Dashti, S., Bray, J. D., Reilly, J., Glaser, S., Bayen, A. (2011). iShake: Evaluating the Reliability of Mobile Phones as Seismic Monitoring Instruments (under review). Earthquake Spectra Journal.
Refereed Conference Publications
4. Reilly, J., Krichene, W., Amin, S., Bayen, A. M. (2012). Optimization-based Framework for Rerouting a Subset of Users with Mixed Lagrangian-Eulerian Demand (under review), 1-19, International Symposium on
Transportation and Traffic Theory.
5. Krichene, W., Reilly, J., Amin, S., Bayen, A. M. (2012b). On the Characterization and Computation of Nash Equilibria in Horizontal Queueing Networks. Conference on Decision and Control.
6. Krichene, W., Reilly, J., Amin, S., Bayen, A. M. (2012a). Stackelberg Routing on Horizontal Queueing Networks. Conference on Decision and Control.
7. Jebbari, Y., Krichene, W., Reilly, J. D., Bayen, A. M. (2012). Stackelberg Thresholds on Parallel Networks with Horizontal Queues (under review), American Control Conference.
8. Ervasti, M., Dashti, S., Reilly, J., Bray, J. D., Bayen, A., Glaser, S. (2011). iShake: mobile phones as seismic sensors--user study findings. Proceedings of the 10th International Conference on Mobile and Ubiquitous Multimedia, 43-52.
9. Reilly, J., Prodhomme, B., Grauzam, J. (2012). Cache-Reduce : Implementing Collaborative Filtering on a Cluster with the Spark Framework, 1-20.
10. Dashti, S., Reilly, J., Bray, J. D., Bayen, A., Glaser, S., Mari, E. (2011). iShake: Using Personal Devices to Deliver Rapid Semi-Qualitative Earthquake Shaking Information. GeoEngineering Report, Depart. of Civil and Environ. Engineering, Univ. of California, Berkeley, Feb, 28.
11. Nash Equilibria on Parallel Link Networks with Horizontal Queues, Conference on Decision and Control, Hawaii, December 13 2012
12. Rerouting with partial control in the Connected Corridors project, Robust and Stochastic Control Methods for Sustainable Engineering, Hawaii, December 14 2012
13. iShake - Using cellphones for seismic estimations, Earthquake Early Warning Summit, Berkeley, April 4 2011