US7353191B2 - Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting - Google Patents

Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting Download PDF

Info

Publication number
US7353191B2
US7353191B2 US11/065,333 US6533305A US7353191B2 US 7353191 B2 US7353191 B2 US 7353191B2 US 6533305 A US6533305 A US 6533305A US 7353191 B2 US7353191 B2 US 7353191B2
Authority
US
United States
Prior art keywords
allocation
value
adversarial
regret
bids
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US11/065,333
Other versions
US20050192865A1 (en
Inventor
Craig E. Boutilier
Tuomas Sandholm
Robert L. Shields, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LIBERTY SECOND SUB Inc
SciQuest Inc
Original Assignee
CombineNet Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CombineNet Inc filed Critical CombineNet Inc
Priority to EP05075446A priority Critical patent/EP1571577A1/en
Priority to US11/065,333 priority patent/US7353191B2/en
Assigned to COMBINENET, INC. reassignment COMBINENET, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOUTILIER, CRAIG E., SANDHOLM, TUOMAS, SHIELDS, JR., ROBERT L.
Publication of US20050192865A1 publication Critical patent/US20050192865A1/en
Publication of US7353191B2 publication Critical patent/US7353191B2/en
Application granted granted Critical
Assigned to THE ADVISORY BOARD COMPANY reassignment THE ADVISORY BOARD COMPANY SECURITY AGREEMENT Assignors: COMBINENET, INC.
Assigned to COMBINENET, INC. reassignment COMBINENET, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: THE ADVISORY BOARD COMPANY
Assigned to REVOLUTION CAPITAL, LLC, APEX INVESTMENT FUND V, L.P., ECC PARTNERS, L.P., UPMC, ADVANCED TECHNOLOGY VENTURES VII (B), L.P., ADVANCED TECHNOLOGY VENTURES VII (C), L.P., ADVANCED TECHNOLOGY VENTURES VII, L.P., ATV ENTREPRENEURS VII, L.P., ATV ENTREPRENEURS VI, L.P., ADVANCED TECHNOLOGY VENTURES VI, L.P. reassignment REVOLUTION CAPITAL, LLC SECURITY AGREEMENT Assignors: COMBINENET, INC.
Assigned to COMBINENET, INC. reassignment COMBINENET, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: ADVANCED TECHNOLOGY VENTURES VI, L.P., ADVANCED TECHNOLOGY VENTURES VII (B), L.P., ADVANCED TECHNOLOGY VENTURES VII (C), L.P., ADVANCED TECHNOLOGY VENTURES VII, L.P., APEX INVESTMENT FUND V, L.P., ATV ENTREPRENEURS VI, L.P., ATV ENTREPRENEURS VII, L.P., ECC PARTNERS, L.P., C/O U.S. SMALL BUSINESS ADMINISTRATION, RECEIVER FOR ECC PARTNERS, L.P., REVOLUTION CAPITAL, LLC, UPMC
Assigned to BANK OF AMERICA, N.A. reassignment BANK OF AMERICA, N.A. SECURITY AGREEMENT Assignors: ADVANCED SOURCING CORP.
Assigned to LIBERTY SECOND SUB, INC. reassignment LIBERTY SECOND SUB, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: COMBINENET, INC.
Assigned to ADVANCED SOURCING CORP. reassignment ADVANCED SOURCING CORP. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: LIBERTY SECOND SUB, INC.
Assigned to SCIQUEST, INC. reassignment SCIQUEST, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADVANCED SOURCING CORP.
Assigned to SCIQUEST, INC. reassignment SCIQUEST, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA, N.A.
Assigned to ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT reassignment ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT PATENT SECURITY AGREEMENT Assignors: SCIQUEST, INC.
Assigned to COMBINENET, INC. (ASSIGNORS' PREDECESSOR IN INTEREST), SCIQUEST, INC. reassignment COMBINENET, INC. (ASSIGNORS' PREDECESSOR IN INTEREST) RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: THE ADVISORY BOARD COMPANY
Assigned to SCIQUEST, INC. reassignment SCIQUEST, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: ANTARES CAPITAL LP
Assigned to ANTARES CAPITAL LP, AS AGENT reassignment ANTARES CAPITAL LP, AS AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCIQUEST, INC.
Assigned to UBS AG, STAMFORD BRANCH, AS FIRST LIEN COLLATERAL AGENT reassignment UBS AG, STAMFORD BRANCH, AS FIRST LIEN COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: SCIQUEST, INC.
Assigned to U.S. BANK NATIONAL ASSOCIATION, AS TRUSTEE AND COLLATERAL AGENT reassignment U.S. BANK NATIONAL ASSOCIATION, AS TRUSTEE AND COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCIQUEST, INC.
Assigned to SCIQUEST, INC. reassignment SCIQUEST, INC. RELEASE OF SECURITY INTEREST IN PATENTS Assignors: ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT
Assigned to JAGGAER, LLC (AS SUCCESSOR IN INTEREST TO SCIQUEST, INC.) reassignment JAGGAER, LLC (AS SUCCESSOR IN INTEREST TO SCIQUEST, INC.) RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (AS SUCCESSOR TO U.S. BANK NATIONAL ASSOCIATION)
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0273Determination of fees for advertising
    • G06Q30/0275Auctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Definitions

  • the present invention relates to determining a good or optimal allocation in a combinatorial exchange where the bid taker has preferences for non-prices attributes.
  • Combinatorial auctions generalize traditional market mechanisms to allow the direct specification of bids over bundles of items together with various types of side constraints.
  • This form of expressive bidding is extremely useful when a bidder's valuation for collections of items—or bidder's costs in revenue allocations—exhibit complex structure.
  • winner determination namely, determining a cost or revenue optimal allocation of items given a collection of expressive bids, has been widely studied. While winner determination algorithms have been designed to find optimal allocations with respect to cost and revenue, in many settings, features other than cost also play a role in accessing the quality of an allocation.
  • the bid taker may be concerned with the number of suppliers awarded business, the percentage of business awarded to a specific supplier, the average delivery-on-time rating of awarded business, and any of a number of other factors that can be tradeoff against cost.
  • Most algorithms can be adapted to deal with such features, if, say, tradeoff weights are made explicit and incorporated into the objective function. However, most bid takers are unable or unwilling to articulate such precise tradeoffs.
  • the invention is a method of selecting a desirable allocation of bids in a combinatorial exchange setting.
  • the method includes (a) providing a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities; (b) selecting an adversarial allocation of the bids; (c) determining as a function of the adversarial allocation of the bids (1) a candidate allocation of the bids and (2) a value of a minimax regret related to a utility associated with the adversarial allocation minus a utility associated with the candidate allocation; (d) determining as a function of the candidate allocation (1) a new adversarial allocation of the bids and (2) a value of a maximum regret related to a utility associated with the new adversarial allocation minus a utility associated with the candidate allocation; (e) if the current value of the maximum regret is greater than the current value of the minimax regret, determining as a function of the adversarial allocation(s) (1) a new candidate allocation of the bids
  • Step (a) can further include associating initial bounds to at least one feature of the exchange.
  • Each utility a measure of the usefulness of the corresponding allocation(s) to a buyer.
  • Each utility is comprised of a value associated with at least one feature of the allocations over which the buyer has some preference.
  • Each utility is comprised of a sum of a plurality of values associated with a like plurality of features of the corresponding allocation(s) over which the buyer has some preference.
  • the method can further include (h) determining at least one constraint for at least one pair of allocations; and (i) repeating steps (b)-(g) subject to the one constraint.
  • the allocations can be candidate allocations.
  • the method can further include (h) amending at least one value associated with at least one feature; and (i) repeating steps (b)-(g).
  • the invention is also an apparatus for selecting a desirable allocation of bids in a combinatorial exchange.
  • the apparatus includes means for receiving a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities and means for forming a first adversarial allocation of the bids.
  • Means can be provided for determining as a function of the first adversarial allocation of the bids (1) a first candidate allocation of the bids and (2) a first value of a minimax regret related to a difference between a utility associated with the adversarial allocation and a utility associated with the candidate allocation.
  • Means can also be provided for determining as a function of the first candidate allocation (1) a second adversarial allocation of the bids and (2) a first value of a maximum regret related to a difference between a utility associated with the new adversarial allocation and a utility associated with the candidate allocation.
  • the apparatus includes means for producing a visually perceptible image of the first candidate allocation as the desirable allocation when the first value of the maximum regret is not greater than the first value of the minimax regret.
  • the apparatus can further include means for associating initial bounds to at least one feature of the exchange.
  • the apparatus can further include means for determining as a function of the first adversarial allocation and the second adversarial allocation (1) a second candidate allocation of the bids and (2) a second value of minimax regret related to a difference between a utility associated with the first and second adversarial allocations, and a utility associated with the second candidate allocation; and means for determining as a function of the second candidate allocation (1) a third adversarial allocation of the bids and (2) a second value of maximum regret related to a difference between a utility associated with the third adversarial allocation and a utility associated with the second candidate allocation.
  • Means can be provided for designating the second candidate allocation as the desirable allocation when the second value of the maximum regret is not greater than the second value of the minimax regret.
  • the apparatus can further include means for determining at least one constraint based on the selection of one at least one pair of allocations, wherein (1) the third adversarial allocation of the bids and (2) the second value of the maximum regret are determined subject to the one constraint.
  • the apparatus can further include means for determining as a function of at least one adversarial allocation a plurality of feasible allocations and means for determining at least one constraint based on at least one pair of allocations, wherein (1) at least one of the adversarial allocations of the bids and (2) one of the values of maximum regret are determined subject to the one constraint.
  • the visually perceptible image can be produced by one of a video monitor and a printer.
  • FIG. 1 is a schematic illustration of a computer system which implements computer software which embodies the present the invention
  • FIG. 2 is a diagrammatic illustration of an exemplary bid in a combinatorial exchange
  • FIG. 3 is a flow diagram of a method of utilizing the below listed equations EQ1 and EQ2 in accordance with the present invention.
  • FIG. 4 is a chart showing the inputs to and outputs from the below listed equations EQ1 and EQ2 for a number of solution cycles of equations EQ1 and EQ2.
  • the present invention is generally directed to a method of selecting a desirable allocation of bids in a combinatorial exchange, such as a combinatorial forward auction, a combinatorial reverse auction, or a pure combinatorial exchange, and, more particularly, to a method of selecting an allocation that is within a desired range of an optimal allocation.
  • the present invention is embodied in computer-readable program code which executes on one or more computer systems 2 .
  • Each computer system 2 includes a microprocessor 4 , a computer storage 6 and an input/output system 8 .
  • Each computer system 2 can also include a media drive 10 , such as a disk drive, CD ROM drive, and the like.
  • Media drive 10 can be operated under the control of the computer-readable program code that resides in a computer-usable storage medium 12 .
  • the computer-readable program code is able to configure and operate computer system 2 in a manner to implement the present invention.
  • Input/output system 8 can include a keyboard 14 , a mouse 16 and/or a display means 18 , such as a video monitor, a printer or any other means for producing a visually perceptible image.
  • Computer system 2 is exemplary of computer system(s) capable of executing the computer-readable program code of the present invention and is not to be construed as limiting the invention.
  • an exemplary bid 20 that can be input into computer system 2 for processing under the control of the computer-readable program code includes one or more items or goods 22 - 1 , 22 - 2 , 22 - 3 . . . 22 -N having associated quantities 24 - 1 , 24 - 2 , 24 - 3 . . . 24 -N, respectively, and an associated bid price 26 .
  • the buyer either consciously or unconsciously weights each bid based on the buyers “utility” for one or more features associated with one or more of the bids, wherein the buyer has some preference over each feature.
  • Exemplary features that the buyer may have some preference over that the buyer wishes to associate a utility value with can include, without limitation, minimum price, a maximum number of suppliers, a cost of transporting the item(s) associated with each bid, a quality rating of the bidder, and the like.
  • the buyer associates a utility value of 4 with Bid 1 ; a utility value of 6 with Bid 2 ; and a utility value of 2 with Bid 3 .
  • the buyer desirably maximizes his utility.
  • This maximum utility is represented by the utility value having the largest value associated with Bid 1 , Bid 2 or Bid 3 .
  • Bid 2 has the largest utility value, i.e., 6, meaning that the buyer believes Bid 2 has the greatest utility. Hence, in this example, the buyer would choose Bid 2 .
  • a buyer's determination of utility is not so straightforward.
  • a buyer's utility for a particular bid may involve a number of competing tradeoffs. For example, as the price of a bid decreases, the buyer's utility value assigned by the buyer to the bid increases which can compensate for a lower feature value of the supplier's quality rating.
  • each bid in the present example will typically have a range of utilities, represented by a range of utility values associated with the bid.
  • a range of utility values For example, suppose that the buyer in our example associates with each bid a range of utility values, wherein a lower utility value represents a lower bound on said range and an upper utility value represents an upper bound on said range.
  • the bidder associates the range of utility values between 4 and 5 with Bid 1 ; the range of utility values between 2 and 6 with Bid 2 ; and the range of utility values between 1 and 4 with Bid 3 .
  • the range of utilities values for each bid represents the buyer's imprecise knowledge regarding the buyer's actual utility for the bid.
  • the maximum the bidder would regret choosing Bid 3 instead of Bid 1 would be four (4) weight points, i.e., the upper bound utility value 5 of Bid 1 minus the lower bound utility value of 1 of Bid 3 .
  • the utility value of four (4) represents the “maximum regret” between Bid 3 and Bid 1 .
  • Bid 1 the buyer would logically choose Bid 1 because Bid 1 has the minimum-maximum regret, or so-called “minimax regret”, associated therewith. Stated differently, Bid 1 is said to be the bid with optimal “minimax regret” and 2 is its maximum regret.
  • each bid in the foregoing example can be replaced with an allocation of bids that would be more common in a combinatorial type auction.
  • Bid 1 could be replaced with a first allocation of bids, wherein said first allocation includes one or more bids of the type shown in FIG. 2 .
  • Bids 2 and 3 can be replaced with second and third allocations, respectively.
  • the concepts of “maximum regret” and “minimax regret” can be applied to pairs of allocations in the same manner as they are applied to pairs of bids in the foregoing example.
  • Gen k representing a set of arbitrary feasible allocations, is instantiated with one or more adversarial allocations.
  • one or more initial adversarial allocation(s) are selected and included in Gen k .
  • Gen k can initially include 2 or more adversarial allocations and the initial value of k can track the number of adversarial allocations initially included in Gen k .
  • step 102 equation EQ1 is solved for the set of adversarial allocation(s) in Gen 1 to determine a minimax regret value ⁇ 1 and a candidate allocation x 1 .
  • step 104 the thus determined candidate allocation x 1 is substituted for x in equation EQ2 which is solved to determine a maximum regret value MR(x 1 ) and a new adversarial allocation x (k+1) ′, i.e., x 2 ′.
  • the inputs into and outputs from equations EQ1 and EQ2 for this first cycle are shown in FIG. 4 .
  • step 106 a determination is made whether the maximum regret value MR(x 1 ) is greater than the minimax regret value ⁇ 1 , i.e., MR(x 1 )> ⁇ 1 . If not, the maximum regret value MR(x 1 ) is deemed to be the optimal minimax regret value and the method of FIG. 3 advances to step 108 , wherein a visually perceptible image of at least candidate allocation x 1 is produced, for example on display 18 . The use of equations EQ1 and EQ2 is then terminated and candidate allocation x 1 is deemed to be the allocation that optimal with respect to maximum regret.
  • Step 102 is then reexecuted wherein equation EQ1 is solved for the set of adversarial allocation(s) in Gen 2 . Solving equation EQ1 for adversarial allocations x 1 ′ and x 2 ′ yields a new minimax regret value ⁇ 2 and a new candidate allocation x 2 .
  • step 104 candidate allocation x 2 is substituted for x in equation EQ2 and a new maximum regret value MR(x 2 ) is determined for this candidate allocation x 2 along with a new adversarial allocation x (k+1) ′ or x 3 ′. This concludes the second cycle of equations EQ1 and EQ2 as shown in FIG. 4 .
  • step 106 if the maximum regret value of MR(x 2 ) is not greater than the minimax regret value of ⁇ 2 , the use of equations EQ1 and EQ2 is terminated and step 108 is executed since the maximum regret value of MR(x 2 ) is deemed to be the optimal minimax regret and candidate allocation x 2 is deemed to be the allocation that is optimal with respect to maximum regret.
  • Step 102 is than reexecuted wherein equation EQ1 is solved for each adversarial allocation in Gen 3 to determine a new minimax regret value ⁇ 3 and a new candidate allocation x 3 .
  • candidate allocation x 3 is then substituted for x in equation EQ2 which is solved to determine a new maximum regret value MR(x 3 ) and a new adversarial allocation x (k+1) ′ or x 4 ′. This concludes the third cycle of equations EQ1 and EQ2 as shown in FIG. 4 .
  • step 106 an evaluation is made to determine if the maximum regret value MR(x 3 ) is greater than the minimax regret value ⁇ 3 . If not, the maximum regret value MR(x 3 ) is deemed to be the optimal minimax regret value, candidate allocation x 3 is deemed to be the allocation that optimal with respect to maximum regret, and the method advances to step 108 . Otherwise, step 110 and steps 102 - 108 of the flow diagram of FIG. 3 are repeated, as necessary, for additional cycles of equations EQ1 and EQ2 until the maximum regret value MR(x) of one of the cycles is not greater than the minimax regret value ⁇ in said cycle. Alternatively, the steps of the flow diagram of FIG. 3 can terminated after some number of cycles of equations EQ1 and EQ2 or when the difference between the maximum regret value MR(x) and the minimax regret value ⁇ for a particular cycle is within a predetermined value.
  • a precondition to utilizing equations EQ1 and EQ2 is the assignment of a unique upper bound weight value (w i ⁇ ) to each feature f i and a unique lower bound weight value (w i ⁇ ) to each feature f i .
  • each feature f i of the allocation over which a buyer has some preference e.g., number of winners, supplier quality rating, price, and the like, has a unique upper bound value and a unique lower bound value associated therewith by the buyer.
  • the solutions of equations EQ1 and EQ2 are contingent upon the upper and lower bound weight values assigned to each feature over which the buyer has some preference as is the determination of values for minimax regret ( ⁇ ) and maximum regret MR(x).
  • weight values w i are present, for example, general linear constraints. For example, suppose that the buyer had expressed a preference for allocation x 1 over allocation x 2 . Furthermore, suppose that the buyer cared about two allocation features f 1 and f 2 , e.g., number of winners and average supplier quality rating. Finally, suppose that allocation x 1 has feature values 10 and 7 for f 1 and f 2 , respectively, and a total price of $1000; and allocation x 2 has feature values 6 and 8 for f 1 and f 2 , respectively, and a total price of $1200.
  • Equation EQ3 is the general form of equations EQ1 and EQ2:
  • equations EQ4 and EQ5 can be used when additional information besides features weights is available for at least one feature f i to solve EQ3.
  • equation EQ4 can be solved to obtain a candidate allocation x while equation EQ5 can be solved to generate a new “pair” of an adversarial allocation and adversarial weight vector, i.e., ⁇ x k ′, w k ⁇ .
  • Equation EQ5 weights w i and adversarial allocation x′ are variables. Equation EQ5 is a standard quadratic integer program with a quadratic objective and linear constraints and can be solved directly to obtain a value for maximum regret MR(x 1 ), a new adversarial allocation x 1 ′ and a new adversarial weight vector w 1 using well know and commercially available software, such as the CPLEX optimizing software.
  • the maximum regret value MR(x 1 ) is not greater than the approximation value ⁇ 1 of minimax regret, the maximum regret value MR(x 1 ) is deemed to the optimal minimax regret value, x 1 is deemed to be the desired allocation which is output as a visually perceptible image, for example on display 18 , and the use of equations EQ4 and EQ5 is terminated.
  • the new adversarial allocation x 1 ′ and the new adversarial weight vector w 1 are included in the current instance of set Gen (i.e., x 1 ′ and w 1 are included in union with the adversarial allocation(s) and adversarial weight vector(s) already included in the set Gen) thereby forming a new instance of set Gen.
  • equations EQ4 and EQ5 can be reexecuted in the foregoing manner to determine a new candidate allocation x 2 , a new approximation value ⁇ 2 of minimax regret, a new maximum regret MR(x 2 ), a new adversarial allocation x 2 ′ and a new adversarial weight vector w 2 .
  • the maximum regret value MR(x 2 ) is not greater than the approximation value ⁇ 2 of minimax regret, the maximum regret value MR(x 2 ) is deemed to the optimal minimax regret value, x 2 is deemed to be the desired allocation which is output as a visually perceptible image, for example on display 18 , and the use of equations EQ4 and EQ5 is terminated.
  • the maximum regret value MR(x 2 ) is greater than the new approximation value ⁇ 2 of minimax regret
  • another instance of set Gen is generated by including adversarial allocation x 2 ′ and adversarial weight vector w 2 in union with the adversarial allocation(s) and adversarial weight vector(s) included in the current instance of set Gen.
  • Equations EQ4 and EQ5 can then be reexecuted again to determine another new candidate allocation x 3 , another new approximate value ⁇ 3 of minimax regret, another new maximum regret MR(x 3 ), another new adversarial allocation x 3 ′ and another new adversarial weight vector w 3 .
  • equations EQ4 and EQ5 can then be terminated.
  • the iterative use of equations EQ4 and EQ5 can be terminated after some predetermined number of solution cycles of equations EQ4 and EQ5 or when the difference between the current maximum regret value MR(x) and the current approximation value ⁇ of minimax regret for a particular solution cycle of equations EQ4 and EQ5 is within a predetermined value.
  • equations EQ4 and EQ5 instead of using the combination of equations EQ4 and EQ5, the combination of equation EQ4 with the following equations EQ6 and EQ7 can be utilized.
  • equations EQ6 and EQ7 instead of using equation EQ5 to determine the maximum regret value MR(x) of candidate allocation x, equations EQ6 and EQ7 can be utilized to determine the maximum regret value MR(x) of candidate allocation x as follows:
  • an arbitrary feasible weight vector i.e., any w 1 , that satisfies the set of linear constraints in C is selected and utilized to solve equation EQ6 (The “1” in “w 1 ” means that w 1 is the first weight vector. It has j components ⁇ w 1 1 , w 2 1 , . . . w j 1 ⁇ ).
  • Equation EQ6 is a standard linear integer program that can be solved using a well know and commercial available LP solver, such as the CPLEX optimizing software.
  • the solution to equation EQ6 generates an adversarial allocation x 1 ′ as well as an approximation ⁇ 1 of the maximum regret of x.
  • equation EQ7 is a standard linear program that can be solved using a well know and commercial available LP solver, such as the CPLEX optimizing software.
  • the following algorithm illustrates in detail the steps utilized for determining the minimax regret ⁇ of candidate allocation x utilizing equation EQ4 in combination with equations EQ6 and EQ7.
  • the steps are executed consecutively.
  • equation EQ5 the loops representing equations EQ6 and EQ7 can be replaced by equation EQ5.
  • the present invention also includes an alternate method to solve equation EQ3, which is especially useful when the number of features f i is small.
  • This alternate method removes the alternation between equations EQ4 and EQ5 (or equation EQ4 and equations EQ6 and EQ7) described above by generating the entire set of adversarial allocations—weight vectors, e.g., ⁇ x 1 ,w>, in Gen before solving equation EQ4 the first time; that is, without the use of a candidate allocation x.
  • each feature's f i weight bounds (w ⁇ and w ⁇ ) in combination with the linear constraints in set C define a convex polytope in j dimensions, which can be thought of as the feasible utility space.
  • Each point in this polytope corresponds to a feasible weight vector w k .
  • any adversarial weight vector w n that could be chosen as part of a solution to equation EQ5 must lie at an extreme point of this polytope.
  • Equation EQ4 can be solved one time.
  • the allocation x will be designated as the desirable allocation, and ⁇ will be the minimax regret value of allocation x.
  • a maximum regret value MR(x) is not greater than a minimax regret value ⁇
  • the buyer is not satisfied with either the value of the maximum regret MR(x) or the corresponding candidate allocation x
  • the buyer may, if he wishes, increase the lower bound weight value and/or decrease the upper bound weight value of at least one feature f i thereby reducing the range of values therebetween.
  • Reducing the range of values between an upper bound weight value and a lower bound weight value essentially further constrains the solution of maximum regret MR(x), whereupon the maximum regret value MR(x) that is not greater than the corresponding minimax regret value ⁇ will be no more than, and often less than, the maximum regret value MR(x) that was determined before further constraining the range of weight values.
  • the weight value w i for each feature f i that maximizes the maximum regret value MR(x) can be made available to the buyer to facilitate the buyer making an informed decision regarding which feature(s) to reduce the range of weight values for the next usage thereof to determine the minimax regret value ⁇ .
  • a buyer evaluating weight values selected by the optimizing software to maximize the regret value MR(x) for candidate allocation x may arbitrarily decide that narrowing the range of weight values of feature f i , e.g., supplier quality, is the best choice for increasing the buyer's utility, whereupon the buyer's minimax regret ⁇ decreases the next time it is determined.
  • the buyer can elect to reduce the range of weight values for more than one feature f i if desired.
  • the candidate allocation x and the last adversarial allocation x′ included in Gen that can be used for this comparison can be the ones that resulted in proving that the maximum regret value of MR(x) is not greater than the minimax regret value of ⁇ .
  • the buyer's selection of one of these allocations over the other can be coded as a constraint which is included in the constraints that the optimizing software utilizes to determine the next value of maximum regret MR(x) and the next value of minimax regret ⁇ the next time they are determined.
  • a constraint can be coded to express the buyer's preference that candidate allocation x is preferred (>) over a last adversarial allocation x′ included in Gen, or vise versa.
  • allocations that can be compared, selected and coded into constraints include, without limitation: infeasible allocations and arbitrary feasible allocations. It is envisioned that the buyer can pair-wise compare any combination of candidate allocation(s) (either the solution candidate allocation or an intermediate candidate allocation), adversarial allocation(s) x′ (either the solution candidate allocation or an intermediate candidate allocation), infeasible allocation(s) and/or arbitrary feasible allocation(s). The buyer's preferential selection of one of the allocations of each pair of allocations over the other can then be coded into a corresponding constraint that the optimizing software can utilize. Hence, the specific pair-wise comparisons of any pair of allocations and the coding described above are not to be construed as limiting the invention.
  • the present invention enables the buyer in a combinatorial auction or exchange to randomly or systematically determine the allocation that, in the worst case, is within a range of an optimal allocation for a range of values assigned to each feature of interest to the buyer.
  • an allocation can be identified that can be guaranteed to be within a range of the optimal allocation.

Abstract

A desirable allocation of bids in a combinatorial exchange can be selected by determining a first candidate allocation of the bids and a first value of a minimax regret, related to the difference in utility between the adversarial allocation and the candidate allocation, as a function of a first adversarial allocation of the bids. Based on the first candidate allocation, a second adversarial allocation of the bids and a first value of a maximum regret related to the difference in utility between the new adversarial allocation and the utility of the candidate allocation can be determined. When the value of the maximum regret is greater than the value of the minimax regret, the candidate allocation can be designated as the desirable allocation.

Description

CROSS REFERENCE TO RELATED APPLICATION
This application claims the benefit of U.S. Provisional Application Ser. No. 60/547,266, filed Feb. 24, 2004, entitled “Automated Scenario Navigation In Combinatorial Exchanges” the contents of which are hereby incorporated by reference.
FIELD OF THE INVENTION
The present invention relates to determining a good or optimal allocation in a combinatorial exchange where the bid taker has preferences for non-prices attributes.
DESCRIPTION OF RELATED ART
Combinatorial auctions generalize traditional market mechanisms to allow the direct specification of bids over bundles of items together with various types of side constraints. This form of expressive bidding is extremely useful when a bidder's valuation for collections of items—or bidder's costs in revenue allocations—exhibit complex structure. The problem of winner determination, namely, determining a cost or revenue optimal allocation of items given a collection of expressive bids, has been widely studied. While winner determination algorithms have been designed to find optimal allocations with respect to cost and revenue, in many settings, features other than cost also play a role in accessing the quality of an allocation. For example, in a procurement auction, also known as a reverse auction, the bid taker may be concerned with the number of suppliers awarded business, the percentage of business awarded to a specific supplier, the average delivery-on-time rating of awarded business, and any of a number of other factors that can be tradeoff against cost. Most algorithms can be adapted to deal with such features, if, say, tradeoff weights are made explicit and incorporated into the objective function. However, most bid takers are unable or unwilling to articulate such precise tradeoffs.
One way to deal with this is to allow users to generate a collection of allocations by imposing various constraints on these features, e.g., limiting the number of suppliers to five, and examining the implications on the optimal allocation, e.g., how cost changes, by rerunning winner determination. When this process ends, the user chooses one of the generated allocations as making the right tradeoffs between costs and the relevant non-price attributes. Unfortunately, this manual process of scenario navigation does nothing to ensure sufficient or efficient exploration of allocations or tradeoff space.
It would therefore be desirable to overcome the above problems and others by providing a method of scenario navigation that enables an allocation to be identified that can be guaranteed to be within a predetermined range of an optimal allocation. Still other advantages of the present invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description.
SUMMARY OF THE INVENTION
The invention is a method of selecting a desirable allocation of bids in a combinatorial exchange setting. The method includes (a) providing a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities; (b) selecting an adversarial allocation of the bids; (c) determining as a function of the adversarial allocation of the bids (1) a candidate allocation of the bids and (2) a value of a minimax regret related to a utility associated with the adversarial allocation minus a utility associated with the candidate allocation; (d) determining as a function of the candidate allocation (1) a new adversarial allocation of the bids and (2) a value of a maximum regret related to a utility associated with the new adversarial allocation minus a utility associated with the candidate allocation; (e) if the current value of the maximum regret is greater than the current value of the minimax regret, determining as a function of the adversarial allocation(s) (1) a new candidate allocation of the bids and (2) a new value of minimax regret related to a utility associated with the adversarial allocations minus a utility associated with the new candidate allocation; (f) determining as a function of the new candidate allocation (1) a new adversarial allocation of the bids and (2) a new value of maximum regret related to a utility associated with the new adversarial allocation minus a utility associated with the candidate allocations; and (g) repeating steps (e) and (f) until the current value of maximum regret is not greater than the current value of minimax regret.
Step (a) can further include associating initial bounds to at least one feature of the exchange. Each utility a measure of the usefulness of the corresponding allocation(s) to a buyer. Each utility is comprised of a value associated with at least one feature of the allocations over which the buyer has some preference. Each utility is comprised of a sum of a plurality of values associated with a like plurality of features of the corresponding allocation(s) over which the buyer has some preference.
The method can further include (h) determining at least one constraint for at least one pair of allocations; and (i) repeating steps (b)-(g) subject to the one constraint. The allocations can be candidate allocations.
Alternatively, the method can further include (h) amending at least one value associated with at least one feature; and (i) repeating steps (b)-(g).
The invention is also an apparatus for selecting a desirable allocation of bids in a combinatorial exchange. The apparatus includes means for receiving a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities and means for forming a first adversarial allocation of the bids. Means can be provided for determining as a function of the first adversarial allocation of the bids (1) a first candidate allocation of the bids and (2) a first value of a minimax regret related to a difference between a utility associated with the adversarial allocation and a utility associated with the candidate allocation. Means can also be provided for determining as a function of the first candidate allocation (1) a second adversarial allocation of the bids and (2) a first value of a maximum regret related to a difference between a utility associated with the new adversarial allocation and a utility associated with the candidate allocation. Lastly, the apparatus includes means for producing a visually perceptible image of the first candidate allocation as the desirable allocation when the first value of the maximum regret is not greater than the first value of the minimax regret.
The apparatus can further include means for associating initial bounds to at least one feature of the exchange.
When the first value of the maximum regret is not greater than the first value of the minimax regret, the apparatus can further include means for determining as a function of the first adversarial allocation and the second adversarial allocation (1) a second candidate allocation of the bids and (2) a second value of minimax regret related to a difference between a utility associated with the first and second adversarial allocations, and a utility associated with the second candidate allocation; and means for determining as a function of the second candidate allocation (1) a third adversarial allocation of the bids and (2) a second value of maximum regret related to a difference between a utility associated with the third adversarial allocation and a utility associated with the second candidate allocation. Means can be provided for designating the second candidate allocation as the desirable allocation when the second value of the maximum regret is not greater than the second value of the minimax regret.
The apparatus can further include means for determining at least one constraint based on the selection of one at least one pair of allocations, wherein (1) the third adversarial allocation of the bids and (2) the second value of the maximum regret are determined subject to the one constraint.
The apparatus can further include means for determining as a function of at least one adversarial allocation a plurality of feasible allocations and means for determining at least one constraint based on at least one pair of allocations, wherein (1) at least one of the adversarial allocations of the bids and (2) one of the values of maximum regret are determined subject to the one constraint.
The visually perceptible image can be produced by one of a video monitor and a printer.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustration of a computer system which implements computer software which embodies the present the invention;
FIG. 2 is a diagrammatic illustration of an exemplary bid in a combinatorial exchange;
FIG. 3 is a flow diagram of a method of utilizing the below listed equations EQ1 and EQ2 in accordance with the present invention; and
FIG. 4 is a chart showing the inputs to and outputs from the below listed equations EQ1 and EQ2 for a number of solution cycles of equations EQ1 and EQ2.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is generally directed to a method of selecting a desirable allocation of bids in a combinatorial exchange, such as a combinatorial forward auction, a combinatorial reverse auction, or a pure combinatorial exchange, and, more particularly, to a method of selecting an allocation that is within a desired range of an optimal allocation.
With reference to FIG. 1, the present invention is embodied in computer-readable program code which executes on one or more computer systems 2. Each computer system 2 includes a microprocessor 4, a computer storage 6 and an input/output system 8. Each computer system 2 can also include a media drive 10, such as a disk drive, CD ROM drive, and the like. Media drive 10 can be operated under the control of the computer-readable program code that resides in a computer-usable storage medium 12. The computer-readable program code is able to configure and operate computer system 2 in a manner to implement the present invention. Input/output system 8 can include a keyboard 14, a mouse 16 and/or a display means 18, such as a video monitor, a printer or any other means for producing a visually perceptible image. Computer system 2 is exemplary of computer system(s) capable of executing the computer-readable program code of the present invention and is not to be construed as limiting the invention.
With reference to FIG. 2 and with continuing reference to FIG. 1, an exemplary bid 20 that can be input into computer system 2 for processing under the control of the computer-readable program code includes one or more items or goods 22-1, 22-2, 22-3 . . . 22-N having associated quantities 24-1, 24-2, 24-3 . . . 24-N, respectively, and an associated bid price 26.
In order to understand the present invention, it will be first necessary to understand the concept of “regret” and, more particularly, to understand the concepts of “maximum regret” and “minimax regret”. A simple example will help illustrate these concepts.
Suppose a buyer in a reverse auction is trying to decide which of three bids, Bid 1, Bid 2 and Bid 3, to accept. In this example, it is assumed there is only one buyer.
In order to make a decision, the buyer either consciously or unconsciously weights each bid based on the buyers “utility” for one or more features associated with one or more of the bids, wherein the buyer has some preference over each feature. Exemplary features that the buyer may have some preference over that the buyer wishes to associate a utility value with can include, without limitation, minimum price, a maximum number of suppliers, a cost of transporting the item(s) associated with each bid, a quality rating of the bidder, and the like.
Suppose as a result of evaluating all the features of interest to the buyer, the buyer associates a utility value of 4 with Bid 1; a utility value of 6 with Bid 2; and a utility value of 2 with Bid 3.
In an auction setting, the buyer desirably maximizes his utility. This maximum utility is represented by the utility value having the largest value associated with Bid 1, Bid 2 or Bid 3. In the present example, Bid 2 has the largest utility value, i.e., 6, meaning that the buyer believes Bid 2 has the greatest utility. Hence, in this example, the buyer would choose Bid 2.
Often, however, the buyer's determination of utility, as represented by the utility value associated with each bid, is not so straightforward. To this end, a buyer's utility for a particular bid may involve a number of competing tradeoffs. For example, as the price of a bid decreases, the buyer's utility value assigned by the buyer to the bid increases which can compensate for a lower feature value of the supplier's quality rating.
Accordingly, in practice, each bid in the present example will typically have a range of utilities, represented by a range of utility values associated with the bid. For example, suppose that the buyer in our example associates with each bid a range of utility values, wherein a lower utility value represents a lower bound on said range and an upper utility value represents an upper bound on said range. For example, suppose the bidder associates the range of utility values between 4 and 5 with Bid 1; the range of utility values between 2 and 6 with Bid 2; and the range of utility values between 1 and 4 with Bid 3. The range of utilities values for each bid represents the buyer's imprecise knowledge regarding the buyer's actual utility for the bid.
Now, suppose the bidder picks Bid 3 but, had he known his actual utility for all 3 bids would have picked Bid 2. In the worst case, the bidder would “regret” this decision by five (5) utility points, i.e., the upper bound utility value of 6 of Bid 2 minus the lower bound utility value 1 of Bid 3. The utility value of five (5) represents the “maximum regret” between Bid 3 and Bid 2.
Now, suppose the bidder picks Bid 3 but, had he known his actual utility for all 3 bids would have picked Bid 1 instead of Bid 3. In this case, the maximum the bidder would regret choosing Bid 3 instead of Bid 1 would be four (4) weight points, i.e., the upper bound utility value 5 of Bid 1 minus the lower bound utility value of 1 of Bid 3. The utility value of four (4) represents the “maximum regret” between Bid 3 and Bid 1.
The maximum regret for each pair of Bid 1, Bid 2 and Bid 3 for the range of utility values discussed above can be determined as follows:
  • 1. If the buyer picks Bid 1, but had he known his actual utility for all 3 bids would have picked Bid 2, the maximum regret equals 6−4=2 utility points (where 6 is the upper bound utility value of Bid 2 and 4 is the lower bound utility value of Bid 1);
  • 2. If the buyer picks Bid 1, but had he known his actual utility for all 3 bids would have picked Bid 3, the maximum regret equals 4−4=0 utility points (where 4 is the upper bound utility value of Bid 3 and 4 is the lower bound utility value of Bid 1);
  • 3. If the buyer picks Bid 2, but had he known his actual utility for all 3 bids would have picked Bid 1, the maximum regret equals 5−2=3 utility points (where 5 is the upper bound utility value of Bid 1 and 2 is the lower bound utility value of Bid 2);
  • 4. If the buyer picks Bid 2, but had he known his actual utility for all 3 bids would have picked Bid 3, the maximum regret equals 4−2=2 utility points (where 4 is the upper bound utility value of Bid 3 and 2 is the lower bound utility value of Bid 2);
  • 5. If the buyer picks Bid 3, but had he known his actual utility for all 3 bids would have picked Bid 1, the maximum regret equals 5−1=4 utility points (where 5 is the upper bound utility value of Bid 1 and 1 is the lower bound utility value of Bid 3); and
  • 6. If the buyer picks Bid 3, but had he known his actual utility for all 3 bids would have picked Bid 2, the maximum regret equals 6−1=5 utility points (where 6 is the upper bound utility value of Bid 2 and 1 is the lower bound utility value of Bid 3).
The buyer not wanting to make a bad decision evaluates the worst case scenarios for each of his options as follows:
1. If the buyer picks Bid 1, his “maximum regret” is 2 utility points;
2. If the buyer picks Bid 2, his “maximum regret” is 3 utility points; and
3. If the buyer picks Bid 3, his “maximum regret” is 5 utility points.
In this example, the buyer would logically choose Bid 1 because Bid 1 has the minimum-maximum regret, or so-called “minimax regret”, associated therewith. Stated differently, Bid 1 is said to be the bid with optimal “minimax regret” and 2 is its maximum regret.
In the foregoing example, a single range of utility values was associated with each bid. In this case, the range of utility values associated with each bid may have been related to the price of the bid. If desired, however, a plurality of utility value ranges can be associated with each bid, with each utility value range related to a different feature over which the buyer has some preference. Moreover, each bid in the foregoing example can be replaced with an allocation of bids that would be more common in a combinatorial type auction. Thus, for example, Bid 1 could be replaced with a first allocation of bids, wherein said first allocation includes one or more bids of the type shown in FIG. 2. Similarly, Bids 2 and 3 can be replaced with second and third allocations, respectively. Thereafter, the concepts of “maximum regret” and “minimax regret” can be applied to pairs of allocations in the same manner as they are applied to pairs of bids in the foregoing example.
Having described the concepts of “maximum regret” and “minimax regret” the invention will now be described with reference to the following equations EQ1 and EQ2 which can be solved utilizing well know and commercially available software, such as the CPLEX optimizing software available from ILOG, Inc., 1080 Linda Vista Avenue, Mountainview, Calif. 94043. Each of equations EQ1 and EQ2 is solved subject to the constraints listed below the respective equation.
EQ 1 : min x X δ such that δ i = 1 j { w i [ f i ( x ) A i + [ x ] - F i + [ x ] ] + w i [ f i ( x ) A i - [ x ] - F i - [ x ] ] } - c ( x ) + c ( x ) x Gen k
where
  • X=set of all feasible allocations;
  • j=number of features of interest;
  • x′=adversarial allocation;
  • x=candidate allocation;
  • δ=approximation of minimax regret for x′;
  • Genk={x1′,x2′, . . . xk′} for some set of feasible allocation(s) x′;
  • fi=a feature over which a buyer has some preference, e.g., number of winners, supplier quality rating, price, etc.;
  • c=actual cost (sum of the prices (P) of the bids included in the corresponding allocation);
  • Ai +[x′]=a Boolean variable for each feature fi and each adversarial allocation x′ contained in Genk. Denotes that fi(x′)>fi(x);
  • Ai [x′]=a Boolean variable for each feature fi and each adversarial allocation x′ contained in Genk. Denotes that fi(x′)<fi(x);
  • Fi +[x]=a variable (one per x′ in Genk) that takes on the value of fi(x) if Ai +[x′] is true, otherwise it takes on the value of 0;
  • Fi [x]=a variable (one per x′ in Genk) that takes on the value of fi(x) if Ai [x′] is true, otherwise it takes on the value of 0;
  • wi↑=upper bound utility value of feature fi;
  • wi↓=lower bound utility value of feature fi;
  • ui=a constant that limits the maximum value feature fi can take on in any feasible allocation; and
  • mi=a constant that limits the maximum difference between any two distinct values of feature fi among feasible allocations.
    The following constraints are imposed to ensure that the foregoing variables in EQ1 have their desired meaning:
  • fi(x)−fi(x′)≦mi(1−Ai +[x′]), for all fi,x′ in Genk;
  • fi(x′)−fi(x)≦mi(1−Ai [x′]), for all fi,x′ in Genk;
  • Ai +[x′]+Ai [x′]=1, for all i, x′;
  • Fi +[x]≦uiAi +[x′] and Fi +≦fi(x), for all fi,x′ in Genk; and
  • Fi [x]≦uiAi [x′] and Fi ≦fi(x), for all fi,x′ in Genk.
EQ 2 : MR ( x ) = max x X i = 1 j { w i [ G i + - f i ( x ) B i + ] + w i [ G i - - f i ( x ) B i - ] } - c ( x ) + c ( x )
where
  • X=set of all feasible allocations;
  • j=number of features of interest;
  • MR(x)=maximum regret of candidate allocation x;
  • x′=new adversarial allocation;
  • x=candidate allocation;
  • c=actual cost (sum of the prices (P) of the bids included in the corresponding allocation);
  • fi=a feature over which a buyer has some preference, e.g., number of winners, supplier quality rating, price, etc.;
  • Bi +=a Boolean variable (one per feature fi) indicating that fi(X)>fi(x);
  • Bi =a Boolean variable (one per feature fi) indicating that fi(X)<fi(x);
  • Gi +=a variable that takes on the value fi(X) if Bi + is true, otherwise it takes on the value 0;
  • Gi =a variable that takes on the value fi(X) if Bi is true, otherwise it takes on the value 0;
  • wi↑=upper bound utility value of feature fi;
  • wi↓=lower bound utility value of feature fi;
  • ui=a constant that limits the maximum value feature fi can take on in any feasible allocation; and
  • mi=a constant that limits the maximum difference between any two distinct values of feature fi among feasible allocations.
    The following constraints are imposed to ensure that the foregoing variables in EQ2 have their desired meaning:
  • fi(x′)−fi(x)≦mi(1−Bi +) for each feature fi: this ensures that if feature fi has a greater value in the adversary's allocation X than in allocation x, then Bi =0;
  • fi(x)−fi(x′)≦mi(1−Bi ) for each feature fi: this ensures that if feature fi has a greater value in allocation x than in the adversary's allocation X, then Bi +=0;
  • Bi +Bi ≦1: this ensures that exactly one of variables Bi ++Bi holds (this can be an equality);
  • Gi +≦uiBi + and Gi +≦fi(x′) for each feature fi: these ensure that Gi + is 0 if the adversary's value for feature fi is less than mine, and is equal to the adversary's value for fi if it is greater than mine; and
  • Gi ≦uiBi and Gi ≦fi(x′) for each feature fi: these ensure that Gi is 0 if the adversary's value for feature fi is less than mine, and is equal to the adversary's value for fi if it is greater than mine.
With reference to the flow diagram of FIG. 3 and the chart of FIG. 4, the use of equations EQ1 and EQ2 will now be described.
Initially, in step 100 of the flow diagram of FIG. 3, Genk, representing a set of arbitrary feasible allocations, is instantiated with one or more adversarial allocations. In other words, in step 100, one or more initial adversarial allocation(s) are selected and included in Genk. For the purpose of describing the present invention, Genk will be described as initially including a single adversarial allocation x1′, i.e., Gen1={x1′} and k is assigned an initial value equal to the number of adversarial allocations included in Genk, in this case k=1. However, this is not to be construed as limiting the invention since Genk can initially include 2 or more adversarial allocations and the initial value of k can track the number of adversarial allocations initially included in Genk.
Next, in step 102, equation EQ1 is solved for the set of adversarial allocation(s) in Gen1 to determine a minimax regret value δ1 and a candidate allocation x1. In step 104, the thus determined candidate allocation x1 is substituted for x in equation EQ2 which is solved to determine a maximum regret value MR(x1) and a new adversarial allocation x(k+1)′, i.e., x2′. This completes a first cycle of solving equations and EQ1 and EQ2. The inputs into and outputs from equations EQ1 and EQ2 for this first cycle are shown in FIG. 4.
In step 106, a determination is made whether the maximum regret value MR(x1) is greater than the minimax regret value δ1, i.e., MR(x1)>δ1. If not, the maximum regret value MR(x1) is deemed to be the optimal minimax regret value and the method of FIG. 3 advances to step 108, wherein a visually perceptible image of at least candidate allocation x1 is produced, for example on display 18. The use of equations EQ1 and EQ2 is then terminated and candidate allocation x1 is deemed to be the allocation that optimal with respect to maximum regret.
However, if the maximum regret value MR(x1) is greater than the minimax regret value δ1, step 110 is executed wherein the new adversarial allocation x2′ is included in union with Gen1 to define Gen2, whereupon Gen2={x1′, x2′}.
Step 102 is then reexecuted wherein equation EQ1 is solved for the set of adversarial allocation(s) in Gen2. Solving equation EQ1 for adversarial allocations x1′ and x2′ yields a new minimax regret value δ2 and a new candidate allocation x2.
In step 104, candidate allocation x2 is substituted for x in equation EQ2 and a new maximum regret value MR(x2) is determined for this candidate allocation x2 along with a new adversarial allocation x(k+1)′ or x3′. This concludes the second cycle of equations EQ1 and EQ2 as shown in FIG. 4.
In step 106, if the maximum regret value of MR(x2) is not greater than the minimax regret value of δ2, the use of equations EQ1 and EQ2 is terminated and step 108 is executed since the maximum regret value of MR(x2) is deemed to be the optimal minimax regret and candidate allocation x2 is deemed to be the allocation that is optimal with respect to maximum regret.
However, if the maximum regret value of MR(x2) is greater than the minimax regret value of δ2, in step 110, adversarial allocation x3′ is included in union with Gen2 to define Gen3, whereupon Gen3={x1′, x2′, x3′}.
Step 102 is than reexecuted wherein equation EQ1 is solved for each adversarial allocation in Gen3 to determine a new minimax regret value δ3 and a new candidate allocation x3. In step 104, candidate allocation x3 is then substituted for x in equation EQ2 which is solved to determine a new maximum regret value MR(x3) and a new adversarial allocation x(k+1)′ or x4′. This concludes the third cycle of equations EQ1 and EQ2 as shown in FIG. 4.
In step 106, an evaluation is made to determine if the maximum regret value MR(x3) is greater than the minimax regret value δ3. If not, the maximum regret value MR(x3) is deemed to be the optimal minimax regret value, candidate allocation x3 is deemed to be the allocation that optimal with respect to maximum regret, and the method advances to step 108. Otherwise, step 110 and steps 102-108 of the flow diagram of FIG. 3 are repeated, as necessary, for additional cycles of equations EQ1 and EQ2 until the maximum regret value MR(x) of one of the cycles is not greater than the minimax regret value δ in said cycle. Alternatively, the steps of the flow diagram of FIG. 3 can terminated after some number of cycles of equations EQ1 and EQ2 or when the difference between the maximum regret value MR(x) and the minimax regret value δ for a particular cycle is within a predetermined value.
A precondition to utilizing equations EQ1 and EQ2 is the assignment of a unique upper bound weight value (wi↑) to each feature fi and a unique lower bound weight value (wi↓) to each feature fi. Thus, each feature fi of the allocation over which a buyer has some preference, e.g., number of winners, supplier quality rating, price, and the like, has a unique upper bound value and a unique lower bound value associated therewith by the buyer. Thus, the solutions of equations EQ1 and EQ2 are contingent upon the upper and lower bound weight values assigned to each feature over which the buyer has some preference as is the determination of values for minimax regret (δ) and maximum regret MR(x).
In many circumstances, more general constraints on the weight values wi are present, for example, general linear constraints. For example, suppose that the buyer had expressed a preference for allocation x1 over allocation x2. Furthermore, suppose that the buyer cared about two allocation features f1 and f2, e.g., number of winners and average supplier quality rating. Finally, suppose that allocation x1 has feature values 10 and 7 for f1 and f2, respectively, and a total price of $1000; and allocation x2 has feature values 6 and 8 for f1 and f2, respectively, and a total price of $1200. The fact that the buyer prefers x1 to x2 implies that the weights values w1 and w2 representing the buyer's utility for different allocations must satisfy the inequality:
10w 1+7w 2−$1000>6w 1+8w 2−$1200
General linear constraints of this form can be generated by the buyer expressing such allocation preferences, though such constraints may be obtained in other ways. The method described above in connection with equations EQ1 and EQ2 works only when the constraints on weight values take the form of upper and lower bounds. The present invention, however, can also determine a minimax optimal allocation value δ when these more general linear constraints hold. This will now be described.
Suppose a set C of linear constraints is provided (including, but not limited to, upper and lower bounds) on the weights wi. The allocation x with minimax regret can be determined from following equation EQ3, which is the general form of equations EQ1 and EQ2:
EQ 3 : min x X max w W , x X i = 1 j { w i [ f i ( x ) - f i ( x ) ] - c ( x ) + c ( x ) }
where
  • X is the set of all feasible allocations;
  • W is the set of all feasible weight vectors (those weights satisfying the constraints in set C);
  • c is the actual cost of an allocation;
  • fi is a feature over which the buyer has some preference.
  • x′ is an adversarial allocation;
  • x is a candidate allocation; and
  • j is the number of features of interest;
The following equations EQ4 and EQ5 can be used when additional information besides features weights is available for at least one feature fi to solve EQ3. Specifically, equation EQ4 can be solved to obtain a candidate allocation x while equation EQ5 can be solved to generate a new “pair” of an adversarial allocation and adversarial weight vector, i.e., {xk′, wk}.
EQ 4 : min x X δ such that δ i = 1 j { w i [ f i ( x ) - f i ( x ) ] - c ( x ) + c ( x ) } for all pairs < x , w > in Gen k
where
  • Genk is a collection of k pairs of adversarial allocation(s) and adversarial weight vector(s), i.e., {<x1′, w1>; <x2′, w2>; . . . <xk′, wk>};
  • x′ is an adversarial allocation;
  • x is a candidate allocation;
  • X is the set of all feasible allocations;
  • wk is a weight vector comprising j weight values w1 k, w2 k, . . . wj k;
  • δ is an approximation of the minimax regret for x;
  • j is the number of features of interest;
  • c is the actual cost of an allocation; and
  • fi is a feature over which the buyer has some preference.
    Equation EQ4 is solved at the kth iteration with Genk containing k {xk′, wk} pairs. The output of EQ4 is a candidate allocation x1 and a value δ1 that approximates minimax regret.
Given candidate allocation x1, its maximum regret MR(x1) can be found by solving the following equation EQ5 for x1:
EQ 5 : MR ( x ) = max w W , x X i = 1 j { w i [ f i ( x ) - f i ( x ) ] - c ( x ) + c ( x ) } ;
subject to the set of linear constraints in C.
In equation EQ5, weights wi and adversarial allocation x′ are variables. Equation EQ5 is a standard quadratic integer program with a quadratic objective and linear constraints and can be solved directly to obtain a value for maximum regret MR(x1), a new adversarial allocation x1′ and a new adversarial weight vector w1 using well know and commercially available software, such as the CPLEX optimizing software.
If the thus determined maximum regret value MR(x1) is not greater than the approximation value δ1 of minimax regret, the maximum regret value MR(x1) is deemed to the optimal minimax regret value, x1 is deemed to be the desired allocation which is output as a visually perceptible image, for example on display 18, and the use of equations EQ4 and EQ5 is terminated. However, if the maximum regret value MR(x1) is greater than the approximate value δ1 of minimax regret, the new adversarial allocation x1′ and the new adversarial weight vector w1 are included in the current instance of set Gen (i.e., x1′ and w1 are included in union with the adversarial allocation(s) and adversarial weight vector(s) already included in the set Gen) thereby forming a new instance of set Gen.
Given this new instance of set Gen, equations EQ4 and EQ5 can be reexecuted in the foregoing manner to determine a new candidate allocation x2, a new approximation value δ2 of minimax regret, a new maximum regret MR(x2), a new adversarial allocation x2′ and a new adversarial weight vector w2.
If the thus determined maximum regret value MR(x2) is not greater than the approximation value δ2 of minimax regret, the maximum regret value MR(x2) is deemed to the optimal minimax regret value, x2 is deemed to be the desired allocation which is output as a visually perceptible image, for example on display 18, and the use of equations EQ4 and EQ5 is terminated. However, if the maximum regret value MR(x2) is greater than the new approximation value δ2 of minimax regret, another instance of set Gen is generated by including adversarial allocation x2′ and adversarial weight vector w2 in union with the adversarial allocation(s) and adversarial weight vector(s) included in the current instance of set Gen. Equations EQ4 and EQ5 can then be reexecuted again to determine another new candidate allocation x3, another new approximate value δ3 of minimax regret, another new maximum regret MR(x3), another new adversarial allocation x3′ and another new adversarial weight vector w3.
The foregoing process of determining if the current maximum regret value MR(x) is not (or is) greater than the current approximation value δ of minimax regret, and the use of equations EQ4 and EQ5, as necessary, to determine additional candidate allocation(s) x, additional approximation value(s) δ of minimax regret, additional maximum regret value(s) MR(x), additional adversarial allocation(s) x′ and additional weight vector(s) w can be repeated iteratively in the foregoing manner until a current maximum regret value MR(x) is determined not to be greater than the current approximation value δ of minimax regret, whereupon the current candidate allocation can be output as a visually perceptible image, for example on display 18. The use of equations EQ4 and EQ5 can then be terminated. Alternatively, the iterative use of equations EQ4 and EQ5 can be terminated after some predetermined number of solution cycles of equations EQ4 and EQ5 or when the difference between the current maximum regret value MR(x) and the current approximation value δ of minimax regret for a particular solution cycle of equations EQ4 and EQ5 is within a predetermined value.
Alternatively, instead of using the combination of equations EQ4 and EQ5, the combination of equation EQ4 with the following equations EQ6 and EQ7 can be utilized. In other words, instead of using equation EQ5 to determine the maximum regret value MR(x) of candidate allocation x, equations EQ6 and EQ7 can be utilized to determine the maximum regret value MR(x) of candidate allocation x as follows:
Initially, an arbitrary feasible weight vector, i.e., any w1, that satisfies the set of linear constraints in C is selected and utilized to solve equation EQ6 (The “1” in “w1” means that w1 is the first weight vector. It has j components {w1 1, w2 1, . . . wj 1}).
EQ 6 : γ = max x X i = 1 j { w i 1 [ f i ( x ) - f i ( x ) ] - c ( x ) + c ( x ) } ;
Since the weights {w1 1, w2 1, . . . wj 1} in equation EQ6 are constants—not variables, EQ6 is a standard linear integer program that can be solved using a well know and commercial available LP solver, such as the CPLEX optimizing software. The solution to equation EQ6 generates an adversarial allocation x1′ as well as an approximation γ1 of the maximum regret of x. This adversarial allocation x1′ is substituted for adversarial allocation x′ in the following equation EQ7 which is solved, subject to the set of linear constraints in C, to yield a weight vector w2={w1 2, w2 2, . . . wj 2} as well as an approximation β of the maximum regret of x.
EQ 7 : β = max w W i = 1 j { w i [ f i ( x ) - f i ( x ) ] - c ( x ) + c ( x ) } ;
Since adversarial allocation x′ in equation EQ7 is a constant—not a variable, equation EQ7 is a standard linear program that can be solved using a well know and commercial available LP solver, such as the CPLEX optimizing software.
If the current value of β (the approximation of maximum regret) produced by the solution of equation EQ7 is equal to the current value of γ (the approximation of minimax regret for x) produced by the solution of equation EQ6, the current value of β is deemed to be the maximum regret MR(x) of candidate allocation x. However, if the current value of β is greater than the current value of γ, equation EQ6 is reexecuted using weight vector w2 substituted for weight vector w1.
Solving equation EQ6 using weight vector w2 yields an adversarial allocation x2′ and a new value for γ. If this new value of γ equals (=) the previous approximation of β, β is deemed to be the maximum regret MR(x) of candidate allocation x. If the new value of γ is greater than (>) the previous approximation of β, x2′ is used as the input to equation EQ7 and equation EQ7 is executed.
This process of iteratively using equation EQ6 and EQ7 continues until the current value of γ equals (=) either the current value of β or the previous value of β, whereupon the value of β that solves this equality is deemed to be the maximum regret MR(x) of candidate allocation x, and xn′ and wn are deemed to be the adversarial allocation and adversarial weight vector, respectively.
The following algorithm illustrates in detail the steps utilized for determining the minimax regret δ of candidate allocation x utilizing equation EQ4 in combination with equations EQ6 and EQ7. In the following algorithm, unless otherwise instructed by a “goto” instruction, the steps are executed consecutively.
Algorithm:
    • Step 1. Set k=1.
    • Step 2. Select an initial adversarial allocation x1′ and adversarial weight vector w1. Initialize the collection Genk of adversarial allocation-weight vector pairs to contain the single pair <x1′, w1>.
    • Step 3. Input the collection Genk into equation EQ4, and solve equation EQ4 to produce a minimax regret value δk and candidate allocation xk.
    • Step 4. Set n=1.
    • Step 5. Set temporary adversarial weight vector wn to be an arbitrary feasible weight vector (any vector satisfying the linear constraints contained in set C).
    • Step 6. Input candidate allocation xk and temporary adversarial weight vector wn into equation EQ6, and solve equation EQ6 to produce a maximum regret value γn and temporary adversarial allocation xn′.
    • Step 7. Input candidate allocation xk and temporary adversarial allocation xn′ into equation EQ7, and solve equation EQ7 to produce a maximum regret value βn and new temporary adversarial weight vector wn+1).
    • Step 8. If βnn, set temporary adversarial allocation x(n+1)′=xn′, then goto Step 11. Otherwise if βnn, goto Step 9.
    • Step 9. Input candidate allocation xk and temporary adversarial weight vector w(n+1) into equation EQ6 and solve equation EQ6 to produce a maximum regret value γ(n+1) and temporary adversarial allocation x(n+1)′.
    • Step 10. If γ(n+1)n, goto Step 11. Otherwise, if γ(n+1)n, increase n by 1 (n=n+1) and goto Step 7.
    • Step 11. Set MR(xk)=βn.
    • Step 12. Set adversarial allocation x(k+1)′=temporary adversarial allocation x(n+1)′.
    • Step 13. Set adversarial weight vector w(k+1)=temporary adversarial weight vector w(n+1)
    • Step 14. If MR(xk)≦δk, goto Step 18.
    • Step 15. Set Gen(k+1)=Genk ∪{x(k+1)′, w(k+1)}, where ∪ means union.
    • Step 16. k=k+1.
    • Step 17. Goto Step 3.
    • Step 18. Output candidate allocation xk as a visually perceptible image, for example on display 18 (Solution is candidate allocation xk, maximum regret of xk is MR(xk), adversarial allocation is x(k+1)′, and adversarial weight vector is w(n+1)).
