A nonlinear programming formulation is developed for minimizing the area required to position a set of pre-defined objects without overlap. The objects consist of polygons with an arbitrary number of edges. Nonconvex polygons are assumed which allows for the modelling of complex parts, including parte with holes. A quadtree representation is formed for each polygon and intersections are determined by traversing quadtrees for the potentially intersecting objects. The design variables are selected to be the x and y location and the rotation for each polygon that is to be positioned. An exterior penalty function method is used to generate the solution to the resulting nonlinear programming problem. A nongradient search technique is used due to the discrete nature of the overlap constraints. Example problems are presented and extensions to other classes of problems are discussed.