I leverage my software development skill-set to create open-source software modeling frameworks that accelerate computational discovery which has been a key driving factor in my research pursuits. These implement my research frameworks, make my discoveries accessible, and make my findings reproducible. Below I list the software developed so far.


A JuMP Extension for Infinite-Dimensional Optimization

InfiniteOpt.jl is a Julia package that implements my unifying abstraction for infinite-dimensional optimization. It provides a intuitive modeling language for stochastic, dynamic, and PDE-constrained optimization problems. Morover, easily extended to implement your cutting-edge techniques. We provide extensive documentation, tutorials, and a forum to get you started.


A JuMP Extension for Flexibility Analysis

FlexibilityAnalysis.jl implements my generalized framework for computing the flexibility index of complex systems. Currently, this is limited to JuMP 0.18 and linear models. Contributions to help bring this up to date are welcome!


A JuMP Extension for Generlized Disjunctive Programming

DisjunctiveProgramming.jl provides a Julia package for tackling GDP problems. This work is led by Hector Perez and I have taken an active role in helping Hector transform this package into a world-class modeling language for GDP.


An Android app for UAV Infrastructure Monitoring

Volare implements our advanced 3D flight planner for UAV infrastructure monitoring to seemlessly interface with DJI unmanned systems. Unfortunetly, this is not currently available on Google Play.


A Python Package for Designing Computer Vision Sensors in OpenAI Gym

In collaboration with ExxonMobil, I developed compvislab to provide a virtual environment to test candidate computer vision aided process control architectures against the simulated environemnts of OpenAI Gym.


University of Waterloo
Engineering 6, Room 5008
200 University Avenue West
Waterloo, Ontario N2L 3G1