Alternatively, instead of iteratively utilizing equations EQ6 and EQ7 in the foregoing algorithm, the loops representing equations EQ6 and EQ7 can be replaced by equation EQ5.
The present invention also includes an alternate method to solve equation EQ3, which is especially useful when the number of features fi is small. This alternate method removes the alternation between equations EQ4 and EQ5 (or equation EQ4 and equations EQ6 and EQ7) described above by generating the entire set of adversarial allocations—weight vectors, e.g.,<x1,w>, in Gen before solving equation EQ4 the first time; that is, without the use of a candidate allocation x.
By way of background, each feature's fi weight bounds (w↑ and w↓) in combination with the linear constraints in set C define a convex polytope in j dimensions, which can be thought of as the feasible utility space. Each point in this polytope corresponds to a feasible weight vector wk. As would be apparent to one skilled in the art, any adversarial weight vector wn that could be chosen as part of a solution to equation EQ5 must lie at an extreme point of this polytope. Furthermore, for a given adversarial weight vector, e.g., w1, it can be shown that the feasible allocation xk which maximizes utility for that weight vector will always be the regret maximizing allocation, or adversarial allocation x′, chosen with said weight vector by equation EQ5.
Given these observations, it becomes possible to enumerate a set of extreme points P of the utility polytope utilizing a well know and readily available software program, such as, for example, PORTA available at the following URL:
    • http://www.iwr.uni-heidelberg.de/groups/comopt/software/PORTA/.
