Patents by Inventor Robert William Pratt

Robert William Pratt 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: 11645359
    Abstract: A computing device selects a piecewise linear regression model for multivariable data. A hyperplane is fit to observation vectors using a linear multivariable regression. A baseline fit quality measure is computed for the fit hyperplane. For each independent variable, the observation vectors are sorted, contiguous segments to evaluate are defined, for each contiguous segment, a segment hyperplane is fit to the sorted observation vectors using a multivariable linear regression, path distances are computed between a first observation of the and a last observation of the sorted observation vectors based on a predefined number of segments, a shortest path associated with a smallest value of the computed path distances is selected, and a fit quality measure is computed for the selected shortest path. A best independent variable is selected from the independent variables based on having an extremum value for the computed fit quality measure.
    Type: Grant
    Filed: October 7, 2022
    Date of Patent: May 9, 2023
    Assignee: SAS Institute Inc.
    Inventors: Wei Xu, Robert William Pratt, Natalia Summerville
  • Patent number: 11113064
    Abstract: A processor core receives a request to execute application code including a trigger instruction and an instruction block that reads a row of data values from a data structure and outputs a data value from a function using the row as input. The data structure is divided into multiple portions and the trigger instruction indicates that multiple instances of the instruction block are to be executed concurrently. In response to the request and to identification of the instruction block and trigger instruction, the processor core generates multiple instances of a support block that causes independent repetitive execution of each instance of the instruction block until all rows of the corresponding portion of the data structure are used as input. The processor core assigns instances of the instruction and support blocks to multiple processor cores, and provides each instance of the instruction block with the corresponding portion of the data structure.
    Type: Grant
    Filed: November 27, 2020
    Date of Patent: September 7, 2021
    Assignee: SAS INSTITUTE INC.
    Inventors: Jack Joseph Rouse, Robert William Pratt, Jared Carl Erickson, Manoj Keshavmurthi Chari
  • Publication number: 20210157595
    Abstract: An apparatus includes a processor core to: receive a request to execute application code including a trigger instruction and an instruction block that reads a row of data values from a data structure and outputs a data value from a function using the row as input, wherein the data structure is divided into multiple portions and the trigger instruction indicates that multiple instances of the instruction block are to be executed concurrently; and in response to the request, and to identification of the instruction block and trigger instruction: generate multiple instances of a support block that causes independent repetitive execution of each instance of the instruction block until all rows of the corresponding portion of the data structure are used as input; assign instances of the instruction and support blocks to multiple processor cores; and provide each instance of the instruction block with the corresponding portion of the data structure.
    Type: Application
    Filed: November 27, 2020
    Publication date: May 27, 2021
    Applicant: SAS Institute Inc.
    Inventors: Jack Joseph Rouse, Robert William Pratt, Jack Carl Erickson, Manoj Keshavmurthi Chari
  • Patent number: 9582256
    Abstract: Various embodiments are generally directed to techniques for reducing syntax requirements in application code to cause concurrent execution of multiple iterations of at least a portion of a loop thereof to reduce overall execution time in solving a large scale problem. At least one non-transitory machine-readable storage medium includes instructions that when executed by a computing device, cause the computing device to parse an application code to identify a loop instruction indicative of an instruction block that includes instructions that define a loop of which multiple iterations are capable of concurrent execution, the instructions including at least one call instruction to an executable routine capable of concurrent execution; and insert at least one coordinating instruction into an instruction sub-block of the instruction block to cause sequential execution of instructions of the instruction sub-block across the multiple iterations based on identification of the loop instruction.
    Type: Grant
    Filed: December 30, 2013
    Date of Patent: February 28, 2017
    Assignee: SAS Institute Inc.
    Inventors: Jack Joseph Rouse, Leonardo Bezerra Lopes, Robert William Pratt
  • Patent number: 9448793
    Abstract: Embodiments include techniques to receive computer-executable query instructions to solve a MILP problem, the query instructions including a first expression conveying an objective function and side constraint that define a master problem of the MILP problem, a second expression conveying a mapping of graph data to a graph, and a third expression conveying a selection of a graph-based algorithm to solve a subproblem of the MILP problem; a subproblem component to replace the third expression with a fourth expression during decomposition of the MILP problem, the fourth expression including instructions to implement the graph-based algorithm to solve the subproblem; and an execution control component to perform iterations of solving the MILP problem that include executing the first expression to derive a solution to the master problem; and executing the fourth expression to derive a solution to the subproblem based on the mapping and the master problem solution.
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: September 20, 2016
    Assignee: SAS Institute Inc.
    Inventors: Matthew Victor Galati, Robert William Pratt, Leonardo Bezerra Lopes
  • Publication number: 20160077833
    Abstract: Embodiments include techniques to receive computer-executable query instructions to solve a MILP problem, the query instructions including a first expression conveying an objective function and side constraint that define a master problem of the MILP problem, a second expression conveying a mapping of graph data to a graph, and a third expression conveying a selection of a graph-based algorithm to solve a subproblem of the MILP problem; a subproblem component to replace the third expression with a fourth expression during decomposition of the MILP problem, the fourth expression including instructions to implement the graph-based algorithm to solve the subproblem; and an execution control component to perform iterations of solving the MILP problem that include executing the first expression to derive a solution to the master problem; and executing the fourth expression to derive a solution to the subproblem based on the mapping and the master problem solution.
    Type: Application
    Filed: November 10, 2015
    Publication date: March 17, 2016
    Applicant: SAS INSTITUTE INC.
    Inventors: MATTHEW VICTOR GALATI, ROBERT WILLIAM PRATT, LEONARDO BEZERRA LOPES
  • Patent number: 9213550
    Abstract: An apparatus includes a communications component to receive computer-executable query instructions to solve a MILP problem, the query instructions including a first expression conveying an objective function and side constraint that define a master problem of the MILP problem, a second expression conveying a mapping of graph data to a graph, and a third expression conveying a selection of a graph-based algorithm to solve a subproblem of the MILP problem; a subproblem component to replace the third expression with a fourth expression during decomposition of the MILP problem, the fourth expression including instructions to implement the graph-based algorithm to solve the subproblem; and an execution control component to perform iterations of solving the MILP problem that include executing the first expression to derive a solution to the master problem; and executing the fourth expression to derive a solution to the subproblem based on the mapping and the master problem solution.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: December 15, 2015
    Assignee: SAS INSTITUTE, INC.
    Inventors: Matthew Victor Galati, Robert William Pratt, Leonardo Bezerra Lopes
  • Publication number: 20150347149
    Abstract: An apparatus includes a communications component to receive computer-executable query instructions to solve a MILP problem, the query instructions including a first expression conveying an objective function and side constraint that define a master problem of the MILP problem, a second expression conveying a mapping of graph data to a graph, and a third expression conveying a selection of a graph-based algorithm to solve a subproblem of the MILP problem; a subproblem component to replace the third expression with a fourth expression during decomposition of the MILP problem, the fourth expression including instructions to implement the graph-based algorithm to solve the subproblem; and an execution control component to perform iterations of solving the MILP problem that include executing the first expression to derive a solution to the master problem; and executing the fourth expression to derive a solution to the subproblem based on the mapping and the master problem solution.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 3, 2015
    Applicant: SAS INSTITUTE INC.
    Inventors: MATTHEW VICTOR GALATI, ROBERT WILLIAM PRATT, LEONARDO BEZERRA LOPES
  • Publication number: 20140297997
    Abstract: Various embodiments are generally directed to techniques for reducing syntax requirements in application code to cause concurrent execution of multiple iterations of at least a portion of a loop thereof to reduce overall execution time in solving a large scale problem. At least one non-transitory machine-readable storage medium includes instructions that when executed by a computing device, cause the computing device to parse an application code to identify a loop instruction indicative of an instruction block that includes instructions that define a loop of which multiple iterations are capable of concurrent execution, the instructions including at least one call instruction to an executable routine capable of concurrent execution; and insert at least one coordinating instruction into an instruction sub-block of the instruction block to cause sequential execution of instructions of the instruction sub-block across the multiple iterations based on identification of the loop instruction.
    Type: Application
    Filed: December 30, 2013
    Publication date: October 2, 2014
    Applicant: SAS Institute Inc.
    Inventors: Jack Joseph Rouse, Leonardo Bezerra Lopes, Robert William Pratt
  • Patent number: 8812338
    Abstract: Computer-implemented systems and methods are provided for optimizing the distribution of packs of an item across an entity's distribution network. Constraint values may be specified to limit the values that may be included in a planned distribution of packs. Also, heuristics may be used to reduce the computation time required to determine optimal values for a planned distribution of packs. Modeling of the planned distribution of packs and optimization of the number of packs to be distributed can be accomplished using a mixed-integer linear programming solver.
    Type: Grant
    Filed: April 29, 2008
    Date of Patent: August 19, 2014
    Assignee: SAS Institute Inc.
    Inventor: Robert William Pratt
  • Publication number: 20140222491
    Abstract: Systems and methods are provided for determining a distribution of each of a plurality of inner packs to a plurality of stores. Mismatch cost data and product demand data are received for the plurality of stores. A first inner pack quantity for distribution is determined based on the product demand data. A supply difference amount is determined, where the supply difference amount is a difference between the first inner pack quantity and the number of first inner packs available for distribution. A determination is made that adjusting the first inner pack quantity for the particular store based on the supply difference amount would have less effect on mismatch costs than other stores, and the first inner pack quantity is adjusted for the particular store based on the supply difference.
    Type: Application
    Filed: January 30, 2014
    Publication date: August 7, 2014
    Applicant: SAS Institute Inc.
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Patent number: 8788315
    Abstract: Systems and methods are provided for determining a plurality of pack configurations to make available for distribution to a plurality of stores, wherein a pack configuration contains a particular number of units of each of a plurality of variations of a product. An allowable pack size constraint, a maximum pack configuration constraint, mismatch cost data, and product demand data for the plurality of stores are received. A first pack and a second pack for the store are determined, wherein the first pack contains a particular number of each of the variations of the product, wherein the first pack meets the allowable pack size constraint and minimizes mismatch costs for the store. Stores are clustered based on similarity of their demand data until the total pack configuration amount across all clusters meets the maximum pack configuration constraint.
    Type: Grant
    Filed: January 10, 2011
    Date of Patent: July 22, 2014
    Assignee: SAS Institute Inc.
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Patent number: 8688497
    Abstract: Systems and methods are provided for determining a distribution of each of a plurality of inner packs to a plurality of stores. Mismatch cost data and product demand data are received for the plurality of stores. A first inner pack quantity for distribution is determined based on the product demand data. A supply difference amount is determined, where the supply difference amount is a difference between the first inner pack quantity and the number of first inner packs available for distribution. A determination is made that adjusting the first inner pack quantity for the particular store based on the supply difference amount would have less effect on mismatch costs than other stores, and the first inner pack quantity is adjusted for the particular store based on the supply difference.
    Type: Grant
    Filed: January 10, 2011
    Date of Patent: April 1, 2014
    Assignee: SAS Institute Inc.
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Patent number: 8296224
    Abstract: Computer-implemented systems and methods are provided for generating bins for a scorecard. An approximate set of bins is generated by applying an optimization model to binning data. The optimization model includes an objective function, constraints, and surrogate weight of evidence metric(s). The approximated set of bins are then used in scorecard operations.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: October 23, 2012
    Assignee: SAS Institute Inc.
    Inventors: Ivan Borges Oliveira, Manoj Keshavmurthi Chari, David Rawlins Duling, Susan Edwards Haller, Robert William Pratt
  • Publication number: 20120179505
    Abstract: Systems and methods are provided for determining a plurality of pack configurations to make available for distribution to a plurality of stores, wherein a pack configuration contains a particular number of units of each of a plurality of variations of a product. An allowable pack size constraint, a maximum pack configuration constraint, mismatch cost data, and product demand data for the plurality of stores are received. A first pack and a second pack for the store are determined, wherein the first pack contains a particular number of each of the variations of the product, wherein the first pack meets the allowable pack size constraint and minimizes mismatch costs for the store. Stores are clustered based on similarity of their demand data until the total pack configuration amount across all clusters meets the maximum pack configuration constraint.
    Type: Application
    Filed: January 10, 2011
    Publication date: July 12, 2012
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Publication number: 20120179507
    Abstract: Systems and methods are provided for determining a distribution of each of a plurality of inner packs to a plurality of stores. Mismatch cost data and product demand data are received for the plurality of stores. A first inner pack quantity for distribution is determined based on the product demand data. A supply difference amount is determined, where the supply difference amount is a difference between the first inner pack quantity and the number of first inner packs available for distribution. A determination is made that adjusting the first inner pack quantity for the particular store based on the supply difference amount would have less effect on mismatch costs than other stores, and the first inner pack quantity is adjusted for the particular store based on the supply difference.
    Type: Application
    Filed: January 10, 2011
    Publication date: July 12, 2012
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Publication number: 20120179506
    Abstract: Systems and methods are provided for determining a quantity of each of a plurality of inner pack configurations to purchase for a plurality of stores. Available inner pack configurations are received along with a particular number of each inner pack configuration contained in an outer pack and mismatch cost data. A first inner pack configuration is identified from the available inner pack configurations for a store, where the first inner pack configuration best matches the demand profile for the store. Quantities of the first inner pack configuration across purchase orders of the stores are summed to generate a first total to be included in the purchase order. Inner pack configurations are added or subtracted to the purchase order so that an adjusted first total is a multiple of the particular number of inner packs that the outer pack contains.
    Type: Application
    Filed: January 10, 2011
    Publication date: July 12, 2012
    Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
  • Publication number: 20100082469
    Abstract: Computer-implemented systems and methods are provided for generating bins for a scorecard. An approximate set of bins is generated by applying an optimization model to binning data. The optimization model includes an objective function, constraints, and surrogate weight of evidence metric(s). The approximated set of bins are then used in scorecard operations.
    Type: Application
    Filed: September 30, 2008
    Publication date: April 1, 2010
    Inventors: Ivan Borges Oliveira, Manoj Keshavmurthi Chari, David Rawlins Duling, Susan Edwards Haller, Robert William Pratt
  • Publication number: 20090271241
    Abstract: Computer-implemented systems and methods are provided for optimizing the distribution of packs of an item across an entity's distribution network. Constraint values may be specified to limit the values that may be included in a planned distribution of packs. Also, heuristics may be used to reduce the computation time required to determine optimal values for a planned distribution of packs. Modeling of the planned distribution of packs and optimization of the number of packs to be distributed can be accomplished using a mixed-integer linear programming solver.
    Type: Application
    Filed: April 29, 2008
    Publication date: October 29, 2009
    Inventor: Robert William Pratt