CHAPTER 4 Agglomeration Theory with Heterogeneous Agents