We focus on two central themes in this dissertation. The first one is on
decomposing polytopes and polynomials in ways that allow us to perform nonlinear
optimization. We start off by explaining important results on decomposing a polytope into
special polyhedra. We use these decompositions and develop methods for computing a special
class of integrals exactly. Namely, we are interested in computing the exact value of
integrals of polynomial functions over convex polyhedra. We present prior work and new
extensions of the integration algorithms. Every integration method we present requires that
the polynomial has a special form. We explore two special polynomial decomposition
algorithms that are useful for integrating polynomial functions. Both polynomial
decompositions have strengths and weaknesses, and we experiment with how to practically use
them. After developing practical algorithms and efficient software tools for integrating a
polynomial over a polytope, we focus on the problem of maximizing a polynomial function
over the continuous domain of a polytope. This maximization problem is NP-hard, but we
develop approximation methods that run in polynomial time when the dimension is fixed.
Moreover, our algorithm for approximating the maximum of a polynomial over a polytope is
related to integrating the polynomial over the polytope. We show how the integration
methods can be used for optimization. The second central topic in this dissertation is on
problems in data science. We first consider a heuristic for mixed-integer linear
optimization. We show how many practical mixed-integer linear have a special substructure
containing set partition constraints. We then describe a nice data structure for finding
feasible zero-one integer solutions to systems of set partition constraints. Finally, we
end with an applied project using data science methods in medical research.