The purpose which signifies a strategy to our optimisation problem will lie at risk (blue within the picture below). More precisely, it will likely be in the intersection from the blue line and red Pareto front. Our original issue is not quite an optimisation problem. Rather, we have to produce a ranking function. Let’s consider two values in our ranking function, essentially two values within our Rank column:
R1 = A*CA B*Complexity and R2 = A*CA B*Complexity
Each of the formulas written above are equations of lines, furthermore wrinkles are parallel. Taking more rank values into account app developer have more lines and for that reason more points in which the Pareto line intersects using the (dotted) blue lines. These points is going to be classes corresponding to particular rank value.
Regrettably, there’s a problem with this particular approach. For just about any line (Rank value), we’ll have points with really small CA and incredibly big Complexity (and visa versa) laying onto it. This immediately puts points with an impact between metric values in the top list which is what we would have liked to prevent.
Another method of doing the scalarizing is dependant on the reference. Reference is really a point using the maximum values of both criteria:
The fitness function would be the distance between app developer Reference and also the data points:
f(CA,Complexity) = v((CA-CA )2 (Complexity-Complexity)2)
We are able to consider this fitness be the circle using the center in the reference. The radius within this situation is the need for the Rank. The reply to the optimisation problem would be the point in which the circle touches the Pareto front. The reply to the initial problem is going to be teams of points akin to the various circle radii as proven within the following picture (areas of circles for various ranks are proven as dotted blue curves)