Graphical models are a well-known convenient tool to describe complex interactions between variables. A graphical model defines a function over many variables that factors over an underlying graph structure. One of the popular tasks over graphical models is that of combinatorial optimization. Although many algorithms have been developed with this task in mind, the vast majority are designed to find an optimal solution, minimum or maximum, of an objective function. In many applications, however, it is desirable to obtain not just a single optimal solution, but a set of the first m best solutions for some integer m. The main part of this dissertation focuses on this problem, which we call the m-best optimization task. We show that the m-best ...