Wrote introduction, problem formulation and algorithm design