What I did today
After some experimentation and measurement, I proved an obvious fact today: the naive approach of just exploring all possible daily schedules grows out of hand in complexity, astronomically quickly.
For example: even in a tiny city that just consists of 4 places (shops or homes) with corresponding activities from my rural-village scenario, and connecting roads, I got over 80.000 daily schedules that would have to be evaluated to come up with a feasible lifestyle for a single person.
When I tried to do the same for a city with 9 places, it just ate my RAM. Such are the impossibilities that a guerilla-city-sim programmer has to face...
Does that mean that I'm just doing pointless excercises? No - trying stuff like this and seeing the grandiose scale of the problem I'm facing in front of my eyes helps tremendously - both in a philosophical, as well as a very practical sense. I can actually see how much work I force the computer to do, where, and why - and this fuels my intuition to come up with a better approach.
My next step will be to implement my first try at something smarter (based on simulated annealing, as was planned), informed by what I learned today.