Optimization Algorithm
The optimization algorithm is based on convex programming as outlined in the flow chart below.