Extremum-Seeking Control and Applications