Combinatorial Allocation Problem