minimum set covering problem