A method for enabling optimizing software to determine an optimal
allocation in a combinatorial auction includes (a) receiving a plurality
of bids each of which includes a plurality of sub bids, wherein each sub
bid is comprised of one of (1) one good and an associated price and (2) a
logical operator logically connecting at least two child sub bids and a
price associated with the logical operator; (b) defining an objective for
the plurality of bids; (c) defining for each bid a plurality of
mathematical relationships without logical operators that collectively
represent the bid; and (d) causing the optimizing software to process the
received bids to achieve the objective subject to the mathematical
relationships. The method can be embodied in instructions stored on a
computer-readable medium. When executed by a processor, the instructions
can cause the processor to perform the method.