Representing the essential aspects of concrete problems as (usually, but not always, mathematical) objects and using those objects to improve decision-making; making decisions here and now which take into account: uncertainty about the future; and future opportunities to review policies; developing algorithms that combine the right amount of mathematical theory and brute force to take advantage of modern computing architectures