We present an evolutionary algorithm for reconstructing a femtosecond laser pulse from its interferometric autocorrelation trace and laser spectrum. The algorithm is optimized for the intensity and phase characterization of several-cycle optical pulses. We tested this algorithm with numerically-generated femtosecond pulses and then applied it to experimental data. In the experiment, a negatively chirped 31-fs pulse and a sub-10-fs pulse containing high-order phase distortion were characterized. Frequency-resolved optical gating measurements, performed for comparison, confirm the reliability of our technique. (c) 2006 Elsevier B.V. All rights reserved.