Then, for each point pm contained in P, determine the optimal allocation xm′ for the weight vector pm, and add the pair <xm′, pm> to the set Gen. Once all points pm in P have been processed, equation EQ4 can be solved one time. The allocation x will be designated as the desirable allocation, and δ will be the minimax regret value of allocation x.
If, after determining that a maximum regret value MR(x) is not greater than a minimax regret value δ, the buyer is not satisfied with either the value of the maximum regret MR(x) or the corresponding candidate allocation x, the buyer may, if he wishes, increase the lower bound weight value and/or decrease the upper bound weight value of at least one feature fi thereby reducing the range of values therebetween. Reducing the range of values between an upper bound weight value and a lower bound weight value essentially further constrains the solution of maximum regret MR(x), whereupon the maximum regret value MR(x) that is not greater than the corresponding minimax regret value δ will be no more than, and often less than, the maximum regret value MR(x) that was determined before further constraining the range of weight values.
The weight value wi for each feature fi that maximizes the maximum regret value MR(x) can be made available to the buyer to facilitate the buyer making an informed decision regarding which feature(s) to reduce the range of weight values for the next usage thereof to determine the minimax regret value δ.
For example, a buyer evaluating weight values selected by the optimizing software to maximize the regret value MR(x) for candidate allocation x may arbitrarily decide that narrowing the range of weight values of feature fi, e.g., supplier quality, is the best choice for increasing the buyer's utility, whereupon the buyer's minimax regret δ decreases the next time it is determined. Obviously, the buyer can elect to reduce the range of weight values for more than one feature fi if desired.
One problem with arbitrarily reducing the range of weight values for one or more features fi is that there is no guarantee that such arbitrary reduction will, in fact, result in a reduction of the minimax regret δ the next time it is determined. Accordingly, it would be desirable to utilize a more systematic approach.
Once such approach includes the buyer deciding that he prefers a candidate allocation x more than an adversarial allocation x′ included in Gen, or vise versa. The candidate allocation x and the last adversarial allocation x′ included in Gen that can be used for this comparison can be the ones that resulted in proving that the maximum regret value of MR(x) is not greater than the minimax regret value of δ. The buyer's selection of one of these allocations over the other can be coded as a constraint which is included in the constraints that the optimizing software utilizes to determine the next value of maximum regret MR(x) and the next value of minimax regret δ the next time they are determined. For example, a constraint can be coded to express the buyer's preference that candidate allocation x is preferred (>) over a last adversarial allocation x′ included in Gen, or vise versa.
Other allocations that can be compared, selected and coded into constraints include, without limitation: infeasible allocations and arbitrary feasible allocations. It is envisioned that the buyer can pair-wise compare any combination of candidate allocation(s) (either the solution candidate allocation or an intermediate candidate allocation), adversarial allocation(s) x′ (either the solution candidate allocation or an intermediate candidate allocation), infeasible allocation(s) and/or arbitrary feasible allocation(s). The buyer's preferential selection of one of the allocations of each pair of allocations over the other can then be coded into a corresponding constraint that the optimizing software can utilize. Hence, the specific pair-wise comparisons of any pair of allocations and the coding described above are not to be construed as limiting the invention.
Moreover, the number of pair-wise comparisons of allocations described above is not to be construed as limiting the invention since it is envisioned that any number of pair-wise comparisons can be made and coded into corresponding constraints utilized by the optimizing software.
As can be seen, the present invention enables the buyer in a combinatorial auction or exchange to randomly or systematically determine the allocation that, in the worst case, is within a range of an optimal allocation for a range of values assigned to each feature of interest to the buyer. Thus, in spite of the uncertainty that exists because of the buyer assigning a range of values to one or more features of interest to the buyer, an allocation can be identified that can be guaranteed to be within a range of the optimal allocation.
The present invention has been described with reference to the preferred embodiment. Obvious modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (14)

