System and method for enterprise modeling, optimization and control
First Claim
1. A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising:
- providing a plurality of software classes for modeling, optimization, and deployment;
providing one or more management facilities for managing the plurality of software classes;
creating a plurality of software objects based on the plurality of software classes, wherein said creating the plurality of software objects comprises creating a dynamic process model object and creating a solver object, wherein the dynamic process model object and the solver object comprise a first solution which controls a first process;
creating a model of the first solution;
creating a second solution, wherein the second solution comprises a second dynamic process model object, a second solver object, and the model of the first solution, wherein the second solution which operates to control a second process, wherein the second solution affects the first solution; and
constructing an optimization program which uses the plurality of software objects, wherein said constructing is performed in response to user input;
wherein the optimization program is useable in controlling the process;
wherein the optimization program is constructed including the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process; and
wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second solution.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing modeling, prediction, optimization, and control, including an enterprise wide framework for constructing modeling, optimization, and control solutions. The framework includes a plurality of base classes that may be used to create primitive software objects. These objects may then be combined to create optimization and/or control solutions. The distributed event-driven component architecture allows much greater flexibility and power in creating, deploying, and modifying modeling, optimization and control solutions. The system also includes various techniques for performing improved modeling, optimization, and control, as well as improved scheduling and control. For example, the system may include a combination of batch and continuous processing frameworks, and a unified hybrid modeling framework which allows encapsulation and composition of different model types, such as first principles models and empirical models. The system further includes an integrated process scheduling solution referred to as process coordinator that seamlessly incorporates the capabilities of advanced control and execution into a real time event triggered optimal scheduling solution.
-
Citations
55 Claims
-
1. A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising:
-
providing a plurality of software classes for modeling, optimization, and deployment;
providing one or more management facilities for managing the plurality of software classes;
creating a plurality of software objects based on the plurality of software classes, wherein said creating the plurality of software objects comprises creating a dynamic process model object and creating a solver object, wherein the dynamic process model object and the solver object comprise a first solution which controls a first process;
creating a model of the first solution;
creating a second solution, wherein the second solution comprises a second dynamic process model object, a second solver object, and the model of the first solution, wherein the second solution which operates to control a second process, wherein the second solution affects the first solution; and
constructing an optimization program which uses the plurality of software objects, wherein said constructing is performed in response to user input;
wherein the optimization program is useable in controlling the process;
wherein the optimization program is constructed including the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process; and
wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second 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 control system for controlling a process, wherein the control system comprises:
-
a computer system including a processor and a memory medium, wherein the computer system is operable to couple to the process;
a plurality of software classes for modeling, optimization, and deployment;
one or more management facilities for managing the plurality of software classes;
a plurality of software objects created in response to the plurality of software classes, wherein the plurality of software objects inherit functionality from one or more of the plurality of software classes, wherein the plurality of software objects comprises a dynamic process model object and a solver object, wherein the dynamic process model object and the solver object comprise a first solution that controls a first process;
a model of the first solution;
a second solution, wherein the second solution comprises a second dynamic process model object, a second solver object, and the model of the first solution, wherein the second solution operates to control a second process, wherein the second solution affects the first solution; and
a control program created using the plurality of software objects;
wherein the control program is operable to control the process;
wherein the optimization program comprises the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process; and
wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second solution. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising:
-
providing a plurality of software classes for modeling, optimization, and deployment;
providing one or more management facilities for managing the plurality of software classes; and
creating a plurality of software objects based on the plurality of software classes, wherein said creating a plurality of software objects comprises;
creating a dynamic process model object; and
creating a solver object;
wherein the dynamic process model object and the solver object comprise a first solution that controls a first process;
the method further comprising;
creating a second solution, wherein the second solution comprises a second dynamic process model object and a second solver object which operate together to control a second process, wherein the first solution affects the second solution;
creating a model of the second solution;
including the model of the second solution into the first solution, wherein the first solution uses the model of the second solution to determine how the second solution will respond to actions provided by the first solution; and
constructing an optimization program which uses the plurality of software objects, wherein said constructing is performed in response to user input, wherein the optimization program is constructed including the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising:
-
creating a first solution comprising a first dynamic process model and a first solver, wherein the first solution controls a first process;
creating a model of the first solution;
creating a second solution, wherein the second solution comprises a second dynamic process model, a second solver, and the model of the first solution, wherein the second solution controls a second process, wherein the second solution affects the first solution;
wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second solution. - View Dependent Claims (46)
-
-
47. A method for enabling a user to create a program for controlling a process, wherein the method operates in a system including a computer system which is coupled to the process, the method comprising:
-
creating a first solution comprising a first dynamic process model and a first solver, wherein the first solution controls a first process;
creating a second solution, wherein the second solution comprises a second dynamic process model and a second solver, wherein the second solution controls a second process, wherein the first solution affects the second solution;
creating a model of the second solution;
including the model of the second solution into the first solution;
wherein the first solution uses the model of the second solution to dynamically determine how the second solution will respond to actions provided by the first solution. - View Dependent Claims (48)
-
-
49. A memory medium comprising program instructions which are executable by a processor to:
-
provide a plurality of software classes for modeling, optimization, and deployment;
provide one or more management facilities for managing the plurality of software classes;
create a plurality of software objects based on the plurality of software classes, wherein, in said creating the plurality of software objects, the program instructions are further executable by the processor to create a dynamic process model object and create a solver object, wherein the dynamic process model object and the solver object comprise a first solution that controls a first process;
create a model of the first solution;
create a second solution, wherein the second solution comprises a second dynamic process model object, a second solver object, and the model of the first solution, wherein the second solution which operates to control a second process, wherein the second solution affects the first solution; and
construct an optimization program which uses the plurality of software objects, wherein said constructing is performed in response to user input;
wherein the optimization program is useable in controlling the process;
wherein the optimization program is constructed including the dynamic process model object and the solver object, wherein the dynamic process model object and the solver object operate together to optimize the process; and
wherein the second solution uses the model of the first solution to determine how the first solution will respond to actions provided by the second solution. - View Dependent Claims (50, 51, 52, 53, 54, 55)
-
Specification