Design optimization of fiber-reinforced laminates for maximum fatigue life