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.