MATSim or ActivitySim are used for that sort of thing. Most modellers don't bother to simulate every individual person though. Instead they use a sample which they scale up because it isn't worth the order of magnitude more computing time when just simulating a representative 10% does fine.