Method, apparatus, and computer program product for optimizing parameterized models using functional paradigm of spreadsheet software
First Claim
1. A method for optimizing solution of a parameterized equation system that satisfies one or more constraints using a spreadsheet software application, the method comprising:
- A) displaying and operating a tabular datasheet by executing the spreadsheet software application on a computer device, the tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive input and display output;
B) receiving, from a first group of the cells, one or more formula expressions representing the parameterized equation system, each of the formula expressions including a first sequence of substrings respectively representing a logical building block of the parameterized equation system;
C) receiving, from a second group of the cells, variables of the formula expressions and, from a third group of the cells, parameters of the formula expressions;
D) receiving, from a fourth group of the cells, a first solver function of the spreadsheet software application having one or more first input arguments, the first input arguments at least referencing the formula expressions in the first group of the cells and the variables in the second group of the cells;
E) computing the first solver function to obtain an initial solution of the parameterized equation system, and displaying values of the initial solution in the fourth group of the cells;
wherein computing the first solver function comprises;
E1) constructing, for each of the formula expressions, an evaluable tree-structured graph of relational nodes containing an equivalent sequence of evaluable sub-expressions of said one or more formula expressions;
E2) evaluating, by a graph evaluator, the relational nodes for the formula expressions to obtain values of the formula expressions based on values of the variables of the formula expressions; and
E3) using an underlining algorithm of the first solver function to compute the initial solution in accordance with the formula expressions in the first group of the cells and the variables in the second group of the cells;
wherein the underlining algorithm of the first solver function utilizes the graph evaluator to repeatedly evaluate the parameterized equation system for the values of the variables thereby computing the initial solution;
F) receiving, from a fifth group of the cells, one or more constraint expressions representing the constraints for the parameterized equation system, each of the constraint expressions including a second sequence of substrings respectively representing a logical building entity of the constraint expressions, said one or more constraint expressions referencing the initial solution in the fourth group of the cells;
G) receiving, from a sixth group of the cells, a second solver function of the spreadsheet software application having one or more second input arguments, the second input arguments at least referencing the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells;
H) computing the second solver function to obtain an optimized solution of the parameterized equation system, and displaying values of the optimized solution in the sixth group of the cells;
wherein computing the second solver function comprises;
H1) constructing, for each of the constraint expressions, an evaluable tree-structured graph of relational nodes containing evaluable sub-expressions including an expression of the first solver function;
H2) evaluating, by the graph evaluator, the relational nodes for the constraint expressions to obtain dynamic values of the constraint expressions based on values of the parameters in the third group of the cells;
wherein evaluating the relational nodes for the constraint expressions comprises computing a solution of the first solver function at said values of the parameters; and
H3) using an underlining algorithm of the second solver function to compute the optimized solution in accordance with the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells;
wherein the underlining algorithm of the second solver function utilizes the graph evaluator to repeatedly evaluate the dynamic values of the constraints expressions for the values of the parameters thereby computing the optimized solution.
0 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides a method, an apparatus, and a computer program product to interact with a spreadsheet application for computing the value of a formula that depends explicitly or implicitly on one or more cells designated as variables, based on provided values for the variables, and without modifying any data of the spreadsheet application. In one aspect, the present disclosure provides an optimization process executed by spreadsheet functions of a spreadsheet application, and arranged in a functional paradigm for computing optimal parameters for a parameterized system modelled by variables, parameters, and dependent formulas.
27 Citations
30 Claims
-
1. A method for optimizing solution of a parameterized equation system that satisfies one or more constraints using a spreadsheet software application, the method comprising:
-
A) displaying and operating a tabular datasheet by executing the spreadsheet software application on a computer device, the tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive input and display output; B) receiving, from a first group of the cells, one or more formula expressions representing the parameterized equation system, each of the formula expressions including a first sequence of substrings respectively representing a logical building block of the parameterized equation system; C) receiving, from a second group of the cells, variables of the formula expressions and, from a third group of the cells, parameters of the formula expressions; D) receiving, from a fourth group of the cells, a first solver function of the spreadsheet software application having one or more first input arguments, the first input arguments at least referencing the formula expressions in the first group of the cells and the variables in the second group of the cells; E) computing the first solver function to obtain an initial solution of the parameterized equation system, and displaying values of the initial solution in the fourth group of the cells;
wherein computing the first solver function comprises;E1) constructing, for each of the formula expressions, an evaluable tree-structured graph of relational nodes containing an equivalent sequence of evaluable sub-expressions of said one or more formula expressions; E2) evaluating, by a graph evaluator, the relational nodes for the formula expressions to obtain values of the formula expressions based on values of the variables of the formula expressions; and E3) using an underlining algorithm of the first solver function to compute the initial solution in accordance with the formula expressions in the first group of the cells and the variables in the second group of the cells;
wherein the underlining algorithm of the first solver function utilizes the graph evaluator to repeatedly evaluate the parameterized equation system for the values of the variables thereby computing the initial solution;F) receiving, from a fifth group of the cells, one or more constraint expressions representing the constraints for the parameterized equation system, each of the constraint expressions including a second sequence of substrings respectively representing a logical building entity of the constraint expressions, said one or more constraint expressions referencing the initial solution in the fourth group of the cells; G) receiving, from a sixth group of the cells, a second solver function of the spreadsheet software application having one or more second input arguments, the second input arguments at least referencing the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells; H) computing the second solver function to obtain an optimized solution of the parameterized equation system, and displaying values of the optimized solution in the sixth group of the cells;
wherein computing the second solver function comprises;H1) constructing, for each of the constraint expressions, an evaluable tree-structured graph of relational nodes containing evaluable sub-expressions including an expression of the first solver function; H2) evaluating, by the graph evaluator, the relational nodes for the constraint expressions to obtain dynamic values of the constraint expressions based on values of the parameters in the third group of the cells;
wherein evaluating the relational nodes for the constraint expressions comprises computing a solution of the first solver function at said values of the parameters; andH3) using an underlining algorithm of the second solver function to compute the optimized solution in accordance with the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells;
wherein the underlining algorithm of the second solver function utilizes the graph evaluator to repeatedly evaluate the dynamic values of the constraints expressions for the values of the parameters thereby computing the optimized solution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product in combination with a spreadsheet software program for optimizing solution of a parameterized equation system that satisfies one or more constraints, the computer program product and the spreadsheet software application being stored in a non-transitory storage medium and, when executed by a computer device, causing the computer device to perform a method comprising:
-
A) displaying and operating a tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive input and display output; B) receiving, from a first group of the cells, one or more formula expressions representing the parameterized equation system, each of the formula expressions including a first sequence of substrings respectively representing a logical building block of the parameterized equation system; C) receiving, from a second group of the cells, variables of the formula expressions and, from a third group of the cells, parameters of the formula expressions; D) receiving, from a fourth group of the cells, a first solver function of the spreadsheet software application having one or more first input arguments, the first input arguments at least referencing the formula expressions in the first group of the cells and the variables in the second group of the cells; E) computing the first solver function to obtain an initial solution of the parameterized equation system, and displaying values of the initial solution in the fourth group of the cells;
wherein computing the first solver function comprises;E1) constructing, for each of the formula expressions, an evaluable tree-structured graph of relational nodes containing an equivalent sequence of evaluable sub-expressions of said one or more formula expressions; E2) evaluating, by a graph evaluator, the relational nodes for the formula expressions to obtain values of the formula expressions based on values of the variables of the formula expressions; and E3) using an underlining algorithm of the first solver function to compute the initial solution in accordance with the formula expressions in the first group of the cells and the variables in the second group of the cells;
wherein the underlining algorithm of the first solver function utilizes the graph evaluator to repeatedly evaluate the parameterized equation system for the values of the variables thereby computing the initial solution;F) receiving, from a fifth group of the cells, one or more constraint expressions representing the constraints for the parameterized equation system, each of the constraint expressions including a second sequence of substrings respectively representing a logical building entity of the constraint expressions, said one or more constraint expressions referencing the initial solution in the fourth group of the cells; G) receiving, from a sixth group of the cells, a second solver function of the spreadsheet software application having one or more second input arguments, the second input arguments at least referencing the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells; H) computing the second solver function to obtain an optimized solution of the parameterized equation system, and displaying values of the optimized solution in the sixth group of the cells;
wherein computing the second solver function comprises;H1) constructing, for each of the constraint expressions, an evaluable tree-structured graph of relational nodes containing evaluable sub-expressions including an expression of the first solver function; H2) evaluating, by the graph evaluator, the relational nodes for the constraint expressions to obtain dynamic values of the constraint expressions based on values of the parameters in the third group of the cells;
wherein evaluating the relational nodes for the constraint expressions comprises computing a solution of the first solver function at said values of the parameters; andH3) using an underlining algorithm of the second solver function to compute the optimized solution in accordance with the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells;
wherein the underlining algorithm of the second solver function utilizes the graph evaluator to repeatedly evaluate the dynamic values of the constraints expressions for the values of the parameters thereby computing the optimized solution. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer apparatus for optimizing solution of a parameterized equation system that satisfies one or more constraints using a spreadsheet software application, the computer apparatus comprising a hardware processor configured to perform a method comprising:
-
A) displaying and operating a tabular datasheet by executing the spreadsheet software application on the computer apparatus, the tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive input and display output; B) receiving, from a first group of the cells, one or more formula expressions representing the parameterized equation system, each of the formula expressions including a first sequence of substrings respectively representing a logical building block of the parameterized equation system; C) receiving, from a second group of the cells, variables of the formula expressions and, from a third group of the cells, parameters of the formula expressions; D) receiving, from a fourth group of the cells, a first solver function of the spreadsheet software application having one or more first input arguments, the first input arguments at least referencing the formula expressions in the first group of the cells and the variables in the second group of the cells; E) computing the first solver function to obtain an initial solution of the parameterized equation system, and displaying values of the initial solution in the fourth group of the cells;
wherein computing the first solver function comprises;E1) constructing, for each of the formula expressions, an evaluable tree-structured graph of relational nodes containing an equivalent sequence of evaluable sub-expressions of said one or more formula expressions; E2) evaluating, by a graph evaluator, the relational nodes for the formula expressions to obtain values of the formula expressions based on values of the variables of the formula expressions; and E3) using an underlining algorithm of the first solver function to compute the initial solution in accordance with the formula expressions in the first group of the cells and the variables in the second group of the cells;
wherein the underlining algorithm of the first solver function utilizes the graph evaluator to repeatedly evaluate the parameterized equation system for the values of the variables thereby computing the initial solution;F) receiving, from a fifth group of the cells, one or more constraint expressions representing the constraints for the parameterized equation system, each of the constraint expressions including a second sequence of substrings respectively representing a logical building entity of the constraint expressions, said one or more constraint expressions referencing the initial solution in the fourth group of the cells; G) receiving, from a sixth group of the cells, a second solver function of the spreadsheet software application having one or more second input arguments, the second input arguments at least referencing the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells; H) computing the second solver function to obtain an optimized solution of the parameterized equation system, and displaying values of the optimized solution in the sixth group of the cells;
wherein computing the second solver function comprises;H1) constructing, for each of the constraint expressions, an evaluable tree-structured graph of relational nodes containing evaluable sub-expressions including an expression of the first solver function; H2) evaluating, by the graph evaluator, the relational nodes for the constraint expressions to obtain dynamic values of the constraint expressions based on values of the parameters in the third group of the cells;
wherein evaluating the relational nodes for the constraint expressions comprises computing a solution of the first solver function at said values of the parameters; andH3) using an underlining algorithm of the second solver function to compute the optimized solution in accordance with the constraint expressions in the fifth group of the cells and the parameters in the third group of the cells;
wherein the underlining algorithm of the second solver function utilizes the graph evaluator to repeatedly evaluate the dynamic values of the constraints expressions for the values of the parameters thereby computing the optimized solution.
-
Specification