Skip to content
Extraits de code Groupes Projets
Valider 77ab6a56 rédigé par Matthieu RÉ's avatar Matthieu RÉ
Parcourir les fichiers

Implement indicator.cpp

parent 16268cc4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
#include "indicator.h" #include "indicator.h"
int espsilon_indicator(){ /**
* Returns the associated espsilon-indicator. In the complete algorithm, we only
* need to take as arguments an only vector, but we still use here A and B as
* sets of vectors. Furthermore, instead of calling in every
* epsilon_indicator the method coco_evaluate, we better save every f(x) and
* enter as parameters of the function the two vectors f(x1) and f(x2) we want
* to compare.
* @param fa: image of the first vector to compare by f
* @param fb: image of the second vector to compare by f
* @returns: the espsilon-indicator
*/
double espsilon_indicator(double [][] a, double [][] b, int dim_obj = a[0], int dim_a = 1, int dim_b = 1) {
int i, j, k;
double eps = 0.0, eps_j = 0.0, eps_k=0.0, eps_temp;
return 0; /* Here we search for the value of
* I (A, B) =
* min{eps} (∀x2 ∈ B ∃x1 ∈ A : fi(x1) − eps ≤ fi(x2) for i ∈ {1,...,n}).
* eps is between 0 and the dimension of the vectors
*
*/
for (i = 0; i < dim_a; i++) {
for (j = 0; j < dim_b; j++) {
for (k = 0; k < dim_obj; k++) {
eps_temp = b[j][k] - a[i][k];
if (k == 0)
eps_k = eps_temp;
else if (eps_k < eps_temp)
eps_k = eps_temp;
}
if (j == 0)
eps_j = eps_k;
else if (eps_j > eps_k)
eps_j = eps_k;
}
if (i == 0)
eps = eps_j;
else if (eps < eps_j)
eps = eps_j;
}
return eps;
}
} }
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter