Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Reducing individual GenOpt simulation run times

asked 2017-03-02 19:05:49 -0500

jperick1's avatar

updated 2017-03-12 17:31:42 -0500

I have a question regarding how to decrease individual GenOpt (v3.1.0) (with EnergyPlus v8.6) run times.

An individual E+ pilot study model I am experimenting with can run directly from E+ in <20 seconds. In contrast, the same model while running using the GPSPSOCCHJ algorithm with GenOpt, individual run times tend to vary between 2.5 and 3 minutes.

The E+ idf file has been cleaned of all unused information (e.g. materials, constructions, schedules etc.) and is is 485KB in size. The base run time is between 11 and 16 seconds. The .idf is of a simple three zone test model with separate HVAC systems for each zone and three AirflowNetwork:MultiZone objects.

GenOpt's command file "UnitsOfExecution" setting has been tested with values = 2, 4, 6, 8, and 10 with no notable difference between individual simulation completion times.

It is reasonable to expect slightly longer run times due to GenOpt's read/write process and run the optimization maths, but 2+ minutes per simulation is quite a bit more than I would expect. Are there settings that can be modified in GenOpt to reduce this significant run time? Or could this be an odd E+ issue?

The simulations are running on a i7-5960X CPU (8-core, 16 threads, 3.4GHz ) equipped PC with Windows 7.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-03-02 23:16:05 -0500

The UnitsOfExecution affects how many simulation can be run in parallel, but it will not affect the parallelization of an individual simulation.

How big is your E+ input file? File I/O has been optimized in GenOpt 3.0.2, and it should not take much time. You could verify whether it is an E+ or a GenOpt problem by adding your idf file into /example/quad/Parametric/optLinux.ini (or another operating system) under Simulation -> Files -> Template -> File2 and also Simulation -> Files -> Input -> File2 and measure whether it affects CPU time. GenOpt will then try to do a text replace in your idf file, which should have the same runtime impact as you would get with another simulation such as E+.

edit flag offensive delete link more


Thank you for your thoughts Dr. Wetter. Using the parametric method described, all but 2 of the variables were removed, and each limited to 6 values. With UnitsOfExecution=8, 36 runs finished in 5.38 minutes (~75 sec/sim), while the same file with UnitsOfExecution=16 finished in 3.08 minutes (~83.5 sec/sim) (runtimes determined from GenOpt.log files).

These scenarios finish in under half the time simulations take running through an GPSPSOCCHJ algorithm iteration but still much longer than a normal E+ run. Would reducing the number of output variables help speed along the algorithm?

jperick1's avatar jperick1  ( 2017-03-12 17:38:52 -0500 )edit

If you have very large output files, then reducing their size may help as GenOpt will read and parse these files to find the cost-function value.

Michael Wetter's avatar Michael Wetter  ( 2017-03-13 17:41:18 -0500 )edit

If the concept and significance behind the parameters are understood, then sometimes its possible to identify some parameters together. Then when proceeding to identify the next set of parameters its possible to set more accurate limits based on the previous simulation results and it avoids the effect of parameters being mixed up. This way you get comparitively faster and better results.Makes sense?

ezeraj's avatar ezeraj  ( 2017-07-11 05:59:41 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Question Tools



Asked: 2017-03-02 19:05:49 -0500

Seen: 363 times

Last updated: Mar 12 '17