Economics with heterogeneous interacting agents : a practical guide to agent-based modeling (2016)