1. A method of selecting a desirable allocation of bids in a combinatorial exchange setting comprising:
(a) providing a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities;
(b) selecting an adversarial allocation of the bids;
(c) determining as a function of the adversarial allocation of the bids (1) a candidate allocation of the bids and (2) a value of a minimax regret related to a utility associated with the adversarial allocation minus a utility associated with the candidate allocation;
(d) determining as a function of the candidate allocation (1) a new adversarial allocation of the bids and (2) a value of a maximum regret related to a utility associated with the new adversarial allocation minus a utility associated with the candidate allocation;
(e) if the current value of the maximum regret is greater than the current value of the minimax regret, determining as a function of the adversarial allocation(s) (1) a new candidate allocation of the bids and (2) a new value of minimax regret related to a utility associated with the adversarial allocations minus a utility associated with the new candidate allocation;
(f) determining as a function of the new candidate allocation (1) a new adversarial allocation of the bids and (2) a new value of maximum regret related to a utility associated with the new adversarial allocation minus a utility associated with the candidate allocations; and
(g) repeating steps (e) and (f) until the current value of maximum regret is not greater than the current value of minimax regret.
2. The method of claim 1, wherein step (a) further includes associating initial bounds to at least one feature of the exchange.
3. The method of claim 1, wherein each utility is a measure of the usefulness of the corresponding allocation(s) to a buyer.
4. The method of claim 3, wherein each utility is comprised of a value associated with at least one feature of the allocations over which the buyer has some preference.
5. The method of claim 4, wherein each utility is comprised of a sum of a plurality of values associated with a like plurality of features of the corresponding allocation(s) over which the buyer has some preference.
6. The method of claim 1, further including:
(h) determining at least one constraint for at least one pair of allocations; and
(i) repeating steps (b)-(g) subject to the one constraint.
7. The method of claim 6, wherein each pair of allocations includes (1) a candidate allocation and an adversarial allocation, (2) a pair of candidate allocations or (3) a pair of adversarial allocations.
8. The method of claim 5, further including:
(h) amending at least one value associated with at least one feature; and
(i) repeating steps (b)-(g).
9. An apparatus for selecting a desirable allocation of bids in a combinatorial exchange comprising:
means for receiving a plurality of bids, each of which includes at least one item, a quantity for each item and price for all of the item(s) and their quantities;
means for forming a first adversarial allocation of the bids;
means for determining as a function of the first adversarial allocation of the bids (1) a first candidate allocation of the bids and (2) a first value of a minimax regret related to a difference between a utility associated with the adversarial allocation and a utility associated with the candidate allocation;
means for determining as a function of the first candidate allocation (1) a second adversarial allocation of the bids and (2) a first value of a maximum regret related to a difference between a utility associated with the new adversarial allocation and a utility associated with the candidate allocation; and
means for producing a visual display of the first candidate allocation as the desirable allocation when the first value of the maximum regret is not greater than the first value of the minimax regret.
10. The apparatus of claim 9, further including means for associating initial bounds to at least one feature of the exchange.
11. The apparatus of claim 9, wherein, when the first value of the maximum regret is not greater than the first value of the minimax regret, further including:
means for determining as a function of the first adversarial allocation and the second adversarial allocation (1) a second candidate allocation of the bids and (2) a second value of minimax regret related to a difference between a utility associated with the first and second adversarial allocations, and a utility associated with the second candidate allocation;
means for determining as a function of the second candidate allocation (1) a third adversarial allocation of the bids and (2) a second value of maximum regret related to a difference between a utility associated with the third adversarial allocation and a utility associated with the second candidate allocation; and
means for designating the second candidate allocation as the desirable allocation when the second value of the maximum regret is not greater than the second value of the minimax regret.
12. The apparatus of claim 11, further including means for determining at least one constraint based on the selection of at least one pair of allocations, wherein (1) the third adversarial allocation of the bids and (2) the second value of the maximum regret are determined subject to the one constraint.
13. The apparatus of claim 11, further including means for determining as a function of at least one adversarial allocation a plurality of feasible allocations and means for determining at least one constraint based on at least one pair of allocations, wherein (1) at least one of the adversarial allocations of the bids and (2) one of the values of maximum regret are determined subject to the one constraint.
14. The apparatus of claim 9, wherein the visual display is produced by one of a video monitor and a printer.
US11/065,333 2004-02-24 2005-02-24 Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting Active 2026-11-16 US7353191B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05075446A EP1571577A1 (en) 2004-02-24 2005-02-24 Automated scenario navigation in combinatorial exchanges
US11/065,333 US7353191B2 (en) 2004-02-24 2005-02-24 Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54726604P 2004-02-24 2004-02-24
US11/065,333 US7353191B2 (en) 2004-02-24 2005-02-24 Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting

