Carlos Alcaraz progressed to his 12th semi-final appearance of the season after defeating Casper Ruud in the China Open; top-seeded Spaniard recovered from falling a break behind in the first set before he overpowered his opponent with 30 winners to advance.