Original Building Form:
Best Choice Building:
Sumamary Table:
My Single-Objective Optimization scheme:
For my building, I analyzed building cost and solar insolation potential as my two parameters. I did this because I was considering both construction and operation costs as my two most important factors. Higher solar insolation would (theoretically) reduce operational costs sigificantly. Additionally, building square footage is another important factor, as leasable square footage is an important financial factor to consider. As my building height is the same throughout, cost and square footage vary linearly so I only included building cost. In my single-objective optimization scheme, I am ranking each factor as indicated below:
Less Important - Building Cost, weighted at a factor of 2 (while the upfront cost is important, I believe the cost of operating the building is more important for a building of this size and expected life span).
More Important - Solar Insulation, weighted at a factor of 3
Best Choice Building:
The best choice building is the building with larger radii for radius 1 and 2. This is likely because it does not take buildability costs into consideration but we rather calculated costs using a linear function.
Design Logic:
My overall logic takes the input information in Dynamo as shown below, and relies on the mode called CalcCostandSolarInsolation, which is a custom node that I made. Overall, I used the list.map function to map my multiple values into my custom node, to evaluate various variations of my building form.
My CalcCostandSolarInsol node looks like this:
The node takes inputs on element, parameter names, and output parameter values, as well as inputs on weather, solar analysis spacing, site location, sun settings, and cost paramters. As shown below, this node embeds two custom nodes which I made:
For the cost calculation node, I first compared floor mass IDs to the original element mass IDs. I used the MassFloor.Mass node to create mass floors and then I used Element.Id to check the element ID of the mass floors. I did this by comparing the two using a “==” in a code block. I ised a boolean mask to check that the element ID in each floor is the same as the element ID of the original element.
After comparing the element ID, I then calculated the building cost by calculating the areas of each floor and then using the cost aprameters defined in the inputs to multiply by floor area and also by floor hieght:
To do the solar analysis, I took inputs like element, weather, location, sun settings and solar study spcaing, and linked then into SolarAnalayss.Analyze. I then took the output of this node (ie cumulative) and summed up the cumulartive solar insolation potential to calculate the total solar insolation potential for the building.
I did my optimization in excel.
I scaled the building cost and solar insolation potential on a scale of 0-1, ie the lowest turning out to be 0 and the highest turning out to be 1. I then weighted them as described above, and multiplied the weighing factors with the scaled values. In the end, I totaled up the weighted cost and solar insolation potentials. The last building (R=120) had the highest overall scores, and therefore was th ebest performing building.