In an optimization problem, we wish to pick a best solution from a set of feasible solutions, those that satisfy all the problem constraints.
In this tutorial, we will discuss various classes of optimization problems based on the structure of the objective function and feasible
region. There is generally a trade off between how well an optimization formulation models a real problem, and how easy it is to
solve. We will illustrate issues with optimization modeling, computation, and exploration of the solution space using examples such as a protein-protein docking problem and a sensor placement problem. Examples from outside chemical/biological applications require no a