IN THIS PART . . .
Use greedy programming techniques to obtain results
faster.
Perform dynamic programming to perform tasks
using a smart approach.
Randomize your results to solve problems where a
straightforward approach doesn’t work well.
Search locally to final solutions that are good enough
in a short time.
Use linear programming techniques to perform
scheduling and planning tasks.
Employ heuristics and interact with robots.