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: 8732047
    Abstract: 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: Grant
    Filed: October 26, 2009
    Date of Patent: May 20, 2014
    Assignee: SciQuest, Inc.
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Publication number: 20130311304
    Abstract: 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: Application
    Filed: July 24, 2013
    Publication date: November 21, 2013
    Applicant: CombineNet, Inc.
    Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, JR., William E. Walsh
  • Publication number: 20130304636
    Abstract: 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: Application
    Filed: July 18, 2013
    Publication date: November 14, 2013
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Patent number: 8515814
    Abstract: 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: Grant
    Filed: November 11, 2009
    Date of Patent: August 20, 2013
    Assignee: CombineNet, Inc.
    Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, Jr., William E. Walsh
  • Patent number: 8494935
    Abstract: 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: Grant
    Filed: October 26, 2009
    Date of Patent: July 23, 2013
    Assignee: CombineNet, Inc.
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Patent number: 7844540
    Abstract: 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: Grant
    Filed: October 31, 2008
    Date of Patent: November 30, 2010
    Assignee: CombineNet, Inc.
    Inventor: Craig E. Boutilier
  • Patent number: 7835980
    Abstract: 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: Grant
    Filed: December 15, 2008
    Date of Patent: November 16, 2010
    Assignee: CombineNet, Inc.
    Inventors: Craig E. Boutilier, Holger H. Hoos
  • Publication number: 20100121671
    Abstract: 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: Application
    Filed: November 11, 2009
    Publication date: May 13, 2010
    Applicant: COMBINENET, INC.
    Inventors: Craig E. Boutilier, George L. Nemhauser, David C. Parkes, Tuomas Sandholm, Robert L. Shields, JR., William E. Walsh
  • Publication number: 20100114784
    Abstract: 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: Application
    Filed: October 26, 2009
    Publication date: May 6, 2010
    Applicant: COMBINENET, INC.
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Publication number: 20100106652
    Abstract: 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: Application
    Filed: October 26, 2009
    Publication date: April 29, 2010
    Applicant: CombineNet, Inc.
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Publication number: 20100106653
    Abstract: 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: Application
    Filed: October 26, 2009
    Publication date: April 29, 2010
    Applicant: COMBINENET, INC.
    Inventors: Tuomas Sandholm, David C. Parkes, Craig E. Boutilier, Subhash Suri, Jason J. Brown, Luc H. Mercier
  • Publication number: 20090112750
    Abstract: 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: Application
    Filed: October 31, 2008
    Publication date: April 30, 2009
    Applicant: COMBINENET, INC.
    Inventor: Craig E. Boutilier
  • Publication number: 20090094153
    Abstract: 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: Application
    Filed: December 15, 2008
    Publication date: April 9, 2009
    Inventors: Craig E. Boutilier, Holger H. Hoos
  • Patent number: 7487124
    Abstract: 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: Grant
    Filed: July 11, 2003
    Date of Patent: February 3, 2009
    Assignee: CombineNet, Inc.
    Inventor: Craig E. Boutilier
  • Patent number: 7475035
    Abstract: 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: Grant
    Filed: August 2, 2002
    Date of Patent: January 6, 2009
    Assignee: CombineNet, Inc.
    Inventors: Craig E. Boutilier, Holger H. Hoos
  • Patent number: 7353191
    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.
    Type: Grant
    Filed: February 24, 2005
    Date of Patent: April 1, 2008
    Assignee: CombineNet,Inc.
    Inventors: Craig E. Boutilier, Tuomas Sandholm, Robert L. Shields, Jr.
  • Patent number: 7010505
    Abstract: 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: Grant
    Filed: July 30, 2001
    Date of Patent: March 7, 2006
    Assignee: CombineNet, Inc.
    Inventors: Craig E. Boutilier, Holger H. Hoos
  • Publication number: 20040010461
    Abstract: 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: Application
    Filed: July 11, 2003
    Publication date: January 15, 2004
    Applicant: CombineNet, Inc.
    Inventor: Craig E. Boutilier
  • Publication number: 20030028475
    Abstract: 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: Application
    Filed: August 2, 2002
    Publication date: February 6, 2003
    Applicant: CombineNet, Inc.
    Inventors: Craig E. Boutilier, Holger H. Hoos
  • Publication number: 20020052829
    Abstract: 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: Application
    Filed: July 30, 2001
    Publication date: May 2, 2002
    Inventors: Craig E. Boutilier, Holger H. Hoos