Publications (2)

Publication Number Publication Date
US20050192865A1 US20050192865A1 (en) 2005-09-01
US7353191B2 true US7353191B2 (en) 2008-04-01

Family

ID=34752617

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/065,333 Active 2026-11-16 US7353191B2 (en) 2004-02-24 2005-02-24 Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting

Country Status (2)

Country Link
US (1) US7353191B2 (en)
EP (1) EP1571577A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130045A1 (en) * 2005-12-06 2007-06-07 Auction Answers, Llc Method and apparatus for tracking the progress of an auction
US9147215B2 (en) 2007-05-31 2015-09-29 International Business Machines Corporation Discrete, depleting chips for obtaining desired service level characteristics
US8332859B2 (en) * 2007-05-31 2012-12-11 International Business Machines Corporation Intelligent buyer's agent usage for allocation of service level characteristics
US8180660B2 (en) * 2007-05-31 2012-05-15 International Business Machines Corporation Non-depleting chips for obtaining desired service level characteristics
US8117074B2 (en) * 2007-05-31 2012-02-14 International Business Machines Corporation Scaling offers for elemental biddable resources (EBRs)
US9165266B2 (en) * 2007-05-31 2015-10-20 International Business Machines Corporation Resource management framework for holding auctions and applying service level characteristics in response to bids for resources
US8589206B2 (en) * 2007-05-31 2013-11-19 International Business Machines Corporation Service requests for multiple service level characteristics
US20080301688A1 (en) * 2007-05-31 2008-12-04 Boss Gregory J Method, system, and program product for allocating a resource
US20080301025A1 (en) * 2007-05-31 2008-12-04 Boss Gregory J Application of brokering methods to availability characteristics
US8140446B2 (en) * 2007-05-31 2012-03-20 International Business Machines Corporation Application of brokering methods to operational support characteristics
US7991713B2 (en) 2007-11-07 2011-08-02 Trifon Triantafillidis Method for solving minimax and linear programming problems
US8234230B2 (en) * 2009-06-30 2012-07-31 Global Eprocure Data classification tool using dynamic allocation of attribute weights
WO2013042213A1 (en) * 2011-09-20 2013-03-28 富士通株式会社 Computer, computer system, and search program
US10438217B1 (en) * 2015-07-10 2019-10-08 Amazon Technologies, Inc. Estimating an output based on robustness associated with multiple input variables
US20220044271A1 (en) * 2020-08-04 2022-02-10 Wisful Investments, LLC. Optimization engine for fulfilling a customer order from multiple vendors using one or more optimization criteria

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032621A1 (en) * 1999-03-31 2002-03-14 Smith Christopher J. Method and system for conducting electronic auctions with aggregate lotting for transformation bidding
US20020165817A1 (en) * 1999-09-03 2002-11-07 Omnihub, Inc. Multiple auction coordination method and system
US20020174054A1 (en) * 2001-05-17 2002-11-21 International Business Machines Corporation Method and apparatus for non-price auctions
US20030014326A1 (en) * 1999-06-23 2003-01-16 Webango, Inc. Method for buy-side bid management
US20040186805A1 (en) * 2000-07-01 2004-09-23 Gologorsky Steven Phillip Sealed-bid auction comprising staged bid publication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032621A1 (en) * 1999-03-31 2002-03-14 Smith Christopher J. Method and system for conducting electronic auctions with aggregate lotting for transformation bidding
US20020042769A1 (en) * 1999-03-31 2002-04-11 Gujral Virind S. System and method for conducting electronic auctions with multi-parameter optimal bidding
US20030014326A1 (en) * 1999-06-23 2003-01-16 Webango, Inc. Method for buy-side bid management
US20020165817A1 (en) * 1999-09-03 2002-11-07 Omnihub, Inc. Multiple auction coordination method and system
US20040186805A1 (en) * 2000-07-01 2004-09-23 Gologorsky Steven Phillip Sealed-bid auction comprising staged bid publication
US20020174054A1 (en) * 2001-05-17 2002-11-21 International Business Machines Corporation Method and apparatus for non-price auctions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Minimax-Regret Strategies for Bargaining over Several Variables," P.B. Linhart and R. Radner. Journal of Economic Theory, pp. 152-178, published 1989. *
"The Effect of Regret on Optimal BIdding in Auctions," Richard Engelbrecht-Wiggans. Management Science, vol. 35, No. 6, pp. 685-692, published Jun. 1989. *

