public static int ParetoObjectiveCompare(Solution solution1, Solution solution2)
   {
      boolean dominate1 = false;
      boolean dominate2 = false;

      int objective_count = solution1.getCosts().size();
      for (int i = 0; i < objective_count; i++)
      {
         if (solution1.getCost(i) < solution2.getCost(i))
         {
            dominate1 = true; // solution 2 is dominated

            if (dominate2)
            {
               return 0;
            }
         }
         else if (solution1.getCost(i) > solution2.getCost(i))
         {
            dominate2 = true; // solution 1 is dominated

            if (dominate1)
            {
               return 0;
            }
         }
      }

      if (dominate1 == dominate2)
      {
         return 0;
      }
      else if (dominate1)
      {
         return -1;
      }
      else
      {
         return 1;
      }
   }
public static int ParetoObjectiveCompare ( Solution solution1 , Solution solution2 ) { boolean dominate1 = false ; boolean dominate2 = false ; int objective_count = solution1 . getCosts ( ) . size ( ) ; for ( int i = 0 ; i < objective_count ; i ++ ) { if ( solution1 . getCost ( i ) < solution2 . getCost ( i ) ) { dominate1 = true ; if ( dominate2 ) { return 0 ; } } else if ( solution1 . getCost ( i ) > solution2 . getCost ( i ) ) { dominate2 = true ; if ( dominate1 ) { return 0 ; } } } if ( dominate1 == dominate2 ) { return 0 ; } else if ( dominate1 ) { return - 1 ; } else { return 1 ; } }
return 1 if solution 2 is better