Urban simulation research originated between the 1980s and 1990s. Today urban simulation has become a new paradigm of urban research, which is an important outcome of computational thinking in urban research. Urban simulation methods are usually based on cellular automata (CA) and machine learning. A series of urban CA models have been developed to simulate complex urban evolution processes and associated multi-scenario analysis. This paper reviews the origin and progress of urban simulation research. With the discussion of urban CA's general structure, we explains the necessity and feasibility of machine learning methods to support urban simulation. Furthermore, we reviews the integration of machine learning and CA in urban research, and also discusses its new trends and emerging challenges.