Hybridizing an evolutionary algorithm with mathematical programming techniques for multi-objective optimization