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

Optimization algorithm using OpenStudio PAT or terminal

asked 2015-04-13 09:35:10 -0500

updated 2017-08-20 15:05:24 -0500

Hello everyone,

I have been learning OpenStudio for the last few days and I think I am finally understanding the whole idea. It is great! thanks for making it possible.

Anyway, I have been trying to figure out how to implement a real Optimization algorithm using OpenStudio. I mean, I know that PAT can actually run A LOT of simulations, but I am not sure I like the "randomness" of how measures are impleented (or I think they are implemented)... it seems to me that the "lets run all these models, and see what happens" approach can be enhanced.

I am thinking on something more like "lets apply these measures, run a simulation, check the results and then figure out what the next measure to try should be". Does that make any sense to you guys? Is it possible to do that from PAT itself (can it be scripted or something?) Is it possible to do it from Command line (Terminal) from the existing binaries?

#this kind of code is what I am picturing

seed_model=load_osm("seed.osm")

measure_1=load_measure("measure)

iteration_1=apply_measure(seed_model, measure_1)

results_1=simulate(first_iteration)

measure_2=figure_out_next_measure_from_results(results_1)

#repeat for iteration 2 with measure 2

THANKS VERY MUCH, I may be speaking nonsense, but I think OpenStudio is not far from allowing this, if it does not already does.

edit retag flag offensive close merge delete

Comments

1

Here is a link to our Lare Scale Analysis documentation. That should get you started. I'll let @BrianLBall or someone else go into more detail on specific optimization algorithms that are available with the server.

David Goldwasser's avatar David Goldwasser  ( 2015-04-13 09:49:34 -0500 )edit

Thanks, Dan and David.

I did not fully undertand the available documentation on Large Scale Analysis... however, I think I am already learning how to do it using Ruby scripts. It is kind of tricky at the beggining, but I am learning.

Bye!

gmolina's avatar gmolina  ( 2015-04-14 13:09:58 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
4

answered 2015-05-15 10:50:05 -0500

updated 2015-05-15 10:50:57 -0500

There are several optimization algorithms available in the https://github.com/NREL/OpenStudio-analysis-spreadsheet/. Currently the list is:

NSGA2 (Non-dominated Sorting Genetic Algorithm)

  • Multi-objective
  • Parallel F evaluations Mixed
  • Continuous or Discrete variables

SPEA2 (Strength Pareto Evolutionary Algorithm)

  • Multi-objective
  • Parallel F evaluations
  • Continuous variables only

Rgenoud (GENetic Optimized Using Derivatives)

  • Single-objective
  • Parallel F evaluations for genetic search
  • Parallel gradient calculation for continuous variables

Optim (quasi-Newton method with bounds)

  • Single-objective
  • Parallel gradient calculation
  • Continuous variables only

There are also sampling, design of experiment, batch running and a few other algorithms available. A calibration example lives here: https://github.com/NREL/OpenStudio-analysis-spreadsheet/tree/develop/Calibration_example

A user guide is currently being drafted and lives here: https://github.com/NREL/OpenStudio-analysis-spreadsheet/tree/develop/documentation.

edit flag offensive delete link more

Comments

@ParticleSwarm

You are right. Unmet has a lot on here already.

pow_skier's avatar pow_skier  ( 2018-08-10 08:54:41 -0500 )edit
3

answered 2015-04-13 09:57:18 -0500

Glad you like the idea @gmolina, there is already an answer to this question on this post.

edit flag offensive delete link more

Your Answer

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

Add Answer

Careers

Question Tools

1 follower

Stats

Asked: 2015-04-13 09:35:10 -0500

Seen: 698 times

Last updated: May 15 '15