Gradient-based approximate design optimization