Over the last several decades, the trend in material choice for aerospace structures has shifted increasingly in favor of composite materials such as graphite fiber impregnated with epoxy resin. With the price of jet fuel more than doubling just in the last ten years, the trend towards composite materials is accelerating. Traditional composite structures are fabricated by stacking layers of woven fibers that are oriented in the same direction. Human operators perform the work. However, there now exist machines that can be programmed to place composite fibers in continuous paths that can vary in orientation. The present work investigates a method for determining the optimal ply angle distributions for such laminates which are also known as variable stiffness laminates. Past research in variable stiffness laminates has focused on the use of predefined fiber paths that can be mapped spatially by algebraic equations. However, it was found that these fiber paths only produce optimal designs for a limited range of load cases, boundary conditions and geometry. In this thesis, a two-level optimization method with a post optimization repair algorithm is presented. In the first level optimization, optimal lamination parameter distributions are obtained through compliance minimization using a gradient-based optimizer. Second, Genetic Algorithm (GA) based optimization is used to perform unconstrained norm minimization which returns an element-wise distribution of ply angles in each layer. In this second level optimization many of the elements do not completely converge resulting in discontinuities of fiber angles between elements. A repair algorithm that works by using the average ply angles of surrounding elements is implemented to remedy the problem, and is demonstrated to produce smooth continuous fiber paths. We find that in most cases the post repair compliance to be lower than that of the post-Genetic Algorithm compliance which will in turn yield a higher stiffness per unit mass plate.