Optimization involves obtaining the best result under given circumstances. Structural optimization aims to design structural assemblies to sustain loads in the optimal way. There are three main types of structural optimization problems based on the geometric feature: sizing optimization which determines optimal member sizes; shape optimization which finds the optimal shape within a given domain; and topology optimization which finds the optimal connectivity and boundaries of a structure. Any optimization problem consists of design variables, an objective function to minimize or maximize, and constraints that must be satisfied for a feasible solution. Structural optimization examples include minimum weight design of frames and trusses subject to stress and stability constraints.