Practical Algorithms for Generating a Random Ordering of the Elements of a Weighted Set