Lift+Constrained+Drag+Minimization

A common design objective for an aerodynamic shape optimization problem is to minimize drag while maintaining a specified lift requirement. There are 2 ways of achieving this:
 * 1) Define the lift requirement as a constraint, i.e. Cl(X) = Cl*. Define an objective function the drag coefficient, i.e. min J(X) = Cd. Evaluation of the objective, Cd, and the constraint, Cl is achieved with a single flow solution. However, 2 adjoint problems must be solved to evaluate the objective and constraint gradients, dJ/dX and dCl/dX respectively.
 * 2) Use the technique implemented by Billing in OPTIMA2D whereby a specified value of Cl* is satisfied at each design iteration by modifying the angle of attack during the flow solution until Cl* is achieved. The objective function is the same as in the first approach, i.e. min J(X) = Cd, but a separate constraint for Cl is not required. For further details on this approach, see [|Billing's Thesis].