Optimization Theory Notes