This monograph develops an algorithmic theory of nonlinear discrete optimization. It introduces a simple and useful setup which enables the polynomial time solution of broad fundamental classes of nonlinear combinatorial optimization and integer programming problems in variable dimension. An important part of this theory is enhanced by recent developments in the algebra of Graver bases. The power of the theory is demonstrated by deriving the first polynomial time algorithms in a variety of application areas within operations research and statistics, including vector partitioning, matroid optimization, experimental design, multicommodity flows, multiindex transportation and privacy in statistical databases. The monograph is based on twelve lectures which I gave within the Nachdiplom Lectures series at ETH Zürich in Spring 2009, broadly extending and updating five lectures on convex discrete optimization which I gave within the Séminaire de Mathématiques Supérieures series at Université de Montréal in June 2006. I thank the support of the Israel Science Foundation and the support and hospitality of ETH Zürich, Université de Montréal, and Mathematisches Forschungsinstitut Oberwolfach, where parts of the research underlying the monograph took place. I am indebted to Jesus De Loera, Raymond Hemmecke, Jon Lee, Uriel G. Rothblum and Robert Weismantel for their collaboration in developing the theory described herein. I am also indebted to Komei Fukuda for his interest and very helpful suggestions, and to many other colleagues including my co-authors on articles cited herein and my audience at the Nachdiplom Lectures at ETH. Finally, I am especially grateful to my wife Ruth, our son Amos, and our daughter Naomi, for their support throughout the writing of this monograph. Haifa, May 2010 Shmuel Onn n i=1 w i x i is linear, which is the case considered in most literature on discrete optimization and is already hard and often intractable. The matrix W is given explicitly, and the computational complexity of the problem depends on the encoding of its entries (binary versus unary). Nonlinear matroid optimization. Given a matroid M = (N, B) on ground set N := {1,. .. , n}, an integer d × n matrix W , and a function f : Z d → R, solve max{f (W x) : x ∈ S} with S ⊆ {0, 1} n the set of (indicators of) bases or independent sets of M :