Reformulation and convex relaxation techniques for global optimization
Many engineering optimization problems can be formulated as nonconvex nonlinear programming problems (NLPs) involving a nonlinear objective function subject to nonlinear constraints. Such problems may exhibit more than one locally optimal point. However, one is often solely or primarily interested in determining the globally optimal point. This thesis is concerned with techniques for establishing such global optima using spatial Branch-and-Bound (sBB) algorithms. A key issue in optimization is
... hat of mathematical formulation, as there may be several different ways in which the same engineering problem can be expressed mathematically. This is particularly important in the case of global optimization as the solution of different mathematically equivalent formulations may pose very different computational requirements. Based on the concept of reduction constraints, the thesis presents a set of graph-theoretical algorithms which automatically reformulate large sparse nonconvex NLPs involving linear constraints and bilinear terms. It is shown that the resulting exact reformulations involve fewer bilinear terms and have tighter convex relaxations than the original NLPs. Numerical results illustrating the beneficial effects of applying such automatic reformulations to the well-known pooling and blending problem are presented. All sBB algorithms rely on the construction of a convex relaxation of the original NLP problem. Relatively tight convex relaxations are known for many categories of algebraic expressions. One notable exception is that of monomials of odd degree, i.e. expressions of the form , when the range of the variable includes zero. These occur often (e.g. as cubic or quintic expressions) in practical applications. The thesis presents a novel method for constructing the convex envelope of such monomials, as well as a tight linear relaxation of this envelope. Finally, the thesis discusses some of the software engineering issues involved in the design and implementation of codes for sBB, especially in view of the large amounts of both symbolic and numerical information required by these codes. A prototype object-oriented software library, , is described.