Apparently the rabbit hole is deeper than I thought. Or I'm still digging.
Each run takes 5 minutes. Per simulated person. I have 2000.
I've got to "sample" my sample of sims to get enough to start setting parameters for various probability functions, that I need to calibrate before running the varying set of optimizations (6 in total) so once I'm comfortable with the code, I'm looking at 7 runs total. Which wouldn't be cool to lose the computer for a few weeks.
So I suspect I can shave a minute or two per sim, but at 2000*7 runs, that's still a lot of processing time. So I'm facing up to the fact I have to look at migrating to a database server, something that'll have to be built. ASAP.