Continuing to stress test the simulation a little. Running with 45,000 households connected to 3 electricity supplier aggregator agents, with a further 50 or so macro level aggregators representing big generators is presenting no problem. The households are running their physical heating model every tick and deciding on when to place heating demand every day (48 timesteps), whilst supply aggregators are doing an optimisation every day. Speed is somewhat reduced, but not terribly so, the process is still taking only 20% CPU and fairly quick – executing a simulated year in some 20 minutes or so. At this rate, 20 years should take around 400 minutes, or just over 6 hours. A small concern is the memory usage – 2GB+ Leaving it running to see if / when it crashes out. On that note – time to go to lunch … 🙂
UPDATE: Return from lunch – 1 hour 15 minutes sees the simulation well into year 5 without running out of memory, although the process is now reporting some 4GB memory accrued. Have to investigate what is growing…
UPDATE 2: Simulation easily reached 20 years – in around 4 and three quarter hours. Memory use has stabilised – suspect that Java just uses all it is allowed before running the Garbage Collector aggressively.
UPDATE 3: Made it to 40 years in 9 hours 20. I think the current configuration will basically run almost for ever, with linear performance in simulated time against wall clock time. Called it a day!