Useful Links and Information

Forensic Beds Estimation Calculator

In collaboration with Dr. Hassmiller-Lich at UNC Chapel Hill and the Treatment Advocacy Center in Virginia, I developed an excel-based tool to describe how changing the number of forensic beds available for mentally ill inmates could reduce pretrial bed waits and the mass incarceration of individuals with serious mental illness. Dr. Lich explains this further on YouTube. The tool is available for download here.

From the Treatment Advocacy Center's website

The American Enterprise Institute (AEI) showcased the findings in a two-hour program, available for viewing on the AEI website. The American Psychiatric Association chose the model as one of seven finalists from a field of 35 candidates to compete in a “Shark Tank”-style event at the organization’s annual meeting in May. The competition was won by an app that monitors sleep, but the event brought still more attention to the practical and innovative approach to reducing a seemingly intractable problem.

The full repot can be downloaded from the Treatment Advocacy Center’s website here.

Python

Python is arguably one of the best tools out there for programming. Its clean syntax and expansive library makes it a joy for us pseudo-programmers (what I call  Operations Research students).

If you’re an absolute beginner to python, I recommend Codeacademy.

Here’s a beginner’s tutorial to installing Python on your machine.

Once you’ve installed python and have got the hang of basic syntaxes, I’d recommend that you understand how packages work. If you’re attempting to write a piece of code to perform a complicated function, chances are that there exists an in-built function within an existing Python package that does this for you. To this end, familiarize yourself with pip. Here’s a neat introduction to pip. Once you have pip, installing any package becomes an extremely simple task and you’ll be well on your way towards programming glory.

Julia

If you work in a science-y circle, chances are that you’ve heard about Julia. If you haven’t, well now is as good a time as any to learn about it.

In the words of the creators of Julia

We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.

Given all of this awesomeness, imagine taking it one step further from an Operations Research point of view. JuMP (“Julia for Mathematical Programming”) is a project by Miles Lubin and Ian Dunning at MIT to create a common tool for formulating optimization problems. JuMP is still in developmental stages, but is already bringing a refreshing change in the way Optimization Code is written –  with a single formulation, a problem can be tested on a variety of different solving tools. While JuMP is not the first optimization tool to support multiple solvers, it is definitely one of the most actively maintained and easiest to use.

Here’s an introductory document to Julia that I wrote (in collaboration with a classmate as a part of a class project): Intro to Julia

Here’s the first chapter from a book written by one of my professors back when I was at the University at Buffalo: Julia – Chapter 1

Once you’ve got that done, go right ahead and get started with JuMP!

Gurobi

I come across people talking about CPLEX so often. I almost always make it a point to stop and tell them about Gurobi’s existence. Gurobi was developed by people who worked at creating CPLEX and as a result, performs as well, if not better, as CPLEX. Gurobi is free for academic-use and works extremely well with Python, Java and Julia. Gurobi also has arguably cleaner syntax, especially when it comes to building constraints that makes our life easier.

Take a moment, download and install Gurobi: Link