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 9 years ago

updated 7 years ago

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.

Preview: (hide)

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  ( 9 years ago )

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  ( 9 years ago )

2 Answers

Sort by » oldest newest most voted
4

answered 9 years ago

updated 9 years ago

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.

Preview: (hide)
link

Comments

@ParticleSwarm

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

pow_skier's avatar pow_skier  ( 6 years ago )
3

answered 9 years ago

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

Preview: (hide)
link

Your Answer

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

Add Answer

Training Workshops

Careers

Question Tools

1 follower

Stats

Asked: 9 years ago

Seen: 756 times

Last updated: May 15 '15