algorithms for optimization mykel j kochenderfer