implement FastRandomizedGreedyOptimization