diff --git a/src/ibea/indicator.cpp b/src/ibea/indicator.cpp
index 332b3a31ba20c52426530b4c8a5520d45d20b10e..6708a707e7d555bd38be719ebd1d6a7323491ebd 100644
--- a/src/ibea/indicator.cpp
+++ b/src/ibea/indicator.cpp
@@ -1,6 +1,45 @@
 #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 epsilon_indicator(double [][] a, double [][] b, int dim_obj, 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
diff --git a/src/ibea/indicator.h b/src/ibea/indicator.h
index 61d5922ad7ff21697b254150f2c1895142eb14ad..f78fa9e486092013d87f20c4aac2478e19f71376 100644
--- a/src/ibea/indicator.h
+++ b/src/ibea/indicator.h
@@ -1,6 +1,6 @@
 #ifndef INDICATOR_H
 #define INDICATOR_H
 
-int espsilon_indicator();
+double epsilon_indicator();
 
 #endif