Also Published As

Publication number Publication date
EP1571577A1 (en) 2005-09-07
US20050192865A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
US7353191B2 (en) Method and apparatus for selecting a desirable allocation of bids in a combinatorial exchange setting
US7844540B2 (en) Concisely expressed combinatorial auction problem solving method
Jonker et al. An agent architecture for multi-attribute negotiation
US8195524B2 (en) Items ratio based price/discount adjustment in a combinatorial auction
US7502757B2 (en) System and method for matching buyers and sellers in a marketplace
US20050044032A1 (en) Interactive bid evaluation system, method, and iconic interface for combinatorial auctions
Bergemann et al. Dynamic revenue maximization: A continuous time approach
EP1630736A1 (en) Reverse auction control method, computer program product, and server
Murray et al. The multi-product price-setting newsvendor with resource capacity constraints
JP2002083112A (en) Automatic pricing method, display commodity determining method, automatic pricing device and automatic pricing and display commodity determining device
US7742971B2 (en) Preference elicitation in combinatorial auctions
Manerba et al. An effective matheuristic for the capacitated total quantity discount problem
US8024208B2 (en) Shipping planning system
US7801769B1 (en) Computing a set of K-best solutions to an auction winner-determination problem
EP1462978A1 (en) Allocation based method for targeting negotiation opportunities
Kowatsch et al. Knowledge-based bundling of smart products on a mobile recomendation agent
Saen Suppliers selection in volume discount environments in the presence of both cardinal and ordinal data
Gallego et al. Introduction to choice modeling
Jindal et al. Multi-dimensional Salesforce Compensation with Negotiated Prices
Gudu et al. Approximate Algorithms for Double Combinatorial Auctions for Resource Allocation in Clouds: An Empirical Comparison.
Tsvetinov Pre-negotiations over Services—A Framework for Evaluation
WO2001035284A1 (en) Apparatus for negotiation
WO2020179069A1 (en) Transaction program, transaction method, and transaction device
Haddawy et al. Optimizing ad hoc trade in a commercial barter trade exchange
EP1462977A1 (en) Direct output method for targeting negotiation opportunities

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMBINENET, INC., PENNSYLVANIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOUTILIER, CRAIG E.;SANDHOLM, TUOMAS;SHIELDS, JR., ROBERT L.;REEL/FRAME:015988/0453

