1. A method for evaluating auction bids in an auction with I items and S counterparties, where each item i is subdivided into Q units, the method comprising: accepting a plurality of bids, each bid being a bid B is (q s ) representing a cost of a quantity q s of item i from counterparty s; generating, by executing a module stored on a non-transitory computer readable medium, a directed graph from a source vertex to a sink vertex representing the plurality of bids; identifying k shortest paths from the source vertex to the sink vertex, the bids making up each shortest path representing a corresponding solution to the auction-and the k-shortest paths representing the k best solutions, where k is an integer ≧2; and outputting the k best solutions; wherein the directed graph is defined by a single set of rules for all I items, and includes a plurality of intermediate vertices (i, s, q), wherein: i represents an item, i=1, 2,. .. I; s represents a counterparty, s=1, 2,. .. S; and q represents a number of units already supplied by counterparties from counterparty 1 up to and including counterparty s of item i, where q=0, 1,. .. Q.