An automatic planning and scheduling system for the Mars Express uplink scheduling problem