A CAT-Based Approach to Optimum Tolerance Allocation