In this paper, we consider the classical scheduling problem on parallel machines with capacity constraints. We are given m identical machines, where each machine k can process up to ck jobs. The goal is to assign the n ≤ ∑m k=1 ck independent jobs on the machines subject to the capacity constraints such that the makespan is minimized. This problem is a generalization of the c-partition problem where ck = c for each machine. The c-partition problem is strongly NP-hard for c ≥ 3 and the best known approximation algorithm of which has a performance ratio of 4/3 due to Babel et al. . For the general problem where machines could have different capacities, the best known result is a 1.5- approximation algorithm with running time O(n log n + m2n) . In this paper, we improve the previous result substantially by establishing an efficient polynomial time approximation scheme (EPTAS). The key idea is to establish a non-standard ILP (Integer Linear Programming) formulation for the scheduling problem, where a set of crucial constraints (called proportional constraints) is introduced. Such constraints, along with a greedy rounding technique, allow us to derive an integer solution from a relaxed fractional one without violating constraints.