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: 11645359Abstract: 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: GrantFiled: October 7, 2022Date of Patent: May 9, 2023Assignee: SAS Institute Inc.Inventors: Wei Xu, Robert William Pratt, Natalia Summerville
-
Patent number: 11113064Abstract: 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: GrantFiled: November 27, 2020Date of Patent: September 7, 2021Assignee: SAS INSTITUTE INC.Inventors: Jack Joseph Rouse, Robert William Pratt, Jared Carl Erickson, Manoj Keshavmurthi Chari
-
Publication number: 20210157595Abstract: 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: ApplicationFiled: November 27, 2020Publication date: May 27, 2021Applicant: SAS Institute Inc.Inventors: Jack Joseph Rouse, Robert William Pratt, Jack Carl Erickson, Manoj Keshavmurthi Chari
-
Patent number: 9582256Abstract: 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: GrantFiled: December 30, 2013Date of Patent: February 28, 2017Assignee: SAS Institute Inc.Inventors: Jack Joseph Rouse, Leonardo Bezerra Lopes, Robert William Pratt
-
Patent number: 9448793Abstract: 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: GrantFiled: November 10, 2015Date of Patent: September 20, 2016Assignee: SAS Institute Inc.Inventors: Matthew Victor Galati, Robert William Pratt, Leonardo Bezerra Lopes
-
Publication number: 20160077833Abstract: 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: ApplicationFiled: November 10, 2015Publication date: March 17, 2016Applicant: SAS INSTITUTE INC.Inventors: MATTHEW VICTOR GALATI, ROBERT WILLIAM PRATT, LEONARDO BEZERRA LOPES
-
Patent number: 9213550Abstract: 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: GrantFiled: May 27, 2015Date of Patent: December 15, 2015Assignee: SAS INSTITUTE, INC.Inventors: Matthew Victor Galati, Robert William Pratt, Leonardo Bezerra Lopes
-
Publication number: 20150347149Abstract: 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: ApplicationFiled: May 27, 2015Publication date: December 3, 2015Applicant: SAS INSTITUTE INC.Inventors: MATTHEW VICTOR GALATI, ROBERT WILLIAM PRATT, LEONARDO BEZERRA LOPES
-
Publication number: 20140297997Abstract: 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: ApplicationFiled: December 30, 2013Publication date: October 2, 2014Applicant: SAS Institute Inc.Inventors: Jack Joseph Rouse, Leonardo Bezerra Lopes, Robert William Pratt
-
Patent number: 8812338Abstract: 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: GrantFiled: April 29, 2008Date of Patent: August 19, 2014Assignee: SAS Institute Inc.Inventor: Robert William Pratt
-
Publication number: 20140222491Abstract: 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: ApplicationFiled: January 30, 2014Publication date: August 7, 2014Applicant: SAS Institute Inc.Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Patent number: 8788315Abstract: 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: GrantFiled: January 10, 2011Date of Patent: July 22, 2014Assignee: SAS Institute Inc.Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Patent number: 8688497Abstract: 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: GrantFiled: January 10, 2011Date of Patent: April 1, 2014Assignee: SAS Institute Inc.Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Patent number: 8296224Abstract: 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: GrantFiled: September 30, 2008Date of Patent: October 23, 2012Assignee: SAS Institute Inc.Inventors: Ivan Borges Oliveira, Manoj Keshavmurthi Chari, David Rawlins Duling, Susan Edwards Haller, Robert William Pratt
-
Publication number: 20120179505Abstract: 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: ApplicationFiled: January 10, 2011Publication date: July 12, 2012Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Publication number: 20120179507Abstract: 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: ApplicationFiled: January 10, 2011Publication date: July 12, 2012Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Publication number: 20120179506Abstract: 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: ApplicationFiled: January 10, 2011Publication date: July 12, 2012Inventors: Teresa DePaola McMains, Thomas Burkhardt, Robert William Pratt
-
Publication number: 20100082469Abstract: 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: ApplicationFiled: September 30, 2008Publication date: April 1, 2010Inventors: Ivan Borges Oliveira, Manoj Keshavmurthi Chari, David Rawlins Duling, Susan Edwards Haller, Robert William Pratt
-
Publication number: 20090271241Abstract: 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: ApplicationFiled: April 29, 2008Publication date: October 29, 2009Inventor: Robert William Pratt