Original Structure:

Structure after optimization:

The first custom node I decided to create was a method to calculate the total construction cost by square footage rather than by building height. By using sources online I found that a typical number is $660 per square foot for high-rise buildings.

The second custom node I decided to create was a method to calculate the top deflection of the building given a wind load and building properties. I simplified the problem by treating the building as a vertical cantilever with a constant distributed load as shown below:

I integrated these custom nodes with my building parameter iterations with the following code:

Finally, I brought this node into my main script where I set typical values for my input properties and allowed a user to adjust them as pleased.

Using these parameters I got the following results:

Optimization:

In this case I believe multi-objective optimization is more suitable than single-objective optimization because there are multiple metrics to consider. For example, it is obvious that the total construction cost will increase as building height increases, but you may want to consider the return on investment with a taller building (with more rentable space). Additionally, if we value construction cost more than top deflection (human comfort with swaying) we can weigh minimizing cost more than minimizing deflection by using 3/2 ratio weights. However, given the metrics I calculated I used single-objective optimization on excel to minimize the total top deflection. By also optimizing for the minimum construction cost I chose the following three design options:

If I had more time I would create more metrics that counter the metrics I already have, such as total return on investment. I chose the optimal structure to be the one with 50 degrees of twist and 500ft of height because it has the minimum top deflection and the minimum total construction cost which are the metrics I calculated.