Day 5

reproduce
Author

Amy Heather

Published

September 27, 2024

Note

Running one scenario (of nine from experiment 1) with 100 generations 50 populations 3 runs, which took 5 and a half hours, but results do not match. Total time used: 6h 50m (17.1%)

09.51-09.57, 10.52-10.55, 11.00-11.06: Resuming attempt to run on remote machine

As left off yesterday, getting error:

...
13, in <module>
    import ExperimentRunner
  File "ExperimentRunner.py", line 15, in <module>
    import SimulatorRunner
  File "SimulatorRunner.py", line 11, in <module>
    import PODSimulation
  File "PODSimulation.py", line 13, in <module>
    import SimPy.SimPlot as simplot
  File "/home/amyremote/miniconda3/envs/hernandez2015/lib/python2.7/site-packages/SimPy/SimPlot.py", line 68, in <module>
    class SimPlot(object):
  File "/home/amyremote/miniconda3/envs/hernandez2015/lib/python2.7/site-packages/SimPy/SimPlot.py", line 69, in SimPlot
    def __init__(self, root = Tk()):
  File "/home/amyremote/miniconda3/envs/hernandez2015/lib/python2.7/lib-tk/Tkinter.py", line 1815, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

This is related to import of simpy.simplot, but as simplot isn’t used anywhere, I tried commenting out this import in PODSimulation.py. This resolved the error!

The original was population 100 and 50 generations. I anticipate this will be very long, so working up to it…

10 population, 1 generation: just a few minutes

fig5 10 pop 1 gen fig6 10 pop 1 gen

100 population, 1 generation: 37 minutes

fig5 100 pop 1 gen fig6 100 pop 1 gen

But seems will be important to try and run with the full version - particularly as Figure 9 is an experiment of that impact of that.

Also realised that default in script was runs=1 but paper mentions they “perform three simulation runs to obtain reliable estimates”.

16.40-16.49: Results from pre-screen 10 with full set-up

With 100 population, 50 generation and 3 runs, I only had time to run one scenario on the remote machine. It took 327 minutes, or 5.45 hours.

Results alongside/combined with 1 gen results:

Results from 50 gen alone:

Unfortunately though, the results from the run with popuation 100 50 generation 3 run for pre-screen 10 do not look the same as those in the paper - with fewer points, and very different X and Y axises. I’m presuming it would be worth double-checking parameters for the model are correct.

Timings

import sys
sys.path.append('../')
from timings import calculate_times

# Minutes used prior to today
used_to_date = 386

# Times from today
times = [
    ('09.51', '09.57'),
    ('10.52', '10.55'),
    ('11.00', '11.06'),
    ('16.40', '16.49')]

calculate_times(used_to_date, times)
Time spent today: 24m, or 0h 24m
Total used to date: 410m, or 6h 50m
Time remaining: 1990m, or 33h 10m
Used 17.1% of 40 hours max