Grasshopper

algorithmic modeling for Rhino

Hello Everyone!

I am a beginner with octopus and I've been trying to run it for the past days and, while at first I got few points that didn't really move much (image attached), now I have a curve but it says that it failed to evaluate results and in general I get no points (image attached, I've run it for about 15 hours).

The optimisation criteria I am using are:

1. The average daylight factor of each floor should be greater or equal to 4. I am using the formula: if(x>y,1,0), with y=4.

2. The total cooling loads should be less than or equal to 110. I am using the formula: if (x<(or equal to) y, 1,0) with y = 105.

I've looked at tutorials and read lots of forums but all information are more advanced and I can't find visualization information. If someone can give me any advice it would be very appreciated.

Thank you all in advance.

Luisa

Views: 960

Attachments:

Replies to This Discussion

Luisa - Based on your optimization criteria from your question, you have two True/False statements that will produce only four results for Octopus to evaluate (1/0, 1/1, 0/1, and 0/0).  What you have are two boundary conditions that tell Octopus "yes this is a viable solution" and "no this is not a viable solution".  Try modifying the equation to pass the x value on rather than 1 [Example: (x>4,x,0) and (x≤105,x,0)].

 

In addition, as your optimization only has two variables (Minimize cooling load, and Maximize DF) the results will produce a 2D Pareto curve and not a 3D Pareto front which you may be anticipation.

 

If you are interested in understanding optimization, Professor Chinneck's book "Practical Optimization: A Gentle Introduction" is a useful introduction and reference (see: http://www.sce.carleton.ca/faculty/chinneck/po.html)

  

Hope this helps.

Cheers - JE

Thank you JE for your help and also for the suggested book! I think it works now and I skimmed through it and it does seem very interesting. I'll definitely reed more of it, but right now I'm a bit short of time because of deadlines (I'm a student). 

 I have one more question if you could help me again, if I still get most of the results on one axis does that means that one of my objectives are too extreme? or what does it mean?

Thanks again,

Luisa

Attachments:

I cannot tell you much just from the images, however, what I can surmise is that between your two variables (cooling load and DF), cooling load has hit a barrier where either no feasible solution exists beyond that curve (i.e. further minimization of the cooling load is not possible) OR that you have not generated enough populations/scenarios for Octopus to find a better solution, therefore the program is stuck on a sub-optimal solution within the feasible solution space.  

Assuming the program is only evaluating feasible solutions around a sub-optimal solution or a point along a curve, try letting your simulation run longer, and perhaps increasing the Mutation Rate (test what happens).  If Octopus has indeed found the global optimum curve, then the cooling load scheduling and minimum airflow rate in E+ (assuming you are using Honeybee) may be set to a minimum for maintaining occupant comfort that you will need to adjust for further reductions.

Cheers -- JE

Thank you JPE!As you said the problem was reaching unfeasible solutions since viper (i am using diva) doesn't recognize non-rectangular windows therefore those go directly to zero and everything stops :(

Luisa -- 

As long as the window is planer and non-convex/concave, DIVA (and EnergyPlus) should recognize the form.  Check that all of the vertices that form each glazing surface (child surface) is inside of the wall/roof surface (parent surface).  If vertices fall outside of a parent surface, is not planer, or is a non-convex/concave form EnergyPlus and DIVA will not recognize it as a window and produce an error (i.e. "The simulation has not run correctly because of this severe error: ** Severe  ** DetermineShadowingCombinations: There are 1 surfaces which are casting surfaces and are non-convex.")

In addition, any vertices of a child objet that fall on the edge of a parent object will likely result in a error as well.  Therefore it is good practice to ensure each child object (windows, doors) are inset from their respective parent object boundaries be it 1mm 1cm or 1m.

Finally, double check that all the geometries surface normals are facing outwards from their thermal zone interior.

Cheers -- JE

Hi Luisa,

I am DAvid and I am also a student. I am running an optimization similar to yours (two objectives, three parameters). After the calculation I have the pareto front, the data exported on a text file but I don't know how understand which parameters correspond to a point on the graph. Can you help me?

Thanks

David

Hi David,

Well, I don't know if I am the best to ask to because I was quite unsure myself but I will try. Basically, if you hover over the points in the graphs the coordinates (that is your two objectives) will be written at the bottom left hand corner of the screen. So i just had a look at a couple of points this way and then more or less was able to tell the location of the rest. Also, keep in mind that if you select one of the points on the graph and click "reinstate solution" from the menu that appears, grasshopper resets that solution so you can look at the geometry and the sliders. 

I hope it helps.

Luisa

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service