Effective date: 20050429

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: THE ADVISORY BOARD COMPANY, DISTRICT OF COLUMBIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:022746/0048

Effective date: 20090528

Owner name: THE ADVISORY BOARD COMPANY,DISTRICT OF COLUMBIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:022746/0048

Effective date: 20090528

AS Assignment

Owner name: COMBINENET, INC., PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE ADVISORY BOARD COMPANY;REEL/FRAME:023691/0253

Effective date: 20091217

Owner name: COMBINENET, INC.,PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE ADVISORY BOARD COMPANY;REEL/FRAME:023691/0253

Effective date: 20091217

AS Assignment

Owner name: ADVANCED TECHNOLOGY VENTURES VII, L.P., MASSACHUSE

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VII (B), L.P., MASSAC

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VII (C), L.P., MASSAC

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ATV ENTREPRENEURS VII, L.P., MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VI, L.P., MASSACHUSET

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ATV ENTREPRENEURS VI, L.P., MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: APEX INVESTMENT FUND V, L.P., ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: UPMC, PENNSYLVANIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ECC PARTNERS, L.P., DISTRICT OF COLUMBIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: REVOLUTION CAPITAL, LLC, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VII, L.P.,MASSACHUSET

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VII (B), L.P.,MASSACH

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VII (C), L.P.,MASSACH

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ATV ENTREPRENEURS VII, L.P.,MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ADVANCED TECHNOLOGY VENTURES VI, L.P.,MASSACHUSETT

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ATV ENTREPRENEURS VI, L.P.,MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: APEX INVESTMENT FUND V, L.P.,ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: UPMC,PENNSYLVANIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: ECC PARTNERS, L.P.,DISTRICT OF COLUMBIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

