An optimal fuzzy PID controller