This document discusses automated software engineering and the use of models in software engineering. It notes that models are now central tools in scientific research across many fields for simulating complex systems. Examples of areas where models are used include physics, biology, emergency response systems, border security, and analyzing stock market crashes. The document then discusses how optimization techniques like genetic algorithms and tabu search are used in automated software engineering to help find near-optimal or good-enough solutions for challenging problems due to computational complexity. Examples where optimization has been applied in software engineering include requirements engineering, program repair, and software product lines.