História de otimização combinatória