Owner name: REVOLUTION CAPITAL, LLC,CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:023814/0907

Effective date: 20100119

AS Assignment

Owner name: COMBINENET, INC.,PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNORS:APEX INVESTMENT FUND V, L.P.;ADVANCED TECHNOLOGY VENTURES VII, L.P.;ADVANCED TECHNOLOGY VENTURES VII (B), L.P.;AND OTHERS;REEL/FRAME:024492/0257

Effective date: 20100607

Owner name: COMBINENET, INC., PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNORS:APEX INVESTMENT FUND V, L.P.;ADVANCED TECHNOLOGY VENTURES VII, L.P.;ADVANCED TECHNOLOGY VENTURES VII (B), L.P.;AND OTHERS;REEL/FRAME:024492/0257

Effective date: 20100607

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: BANK OF AMERICA, N.A., NORTH CAROLINA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ADVANCED SOURCING CORP.;REEL/FRAME:031869/0809

Effective date: 20131217

AS Assignment

Owner name: LIBERTY SECOND SUB, INC., NORTH CAROLINA

Free format text: MERGER;ASSIGNOR:COMBINENET, INC.;REEL/FRAME:032573/0793

Effective date: 20130830

AS Assignment

Owner name: ADVANCED SOURCING CORP., NORTH CAROLINA

Free format text: CHANGE OF NAME;ASSIGNOR:LIBERTY SECOND SUB, INC.;REEL/FRAME:032616/0278

Effective date: 20130830

AS Assignment

Owner name: SCIQUEST, INC., NORTH CAROLINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADVANCED SOURCING CORP.;REEL/FRAME:032671/0726

Effective date: 20140411

FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

AS Assignment

Owner name: SCIQUEST, INC., NORTH CAROLINA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:039263/0334

Effective date: 20151102

AS Assignment

Owner name: ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT, ILLIN

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:SCIQUEST, INC.;REEL/FRAME:039503/0728

Effective date: 20160728

AS Assignment

Owner name: SCIQUEST, INC., NORTH CAROLINA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE ADVISORY BOARD COMPANY;REEL/FRAME:039512/0373

Effective date: 20160808

Owner name: COMBINENET, INC. (ASSIGNORS' PREDECESSOR IN INTERE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:THE ADVISORY BOARD COMPANY;REEL/FRAME:039512/0373

Effective date: 20160808

AS Assignment

Owner name: SCIQUEST, INC., NORTH CAROLINA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:ANTARES CAPITAL LP;REEL/FRAME:044501/0614

Effective date: 20171228

AS Assignment

Owner name: ANTARES CAPITAL LP, AS AGENT, ILLINOIS

Free format text: SECURITY INTEREST;ASSIGNOR:SCIQUEST, INC.;REEL/FRAME:044508/0437

Effective date: 20171228

AS Assignment

Owner name: UBS AG, STAMFORD BRANCH, AS FIRST LIEN COLLATERAL

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:SCIQUEST, INC.;REEL/FRAME:050049/0688

Effective date: 20190814

Owner name: U.S. BANK NATIONAL ASSOCIATION, AS TRUSTEE AND COL

Free format text: SECURITY INTEREST;ASSIGNOR:SCIQUEST, INC.;REEL/FRAME:050058/0303

Effective date: 20190814

AS Assignment

Owner name: SCIQUEST, INC., NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT;REEL/FRAME:050067/0728

Effective date: 20190814

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: JAGGAER, LLC (AS SUCCESSOR IN INTEREST TO SCIQUEST, INC.), NORTH CAROLINA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (AS SUCCESSOR TO U.S. BANK NATIONAL ASSOCIATION);REEL/FRAME:065303/0057

Effective date: 20231020