Galapagos or Similar

It definitely sounds like a compound fitness function (albeit a complicated one). So Galapagos is in principle capable of doing this.
For example, assuming the compression strength C of the structure ranges from 0.0 to 50.0 (with higher values being better), the buckling resistance B ranges from 0.0 to 3000.0 (I know, nonsense units, just making a point here), and the weight W can reach from 1.0 to 3.0 and should be as low as possible.

The compound fitness function here must thus be in the form f = C + B - W. However just writing it like this will not give you the results you’re after, since the equation is dominated by B since it has the largest range. If you’re lucky you can apply a linear transformation to your equation to bring all components into the same numeric range. This will look like f = (aC+b) + (cB+d) - (eW+g), where the multiplication factors (a, c, e) scale each element, while the additions (b, d, g) move each element into the same range.

So let’s say that we want to remap C to go from zero to one, B to also go from zero to one and W to go from zero to two. We’d then need the following constants: f = \frac{1}{50}C + \frac{1}{3000}B - (W-1). If we now imagine the ideal truss (i.e. maximum compression and buckling strengths, no weight) we end up with f = 1 + 1 - 0. Of course any weakening in either C or B will lower that value. Any increase in W will also lower that value.

If you’re not lucky you may have to use non-linear adjustments (polynomials, logarithms, look-up-tables, …). Crafting a correct fitness function is the responsibility of the user. Galapagos doesn’t understand anything about the problems it’s presented with, all the ‘smarts’ must ultimately come from you.

4 Likes