Several additive manufacturing processes are capable of fabricating three-dimensional parts with complex distribution of material composition to achieve desired local properties and functions. This unique advantage could be exploited by developing and implementing methodologies capable of optimizing the distribution of material composition for one-, two-, and three-dimensional parts. This paper is the first effort to review the research works on developing these methods. The underlying components (i.e., building blocks) in all of these methods include the homogenization approach, material representation technique, finite element analysis approach, and the choice of optimization algorithm. The overall performance of each method mainly depends on these components and how they work together. For instance, if a simple one-dimensional analytical equation is used to represent the material composition distribution, the finite element analysis and optimization would be straightforward, but it does not have the versatility of a method which uses an advanced representation technique. In this paper, evolution of these methods is followed; noteworthy homogenization approaches, representation techniques, finite element analysis approaches, and optimization algorithms used/developed in these studies are described; and most powerful design methods are identified, explained, and compared against each other. Also, manufacturing techniques, capable of producing functionally graded materials with complex material distribution, are reviewed; and future research directions are discussed.