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

Optimization algorithm using OpenStudio PAT or terminal

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

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

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 gravatar image David Goldwasser  ( 2015-04-13 09:49:34 -0600 )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 gravatar image gmolina  ( 2015-04-14 13:09:58 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted
4

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

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

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 gravatar image pow_skier  ( 2018-08-10 08:54:41 -0600 )edit
3

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

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

 

Question Tools

1 follower

Stats

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

Seen: 579 times

Last updated: May 15 '15