Grasshopper

algorithmic modeling for Rhino

# Results Validation?

Hello!

I am currently running an evolutionary optimization for FRP form generation and had two quick questions. In my optimization, the genes are the geometric parameters to generate the structure shape. The objectives to optimize are the weight and the strain energy, both to be minimized.

1. My first question is then: I know it’s clearly stated that Wallacei is a multi-objective optimization, is it fair to assume it could also work for a single objective optimization? I am curious to compare where multi-objective and single-objective optimization.

2. My second question regards the validation of results before they are fed into the Wallacei component. I start with the single-objective optimization for the weight of the structure. Before a structure can be considered in the algorithm, it must verify (1) a maximum deflection criteria, (2) a minimum buckling criteria, and (3)a stress criterion (Tsai-Wu). If those 3 conditions are verified, than the design is deemed safe to be considered. I introduced this verification in the form of if statements:

1. If the three criteria are verified, then the value of the weight inherited to Wallacei is set to the structure’s weight.
2. If one of the three criteria was not verified, the value of the weight inherited to Wallacei is set to 100 000 (i.e a very large number). In the post-processing, the  Fitness Values can be sorted to eliminate the individuals that correspond to the 100 000 value.

The logic behind this strategy is that the optimization will drive away from those 100 000 value solutions with each generation. Is this assumption correct? Is there perhaps a different/more efficient way to validate the solutions?

Best regards,

Views: 89

### Replies to This Discussion

The project you are working on is indeed an interesting one as well as your questions: below find my answers

1. Yes, for sure, you can use Wallacei for a single objective optimization as well. However, I encourage you to read more about the differences between multi-objective and single objective optimization. Some suggested readings are as follows:
2. You have implemented an interesting method for validation of results; indeed, this is what I used to do back in the days before Wallacei. You can actually still use the same method and It works. As you said you can eliminate the results with the value of 100 in Fitness Values at the end.

However, in Wallacei we have implemented something called Null Indicator. For a detailed description please watch the video below. To briefly explain, if Wallacei encounters a solution with a null objective, automatically it ignores it and regenerate another solution with valid results. Now here is the trick. You can use this method for your advantage as I do myself in my research and practice. In your conditional statement instead of having the value 100 as the wrong ones, just have no value, meaning empty, then if this being fed to Wallacei, Wallacei understands it as null/empty so it ignores it internally and goes back to GH to generate another solution in which this value is not null. This way you are certain that all generated solutions at the end are valid (because Wallacei ignores the invalid ones).

One note to consider: sometimes it takes more than one iteration to find the right answer with no null. And of course, sometimes you may be stuck in a loop. Depends on the nature of your problem.

(side note: make sure your number parameters than hold your objectives are flattened and each is holding one value).

I'll also take a shot at implementing your suggested method to validate my results in order to take advantage of this new feature.

Thanks again.

Best regards,

by June Lee

• View All