  The component-by-component (CBC) algorithm is a method for constructing good
generating vectors for lattice rules for the efficient computation of
high-dimensional integrals in the "weighted" function space setting introduced
by Sloan and Wo\'zniakowski. The "weights" that define such spaces are needed
as inputs into the CBC algorithm, and so a natural question is, for a given
problem how does one choose the weights? This paper introduces two new CBC
algorithms which, given bounds on the mixed first derivatives of the integrand,
produce a randomly shifted lattice rule with a guaranteed bound on the
root-mean-square error. This alleviates the need for the user to specify the
weights. We deal with "product weights" and "product and order dependent (POD)
weights". Numerical tables compare the two algorithms under various assumed
bounds on the mixed first derivatives, and provide rigorous upper bounds on the
root-mean-square integration error.
