mathematical optimization lecture notes