From 4a64df5320b72aecd824eb0130d38a3d15e379b0 Mon Sep 17 00:00:00 2001 From: Markus Klinik Date: Fri, 24 May 2019 15:33:43 +0200 Subject: [PATCH] scalarization --- implementation.tex | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/implementation.tex b/implementation.tex index 66943fd..f93873e 100644 --- a/implementation.tex +++ b/implementation.tex @@ -114,7 +114,29 @@ In this way, the algorithm can explore invalid regions of the search space, whil \paragraph{Scalarization} -Fitness function: compare two individuals by using the smart weighted product. +The algorithm compares two valid individuals by comparing the weighted product of their qualities. +Calculating the product of a list of numbers can result in very high numbers, which might result in overflow or loss of precision, due to the limitations of calculations on a computer. + +We mitigate this problem by utilizing an equivalent formula of the weighted product, that directly calculates the ratio of the weighted product of two given assignments. + +To understand the problem, let $x = \tuple{p_1, p_2, p_3, q_1}$ and $y = \tuple{P_1, P_2, P_3, Q_1}$ be the qualities of two assignments, where $p$ and $P$ are more-is-better criteria, and $q$ and $Q$ are less-is-better. +For this example, we take all weights to be 1. +We could calculate their scores individually and then take the ratio of the scores, as follows. +\begin{IEEEeqnarray*}{c'c'c} +s_x = \frac{p_1 p_2 p_3}{q_1} & s_y = \frac{P_1 P_2 P_3}{Q_1} & r = \frac{s_x}{s_y} +\end{IEEEeqnarray*} +The result $r$ is the factor by how much better $x$ is than $y$. +If $r$ is greater than 1, then the score of $x$ is $r$ times better than the score of $y$. +If $r$ is less than 1, then $y$ is $r$ times better than $x$. + +This calculation has the subexpressions $p_1 p_2 p_3$ and $P_1 P_2 P_3$, which can result in an intermediate result large enough to cause information loss. + +By using elementary laws of multiplication and division, we can alternatively calculate $r$ as follows. +\begin{IEEEeqnarray*}{c} +r = \frac{p_1}{P_1} \times \frac{p_2}{P_2} \times \frac{p_3}{P_3} \times \frac{Q_1}{q_1} +\end{IEEEeqnarray*} +We know that the $p_i$ and $P_i$ are objectives of the same capability requirement, so they are most likely in the same order of magnitude. +This results in smaller intermediate numbers, which decreases the chance for information loss. -- GitLab