A method of selecting a winning allocation of bids in a combinatorial auction
includes
receiving a plurality of bids and designating a subset of the received bids as
a current allocation having no overlap in the items of its bids. For each bid not
part of the current allocation, a neighboring allocation is determined by combining
the bid with the current allocation and deleting from such combination any bid
of the current allocation having an item that overlaps an item of the bid combined
with the current allocation. A heuristic is determined for each neighboring allocation
and one of the neighboring allocations is selected stochastically or based on its
heuristic. If this one neighboring allocation is greater than the value of the
best allocation, the current allocation is substituted for the best allocation.