Patents by Inventor Craig E. Boutilier
Craig E. Boutilier has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8732047Abstract: In a computer-implemented method of contract execution, data about contracts is stored in a computer storage accessible to a processor of a computer along with data about a procurement plan and data about a purchase request that includes information about a first quantity of at least one good or service. The processor determines a second quantity of the one good or service and a second contract against which to complete the purchase request based on the procurement plan, the data about the contracts, at least one purchase made against one of the contracts, a trigger condition and associated effect, and the quantity of at least one good or service. In response to the second contract and the second quantity being approved, the processor causes a purchase order for the second quantity of the one good or service to be placed to the supplier associated with the second contract.Type: GrantFiled: October 26, 2009Date of Patent: May 20, 2014Assignee: SciQuest, Inc.Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Publication number: 20130311304Abstract: In a computer-implemented method of determining an abstraction of a plurality of differentiated goods available for exchange, data regarding each differentiated good is stored in a computer storage, wherein the data regarding each differentiated good includes an attribute value assigned to at least one attribute of the differentiated good. A processor of a computer determines a first abstraction of the plurality of differentiated goods based on the stored data. The first abstraction includes at least one abstract good. Each abstract good includes one or more differentiated goods. At least one abstract good of the first abstraction includes at least two distinct differentiated goods. The processor determines for each abstract good a specification for the abstract good based on the data regarding one or more differentiated goods forming the abstract good. The processor stores in the computer storage the specification determined for each abstract good.Type: ApplicationFiled: July 24, 2013Publication date: November 21, 2013Applicant: CombineNet, Inc.Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, JR., William E. Walsh
-
Publication number: 20130304636Abstract: In a computer-implemented method of conducting expressive payment reconciliation, a purchase transaction is stored in a computer storage accessible to a processor. The processor identifies a contract against which the purchase transaction is made and a first payment amount for the purchase transaction. Contract data is stored in the computer storage and the processor determines a second payment amount for the purchase transaction based on at least one good or service associated with the purchase transaction and the data about the contract. In response to a difference in the first and second payments, the processor either stores computer storage a modified invoice with a modified payment amount, stores in the computer storage a reconciliation payment equal to the payment difference; outputs over a computer network an explanation of the modified payment; or outputs over a computer network a dispute notification.Type: ApplicationFiled: July 18, 2013Publication date: November 14, 2013Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Patent number: 8515814Abstract: In a computer-implemented method of determining an abstraction of a plurality of differentiated goods available for exchange, data regarding each differentiated good is stored in a computer storage, wherein the data regarding each differentiated good includes an attribute value assigned to at least one attribute of the differentiated good. A processor of a computer determines a first abstraction of the plurality of differentiated goods based on the stored data. The first abstraction includes at least one abstract good. Each abstract good includes one or more differentiated goods. At least one abstract good of the first abstraction includes at least two distinct differentiated goods. The processor determines for each abstract good a specification for the abstract good based on the data regarding one or more differentiated goods forming the abstract good. The processor stores in the computer storage the specification determined for each abstract good.Type: GrantFiled: November 11, 2009Date of Patent: August 20, 2013Assignee: CombineNet, Inc.Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, Jr., William E. Walsh
-
Patent number: 8494935Abstract: In a computer-implemented method of conducting expressive payment reconciliation, a purchase transaction is stored in a computer storage accessible to a processor. The processor identifies a contract against which the purchase transaction is made and a first payment amount for the purchase transaction. Contract data is stored in the computer storage and the processor determines a second payment amount for the purchase transaction based on at least one good or service associated with the purchase transaction and the data about the contract. In response to a difference in the first and second payments, the processor either stores computer storage a modified invoice with a modified payment amount, stores in the computer storage a reconciliation payment equal to the payment difference; outputs over a computer network an explanation of the modified payment; or outputs over a computer network a dispute notification.Type: GrantFiled: October 26, 2009Date of Patent: July 23, 2013Assignee: CombineNet, Inc.Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Patent number: 7844540Abstract: In a method of determining an optimal allocation in a combinatorial auction, a plurality of bids is received. Each bid includes a plurality of sub bids. Each sub bid includes either one good and a price associated with the good or a logical operator logically connecting at least two child sub bids and a price associated with the logical operator. For each sub bid, the price associated with the good or the logical operator is either an explicit price that is included with the sub bid or is assigned a value of zero when the sub bid does not include an explicit price. An objective is defined for the plurality of bids. For each bid, a plurality of mathematical relationships collectively representing the bid without logical operators is defined. The received bids are processed to achieve the objective subject to the mathematical relationships.Type: GrantFiled: October 31, 2008Date of Patent: November 30, 2010Assignee: CombineNet, Inc.Inventor: Craig E. Boutilier
-
Patent number: 7835980Abstract: In a computer-implemented method for finding a high quality allocation of one or more bids in a combinatorial auction, a number of bids is electronically received. Each bid includes a number of sub bids and a Boolean operator logically connecting each pair of sub bids. Each sub bid is either (1) a good and an associated price or (2) one of the Boolean operators associated with a price and at least two other sub bids. From a number of allocations of goods to sub bids, wherein each allocation of the goods is to a different set of sub bids, an allocation is output that has the greatest value. The value of each allocation includes of a sum of prices of bids that have at least one satisfied sub bid. The price of each bid includes a sum of the prices associated with each satisfied sub bid of the bid.Type: GrantFiled: December 15, 2008Date of Patent: November 16, 2010Assignee: CombineNet, Inc.Inventors: Craig E. Boutilier, Holger H. Hoos
-
Publication number: 20100121671Abstract: In a computer-implemented method of determining an abstraction of a plurality of differentiated goods available for exchange, data regarding each differentiated good is stored in a computer storage, wherein the data regarding each differentiated good includes an attribute value assigned to at least one attribute of the differentiated good. A processor of a computer determines a first abstraction of the plurality of differentiated goods based on the stored data. The first abstraction includes at least one abstract good. Each abstract good includes one or more differentiated goods. At least one abstract good of the first abstraction includes at least two distinct differentiated goods. The processor determines for each abstract good a specification for the abstract good based on the data regarding one or more differentiated goods forming the abstract good. The processor stores in the computer storage the specification determined for each abstract good.Type: ApplicationFiled: November 11, 2009Publication date: May 13, 2010Applicant: COMBINENET, INC.Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, JR., William E. Walsh
-
Publication number: 20100114784Abstract: In a computer-implemented method of conducting expressive payment reconciliation, a purchase transaction is stored in a computer storage accessible to a processor. The processor identifies a contract against which the purchase transaction is made and a first payment amount for the purchase transaction. Contract data is stored in the computer storage and the processor determines a second payment amount for the purchase transaction based on at least one good or service associated with the purchase transaction and the data about the contract. In response to a difference in the first and second payments, the processor either stores computer storage a modified invoice with a modified payment amount, stores in the computer storage a reconciliation payment equal to the payment difference; outputs over a computer network an explanation of the modified payment; or outputs over a computer network a dispute notification.Type: ApplicationFiled: October 26, 2009Publication date: May 6, 2010Applicant: COMBINENET, INC.Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Publication number: 20100106652Abstract: In a computer-implemented method of procurement strategy optimization, data about a number of contracts is stored in a computer storage accessible to a processor of a computer along with a forecast of a future quantity of at least one good or service to be purchased. The processor of the computer determines a first plan for future procurement against at least one of the stored contracts based on the forecast and the following data specified by the one contract: a good or service, a payment rule, a trigger condition, and an associated effect of the trigger condition. In response to the processor automatically approving the first plan subject to one or more predetermined rules or the processor receiving an approval of the first plan, the processor causes the first plan to be adopted for future procurement.Type: ApplicationFiled: October 26, 2009Publication date: April 29, 2010Applicant: CombineNet, Inc.Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Publication number: 20100106653Abstract: In a computer-implemented method of contract execution, data about contracts is stored in a computer storage accessible to a processor of a computer along with data about a procurement plan and data about a purchase request that includes information about a first quantity of at least one good or service. The processor determines a second quantity of the one good or service and a second contract against which to complete the purchase request based on the procurement plan, the data about the contracts, at least one purchase made against one of the contracts, a trigger condition and associated effect, and the quantity of at least one good or service. In response to the second contract and the second quantity being approved, the processor causes a purchase order for the second quantity of the one good or service to be placed to the supplier associated with the second contract.Type: ApplicationFiled: October 26, 2009Publication date: April 29, 2010Applicant: COMBINENET, INC.Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
-
Publication number: 20090112750Abstract: In a method of determining an optimal allocation in a combinatorial auction, a plurality of bids is received. Each bid includes a plurality of sub bids. Each sub bid includes either one good and a price associated with the good or a logical operator logically connecting at least two child sub bids and a price associated with the logical operator. For each sub bid, the price associated with the good or the logical operator is either an explicit price that is included with the sub bid or is assigned a value of zero when the sub bid does not include an explicit price. An objective is defined for the plurality of bids. For each bid, a plurality of mathematical relationships collectively representing the bid without logical operators is defined. The received bids are processed to achieve the objective subject to the mathematical relationships.Type: ApplicationFiled: October 31, 2008Publication date: April 30, 2009Applicant: COMBINENET, INC.Inventor: Craig E. Boutilier
-
Publication number: 20090094153Abstract: In a computer-implemented method for finding a high quality allocation of one or more bids in a combinatorial auction, a number of bids is electronically received. Each bid includes a number of sub bids and a Boolean operator logically connecting each pair of sub bids. Each sub bid is either (1) a good and an associated price or (2) one of the Boolean operators associated with a price and at least two other sub bids. From a number of allocations of goods to sub bids, wherein each allocation of the goods is to a different set of sub bids, an allocation is output that has the greatest value. The value of each allocation includes of a sum of prices of bids that have at least one satisfied sub bid. The price of each bid includes a sum of the prices associated with each satisfied sub bid of the bid.Type: ApplicationFiled: December 15, 2008Publication date: April 9, 2009Inventors: Craig E. Boutilier, Holger H. Hoos
-
Patent number: 7487124Abstract: A method for enabling optimizing software to determine an optimal allocation in a combinatorial auction includes (a) receiving a plurality of bids each of which includes a plurality of sub bids, wherein each sub bid is comprised of one of (1) one good and an associated price and (2) a logical operator logically connecting at least two child sub bids and a price associated with the logical operator; (b) defining an objective for the plurality of bids; (c) defining for each bid a plurality of mathematical relationships without logical operators that collectively represent the bid; and (d) causing the optimizing software to process the received bids to achieve the objective subject to the mathematical relationships. The method can be embodied in instructions stored on a computer-readable medium. When executed by a processor, the instructions can cause the processor to perform the method.Type: GrantFiled: July 11, 2003Date of Patent: February 3, 2009Assignee: CombineNet, Inc.Inventor: Craig E. Boutilier
-
Patent number: 7475035Abstract: In a combinatorial auction, a plurality of bids is received each having a plurality of sub bids and Boolean operators logically connecting each pair of sub bids. A current allocation is determined by allocating goods to at least one of the bids and a best allocation is initialized with the current allocation. A neighboring allocation is constructed by reallocating within the current allocation at least one good from at least one bid to another bid. The best allocation is updated with the neighboring allocation when the value of the neighboring allocation is greater than the current value of the best allocation.Type: GrantFiled: August 2, 2002Date of Patent: January 6, 2009Assignee: CombineNet, Inc.Inventors: Craig E. Boutilier, Holger H. Hoos
-
Patent number: 7353191Abstract: 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.Type: GrantFiled: February 24, 2005Date of Patent: April 1, 2008Assignee: CombineNet,Inc.Inventors: Craig E. Boutilier, Tuomas Sandholm, Robert L. Shields, Jr.
-
Patent number: 7010505Abstract: A method of selecting a winning allocation of bids in a combinatorial auction includes receiving a plurality of bids and designating a subset of the received bids as a current allocation having no overlap in the items of its bids. For each bid not part of the current allocation, a neighboring allocation is determined by combining the bid with the current allocation and deleting from such combination any bid of the current allocation having an item that overlaps an item of the bid combined with the current allocation. A heuristic is determined for each neighboring allocation and one of the neighboring allocations is selected stochastically or based on its heuristic. If this one neighboring allocation is greater than the value of the best allocation, the current allocation is substituted for the best allocation.Type: GrantFiled: July 30, 2001Date of Patent: March 7, 2006Assignee: CombineNet, Inc.Inventors: Craig E. Boutilier, Holger H. Hoos
-
Publication number: 20040010461Abstract: A method for enabling optimizing software to determine an optimal allocation in a combinatorial auction includes (a) receiving a plurality of bids each of which includes a plurality of sub bids, wherein each sub bid is comprised of one of (1) one good and an associated price and (2) a logical operator logically connecting at least two child sub bids and a price associated with the logical operator; (b) defining an objective for the plurality of bids; (c) defining for each bid a plurality of mathematical relationships without logical operators that collectively represent the bid; and (d) causing the optimizing software to process the received bids to achieve the objective subject to the mathematical relationships. The method can be embodied in instructions stored on a computer-readable medium. When executed by a processor, the instructions can cause the processor to perform the method.Type: ApplicationFiled: July 11, 2003Publication date: January 15, 2004Applicant: CombineNet, Inc.Inventor: Craig E. Boutilier
-
Publication number: 20030028475Abstract: In a combinatorial auction, a plurality of bids is received each having a plurality of sub bids and Boolean operators logically connecting each pair of sub bids. A current allocation is determined by allocating goods to at least one of the bids and a best allocation is initialized with the current allocation. A neighboring allocation is constructed by reallocating within the current allocation at least one good from at least one bid to another bid. The best allocation is updated with the neighboring allocation when the value of the neighboring allocation is greater than the current value of the best allocation.Type: ApplicationFiled: August 2, 2002Publication date: February 6, 2003Applicant: CombineNet, Inc.Inventors: Craig E. Boutilier, Holger H. Hoos
-
Publication number: 20020052829Abstract: A method of selecting a winning allocation of bids in a combinatorial auction includes receiving a plurality of bids and designating a subset of the received bids as a current allocation having no overlap in the items of its bids. For each bid not part of the current allocation, a neighboring allocation is determined by combining the bid with the current allocation and deleting from such combination any bid of the current allocation having an item that overlaps an item of the bid combined with the current allocation. A heuristic is determined for each neighboring allocation and one of the neighboring allocations is selected stochastically or based on its heuristic. If this one neighboring allocation is greater than the value of the best allocation, the current allocation is substituted for the best allocation.Type: ApplicationFiled: July 30, 2001Publication date: May 2, 2002Inventors: Craig E. Boutilier, Holger H. Hoos