The second declaration is commented out:
   /* if customer i assigned to site j, then facility must be built at j */
   con AssignImpliesBuild {i in CUSTOMERS, j in CUSTOMERS}:
      Assign[i,j] <= Build[j];
*   con AssignImpliesBuild {j in CUSTOMERS}:
      sum {i in CUSTOMERS} Assign[i,j] <= card(CUSTOMERS) * Build[j];
Both families of linear constraints enforce the logical implication that Assign[i,j] = 1 implies Build[j] = 1.  The first (disaggregated) version yields a tighter linear programming relaxation, but the second (aggregated) version yields fewer constraints.