algorithms for optimization mykel j kochenderfer tim a wheeler