code: private double initScore() {
          double score = 0;
          final int n = atoms.length;
          for (int i = 0; i < n; i++) {
              final Point2d p1 = atoms[i].getPoint2d();
              for (int j = i + 1; j < n; j++) {
                  if (contribution[i][j] < 0) continue;
                  final Point2d p2 = atoms[j].getPoint2d();
                  final double x = p1.x - p2.x;
                  final double y = p1.y - p2.y;
                  final double len2 = x * x + y * y;
                  score += contribution[j][i] = contribution[i][j] = 1 / Math.max(len2, MIN_SCORE);
              }
          }
          return score;
      }
docs: Calculate the initial score.
  
  @return congestion score