In the process industry, advanced process control (e.g. Multivariable Predictive Control, or MPC) and real-time optimization (RT-OPT) have been progressing and applied in practice over the last three decades. Thousands of MPC systems are running in refineries, chemical plants, petro-chemical processing units and other manufacturers to maintain the safe operations of their processes while maximizing their margins. However, most of the successes mentioned above are concentrated in continuous manufacturing processes. In another type of important production process often seen in the process industry—batch processes, state of the art, however, is quite behind. Many batch processes are still running with conventional proportional-integral-derivative (PID) control or manual control in some cases.
Batch processes play an important role in several industries such as pharmaceutical, biochemical, and food or biological, among others. Therefore, developing and deploying advanced modeling, monitoring and control systems in batch production processes is desirable and very beneficial to many manufacturers, particularly for those in the special chemicals and pharmaceutical industries, in addition to those in the traditional energy and petro-chemical industries.
A batch process is a process with a start time and end time point and some evolution of variables in between. Typical batch process examples are often seen in the manufacturing industry of special chemicals, pharmaceuticals, blending and mixing, polymer processing, semi-conductor manufacturing, processing of food products, and such. Different from continuous processes, batch production processes have many special characteristics which made the existing approaches so widely used in continuous processes, such as MPC and RT-OPT technology, not suitable to apply. Instead, a set of special modeling and control technology for batch processes is required. First-principle model based batch monitoring and control technology is still under development because the physical, chemical and biological mechanisms involved in many batch production processes are still unclear, such as in biochemical fermentation processes, polymerization processes, etc. It is still difficult to build accurate first-principle models for most bio-chemical batch processes in the pharmaceutical industry and in many physical and chemical batch processes in the special chemicals industries.
Comparably, data-driven approaches using multivariate statistical models built on historical batch data have become more attractive and are showing usefulness in practice. Although many academic case studies and papers are published and employ the most often-seen existing approaches, including building and using Principal Component Analysis (PCA) and Projection to Latent Structure (PLS) multivariate statistical models to monitor and control batch processes (see Paul Nomikos, John F. MacGregor, “Monitoring Batch Processes Using Multiway Principal Component Analysis, AIChE Journal,” 40(8), 1361-1375 (August 1994)), the efforts of those academic studies are still at developing and improving mathematical algorithms and focus on simulated and small pilot problems. For industrial practice, systematic solutions are still lacking. This disclosure is an important advanced step toward such an industrial systematic solution.
More specifically, one basic problem in data-driven batch modeling is that the length of each batch completion over time may be inconsistent, which makese the “batch data alignment” an important and necessary step for implementation of any data-driven batch modeling, monitoring and control strategy. Although academic research and case studies on batch data alignment problems are reported (see González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014); Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003); Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)), in those existing approaches the proposed approaches were based on Dynamic Time Warping (DTW) algorithm. It is known that the DTW approach may result in undesirable alignment results in some cases (Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)), and it is not matured enough for industrial practice.
More importantly, a systematic method able to handle many practical issues, for both offline and online batch alignments in industrial applications, is lacking in the existing approaches.
This disclosure describes a comprehensive method (and system) that addresses many steps in details of the batch data alignment and automated workflow suitable for both offline batch data alignment for modeling and online batch data alignment for process monitoring and control. Aspects of the present invention provide an approach for modeling for real-time applications.
A new computer method (and system) is disclosed for an automatic way to perform offline and online batch data alignment starting with historical batch data. The system itself is capable of performing the following major tasks: (1) load available historical batch data; (2) Scale, screen, identify and exclude outlier batches from historical batch data; (3) Select an optimal reference batch based on various measures for alignment; (4) Assist user to define and calculate batch phases; (5) Select key variables to join alignment procedure; (6) Estimate variable weighting coefficients for optimal alignment; (7) perform batch alignment in an offline mode, online mode, or in both offline and online modes.
In step (7) above, the disclosed system may perform batch alignment for both offline and online applications. In the offline case, batch data may be available from a plant historian, and the major applications are batch modeling and analysis on past batch operation data, such as product quality analysis on batch feed components, recipes comparison, operational procedure optimization and operation problem diagnosis, etc.
In an online case, the batch alignment is performed on the current running batch against a selected reference batch, and the applications may be for monitoring the progress of the underline batch process and predicting the end product quality, etc. In online cases, it is performed repeatedly with a sliding time window because partial batch data is available when the batch is still running.
The system provides an improved solution over standard Dynamic Time Warping (DTW) approaches (see González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014); Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003); Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)) in existing approaches. The disclosed system for both offline and online alignment used a so-called Dynamic Time Interpolation (DTI) algorithm with a sliding time window to solve the batch alignment problem and results in smooth results that are more suitable and desirable than those DTW solutions in existing approaches for industrial applications. Different from the DTW algorithms, in the disclosed approach, the batch alignment problem is defined and formulated as a continuous optimization problem to solve, and the results are continuous in time and always smooth.
Specifically, in real-time (online) cases, at a time point during a batch, partial (past) batch data is available. The problem to be solved is a repeated minimization with time-varying conditions over time. Because the current batch to be aligned is an on-going process and the reference batch is a completed batch, the system needs to determine which phase the current batch is at and what the current batch maturity is. Furthermore, variations (profiles) of process variables may be different at each batch phase; therefore, their weightings in a batch alignment problem may change accordingly. These factors may make an online batch alignment problem more complicated, and the solution time is also increased. To reduce the total online alignment calculation time, a sliding window is introduced, and a modified online minimization of DTW and DTI with a Golden Section Search (GSS) procedure is used in the disclosed system.
In more detail, in some embodiments, the system can perform the following specific steps to achieve the optimal alignment at any time point during a batch progressing:
(1) Determine the current batch phase;
(2) Select a set of corresponding variable weightings;
(3) Adjust variable weightings based on available information so far during the batch;
(4) Apply DTW algorithm to estimate batch maturity;
(5) Further adjust variable weightings based on the estimated maturity;
(6) Adjust batch maturity bounds;
(7) Determine starting point of a sliding window;
(8) Compute prediction step;
(9) Increase sliding window size and re-adjust batch maturity bounds when necessary;
(10) Identify key alignment times;
(11) Apply DTW algorithm to determine the relative position of the key alignment times in the final alignment;
(12) Apply DTI with GSS algorithm to fine tuning and finalize current alignment; and
(13) Provide online application engine (e.g. PCA, PLS models) with the current alignment results and wait for next sampling/calculation cycle.
Example embodiments of the present invention are directed to computer-implemented methods, computer systems, and computer program products that model, monitor, and control an industrial batch process. The computer systems comprise a processor and a memory with computer code instructions stored thereon. The memory is operatively coupled to the processor such that, when executed by the processor, the computer code instructions cause the computer system to implement a modeler engine. The computer program products comprise a non-transitory computer-readable storage medium having code instructions stored thereon. The storage medium is operatively coupled to a processor, such that, when executed by the processor, the computer code instructions cause the processor to model, monitor, and control an industrial batch process.
In some embodiments, the computer methods, systems (via the analysis engine), and program products load batch data from a plant historian database for a subject industrial batch process. In some embodiments, the computer methods, systems, and program products scale the loaded batch data for batch alignment. In some embodiments, the computer methods, systems, and program products screen and remove outliers of batch data from the scaled batch data. In some embodiments, the computer methods, systems, and program products select a reference batch as basis of the batch alignment from the screened batch data. In some embodiments, the computer methods, systems, and program products define and add or modify one or more batch phases associated with the screened batch data for the batch alignment. In some embodiments, the computer methods, systems, and program products select one or more batch variables associated with the screened batch data based on at least one of: (i) one or more profiles of the one or more batch variables and (ii) one or more curvatures of the one or more batch variables. In some embodiments, the computer methods, systems, and program products estimate one or more variable weightings based upon the selected batch variables associated with the batch alignment. In some embodiments, the computer methods, systems, and program products select a given batch of the screened batch data to perform the batch alignment against the reference batch. In some embodiments, the computer methods, systems, and program products adjust one or more tuning parameters associated with the batch alignment. In some embodiments, the computer methods, systems, and program products perform the batch alignment in an offline mode or an online mode. In some embodiments, the computer methods, systems, and program products perform the batch alignment in at least one of an offline mode and an online mode.
In example embodiments, the computer methods, systems, and program products may further screen and remove the outliers of the batch data. As such, the computer methods, systems, and program products may further screen measurements of the selected batch variables for irregular behaviors as compared to behaviors associated with other batches of the screened batch data. The computer methods, systems, and program products may repair data of the screened batch data associated with the irregular behaviors. The computer methods, systems, and program products may remove one or more invalid batches from the screened batch data after the data repair, including batches that include different variation profiles as compared to the other batches over a time interval. The computer methods, systems, and program products may resample the selected batch variables with a base sampling rate. The computer methods, systems, and program products may export the selected given batch.
In example embodiments, the computer methods, systems, and program products may further select the reference batch. As such, the computer methods, systems, and program products may further select a plurality of reference batches from the screened batch data, and for the plurality of further selected reference batches, calculate quantitative statistical measures for each batch of the plurality as compared with average values of the plurality. The computer methods, systems, and program products may display one or more of the plurality of further selected reference batches together to a user with variable profiles in a given view, along with a timeline that represents progression in time of each batch of the plurality. The computer methods, systems, and program products may enable a user to select a subset of batches of the screened batch data for the batch alignment based on the given view and domain knowledge of the user. The computer methods, systems, and program products may enable the user to discard at least one of the selected batch variables to join the batch alignment.
The computer methods, systems, and program products may select the one or more batch variables. The computer methods, systems, and program products may discard at least one of the one or more batch variables having flat trajectories or trajectories inconsistent with each other. The computer methods, systems, and program products may select a subset of batches from the one or more batch variables. In some embodiments, the computer methods, systems, and program products may group the correlated variables. As such, the computer methods, systems, and program products may build a principal component analysis (PCA) model based on unfolding of the screened batch data. The computer methods, systems, and program products may apply K-means clustering to one or more loadings of the principal component analysis (PCA) model. The computer methods, systems, and program products may identify trajectory shapes of the one or more batch variables for a given phase associated with each of the one or more batch variables. The computer methods, systems, and program products may calculate a smoothness index for at least one of the one or more batch variables and the given phase. The computer methods, systems, and program products may calculate a curvature index for the at least one of the one or more batch variables and the given phase. The computer methods, systems, and program products may calculate a consistency index for the at least one of the one or more batch variables and the given phase. The computer methods, systems, and program products may determine an alignment score associated with at least one of the one or more batch variables and the given phase. The computer methods, systems, and program products may display one or more of the following to the user: the discarded batch variables, the selected subset of batches, the grouped correlated variables, the identified trajectory shapes, the calculated smoothness index, the calculated curvature index, the calculated consistency index, and the determined alignment score. The computer methods, systems, and program products may provide the user with one or more suggestions to further select any of the at least one of the one or more batch variables and the given phase.
In some embodiments, the computer methods, systems, and program products may further estimate the one or more variable weightings (weighting coefficients). As such, the computer methods, systems, and program products may pre-calculate weighting coefficients of one or more default variables of the selected batch variables according to a trajectory shape associated with the one or more default variables. The computer methods, systems, and program products may adjust at least one of the one or more weightings based on a rank and standard deviation of at least one of the selected batch variables. The computer methods, systems, and program products may multiply the one or more weightings with a corresponding consistency index. The computer methods, systems, and program products may further adjust the one or more weightings in an iterative manner.
The computer methods, systems, and program products may perform the batch alignment in the online mode. As such, the computer methods, systems, and program products may determine a phase of a current batch of the subject industrial batch process for alignment. The computer methods, systems, and program products may select the one or more estimated variable weightings associated with the current batch phase. The computer methods, systems, and program products may adjust the one or more estimated variable weightings associated with dynamic time warping (DTW) based on information from a previous sequential alignment point of the subject industrial batch process. The computer methods, systems, and program products may estimate a current batch maturity of the subject industrial batch process based on the dynamic time warping (DTW). The computer methods, systems, and program products may adjust the one or more estimated variable weightings based on the current batch maturity estimation from the dynamic time warping (DTW).
The computer methods, systems, and program products may adjust one or more the dynamic time warping (DTW) batch maturity bounds based on the current batch maturity estimation. The computer methods, systems, and program products may modify a starting point of a sliding window associated with the subject industrial batch process. The computer methods, systems, and program products may calculate a prediction and detect a change in trajectory shapes of the selected batch variables. The computer methods, systems, and program products may increase a size of the sliding window based upon a proximity of a lower bound of the dynamic time warping (DTW) solution to a starting point of the sliding window. The computer methods, systems, and program products may identify one or more alignment times (e.g., key alignment times). The computer methods, systems, and program products may check the size of the sliding window for an increase based upon the identified alignment times (e.g., key alignment times). The computer methods, systems, and program products may further adjust the one or more batch maturity bounds based on the current alignment window size. The computer methods, systems, and program products may perform the alignment of the current batch. The computer methods, systems, and program products may repeat steps above of adjusting the variable weightings through the performing of the alignment of the current batch.
In some embodiments, the computer methods, systems, and program products may define batch alignment as a free-end-point problem with a cumulative distance. The computer methods, systems, and program products may generate a grid based upon the defined batch alignment, a number of data points of the current batch, and a number of data points of the reference batch. The computer methods, systems, and program products may determine a warping path associated with the generated grid by traversing the generated grid in a monotonic fashion.
In some embodiments of the computer methods, systems, and program products, the sliding window alignment may be based upon dynamic time interpolation (DTI).
In some embodiments of the computer methods, systems, and program products, the sliding window alignment may be based upon dynamic time interpolation (DTI) with a modified Golden Section Search (GSS).
The computer methods, systems, and program products may define the sliding window alignment based on an objective function that includes a linearly interpolated value.
The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.
A description of example embodiments follows.
In the process industry, batch processes play an important role in several sectors such as the pharmaceutical, biochemical, food and biological sectors, among others. The development of analysis and monitoring schemes for these kinds of processes is an important task from an economical point of view. In recent years, there has been a trend in business that more and more manufacturers have shifted their concentration from large-volume, low-margin continuous bulky productions to small-volume, but high margin batch productions of special chemicals and pharmaceutical products.
Compared to continuous production processes, however, the technology of modeling, monitoring, and control for batch processes is far behind in practice—most batch processes are operated with conventional PID control or manual control. Advanced batch modeling, monitoring and control based on multivariate statistical approaches using principal component analysis (PCA) and projection to latent structure (PLS) are proposed and case studied in academic research (Paul Nomikos, John F. MacGregor, “Monitoring Batch Processes Using Multiway Principal Component Analysis, AIChE Journal,” 40(8), 1361-1375 (August 1994); and González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011)). In some of the existing approaches, several batch alignment algorithms based on DTW algorithm were proposed for online applications. See González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014); Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003); Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008). However, DTW based approaches show some undesirable characteristics, such as unsmooth alignment and missing key points etc., that are not ideal for industrial applications.
For industrial application practice, batch alignment is a critical step to the success of batch modeling, monitoring, and control. Some of the existing approaches seen from commercial software products for industrial practices, however, have used extremely simple approaches to do batch alignment, and lack accurate and systematic methods and solutions. Some embodiments of the present invention provide users with such an innovative solution to address many important issues in practice, with a complete, automated, and systematic solution for batch offline and online alignment.
The basic problem to solve in multivariate batch modeling and control is that the length of each batch completion over time may be inconsistent, which makes it difficult to compare each batch to a reference batch. Therefore, “batch data alignment” becomes an important and necessary step. Compared with existing approaches (see González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014); Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003); Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)), aspects of the Applicant's disclosure address the following advantages over existing approaches:
In summary, aspects of the disclosed method (and system) provide batch process operators with a unique and systematic solution to perform the batch alignment offline and online for batch model development, online monitoring and control.
Reference is now made to the figures and particular embodiments for purposes of clarity in illustration and not limitation.
A new computer method (and system) is disclosed for batch data alignment offline and online based on historical batch data. The method (and system) loads historical batch data from a data historian server, automatically screens batch data, and identifies and discards outlier batches and batch variable with flat trajectories, helps users selects candidate reference batches, ranks batch key variables based on calculation and analysis on curvature, consistency, and smoothness, and performs batch alignment. For both offline and online cases, a sliding window is used to facilitate the complex and time-consuming alignment optimization problem (DTI). A detailed solution at each time point of a running batch is provided, and technical strategies to address many practical issues in industrial application are disclosed.
Aspects of the present invention relate to a computer method (and system) to perform batch data alignment either offline for batch modeling and analysis or online for one or more batch processes monitoring and quality control needs. The system is capable of loading and receiving one or more batch variable measurements. The system is capable of performing batch modeling and analysis including but not limited to including performing automated batch data cleansing, reference batch selection; batch phase identification, and both online and offline batch alignment. For online batch monitoring and control applications, the system automatically determines current batch maturity and adapts corresponding in variable weightings and other parameters. The system may perform online batch alignment via a sliding window to speed up the solution search and provide a user with feasible and accurate real-time solutions for batch monitoring and control.
According to some embodiments, the present invention provides a computer method (and system) for performing automated batch data alignment for modeling, monitoring, and control of an industrial batch process. The method (and system) may include loading batch operation data from a plant historian database for a subject industrial batch process. The method (and system) may include scaling loaded batch data for batch alignment. The method (and system) may include screening and removing outlier (outlying) batch data from the loaded original raw batch data. The method (and system) may include selecting a reference batch as the basis of the batch alignment. The method (and system) may include defining and adding/modifying batch phases for alignment. The method (and system) may include selecting key variables based on batch variables' profiles and their curvatures. The method (and system) may include estimating batch variables' weightings in batch alignment. The method (and system) may include selecting a batch to perform alignment against the reference batch. The method (and system) may include adjusting tuning parameters for optimal batch alignment. The method (and system) may include performing a batch alignment in either offline mode or online mode.
According to some embodiments of the method (and system), screening and removing outliers batch data that are unsuitable for batch data alignment comprises one or more of the steps of:
According to some embodiments of the method (and system), selecting reference batch comprises one or more of the steps of:
According to some embodiments of the method (and system), selecting key variables comprises one or more of the steps of:
According to some embodiments of the method (and system), estimating batch variables' weightings comprises one or more of the steps of:
According to some embodiments of the method (and system), performing real-time (online) batch alignment further comprises one or more of the steps of:
According to some embodiments of the method (and system), using DTW to formulate the batch maturity estimation as a free-end-point problem further comprises one or more of the steps of:
According to some embodiments of the method (and system), using DTI to formulate sliding-window based alignment problem further comprises one or more of the steps of:
According to some embodiments of the method (and system), grouping highly correlated variables further comprises one or more of the steps of:
According to some embodiments, the method (and system) of performing batch alignment includes one or more of the following steps:
Steps (1)-(6) may be performed on historical batch data, information of reference batch, phases at reference batch, key variables and their weighting parameters at each phase may be determined. Starting at step (7), the alignment of each batch (offline or online) may be performed based on these results obtained from step (1)-(6).
The system uses a sliding window that ends at the current time point; the online alignment operation may repeat at each sampling time interval with the progress of the underline batch process. At each sampling interval, the following steps are performed:
(7.1) Specify a running batch to perform alignment online;
(7.2) Determine the current batch phase in which the batch is running at;
(7.3) Select pre-determined corresponding variable weightings with an adjustment factor;
(7.4) Estimate the current batch maturity by solving an optimization problem defined by DTW with a reference batch;
(7.5) Further adjust variable weightings for DTI based on the estimated maturity in step (7.4);
(7.6) Adjust batch maturity bounds based on updated DTW solutions;
(7.7) Determine if the starting point of a sliding window needs to be updated;
(7.8) Compute prediction step to ensure no missing key time points;
(7.9) Increase sliding window size when necessary;
(7.10) Identify key alignment times;
(7.11) Optimize current alignment with GSS method and DTI to fine tune and finalize current alignment;
(7.12) Move and wait for next sampling cycle.
Load Batch Data from Plant Historian
The method 100 begins at step 102. The method 100, at step 102, loads batch historical operations data (measurements) for process variables of the subject batch process from a plant historian or asset database. In other embodiments, the method 100 (step 102) may load (import) operations data for the subject production process variables from other sources, such as other plant data servers, plant management systems, or any other resources of the plant. In yet other embodiments, the operations data may be loaded from a file format, including a spreadsheet file, a text file, a binary file, and such.
The loaded operations data includes continuous measurements for a number of batch process variables (process variable tags) for the subject production batch process, as typically measurements for multiple process variables and from many batches are stored in the plant historian or plant asset database over time for a production process. The method 100 (step 102) generates a raw batch dataset that contains the loaded original batch operation data for the process variables of the subject batch process, formatted as a set of time-series based on timestamps associated with the batch operations data.
Referring back to
As illustrated in step 106 of
The list of candidate batches for reference batch is constructed by searching for those batches close to the average batch. To construct the average batch, preliminary data alignment is required. This is done with DTW for a quick search (see details about DTW later). The method also accounts for the difference of the phase lengths w.r.t. median phase durations.
In step 122, the method (and system) 100 accept users' inputs to specify how many batches to identify as potential reference batches (N) and a subset of batches SB.
Step 124 determines the median duration of each batch phase {tilde over (x)}ph. Then, the method (and system) 100 computes the square relative difference w.r.t. median phase duration xri,ph:
Where xi,ph is the duration of phase ph in batch i. Then, the method (and system) 100 computes 126 xpi:
xpi is the sum of the squared relative differences w.r.t. to each median phase length for a single batch. The first possible reference batch is determined 128 to be the reference batch with the minimum value of xpi. This batch is added to the set of reference batches (RF).
Where subscript j is for variables/tags, and k is for observations. Parameter K is the total number of observations (samples of each process variable) in the reference batch.
Where J is the total number of variables/tags.
bc
i=0.8dbiavg+0.2xpi∀i∈SB
bc
i=1E+8∀i∈RF
Referring back to step 104 of
Once a reference batch has been selected, then batch phase boundaries can be placed on such batch. The method (and system) allow user to indicate the end points of the batch phases (the observation number/time in the reference batch), and which variable is associated with such phase boundary. Then, the variable trajectories with events associated with selected phase boundaries are aligned using DTW (i.e., one variable in each alignment problem with weighting equal to 1). After the alignment, the point of the raw batch aligned with the phase boundary in the reference is selected as the end point of the phase in the raw batch.
Select Key Variables (step 110 of
In some embodiments, in step 110 of
A potential key variable has a defined trajectory shape, the trajectory is not flat, it is very consistent from batch to batch, and it is smooth.
Discarding Variables with Flat Trajectories (Step 156 of
The analysis to determine key variables and their weightings is not required to be done considering all the batches in the dataset. The subset preferably has between 10 and 30 representative good batches. The subset of batches used here can be the same as the one used in the selection of reference batch procedure. It is recommended that the subset of batches may not contain batches previously identified as gross outliers. The subset of batches is denoted as SB herein.
Note that fixed constants (0.001 and 0.25) can define the segments since the batch data is assumed to be scaled to unit variance.
dƒ
i,j,k=abs(yi,j,kfilter−yi,j,k)∀j,k,i∈SB
dƒ
i,j,k
squared(dƒi,j,k)2)∀j,k,i∈SB
Note that sij,ph ∈[0,1].
Where SB is the subset of batches under consideration, the subscript i indicates the batches, k the time stamp, y the scaled values of the trajectory, Li,ph is the length of phase ph in batch i, Ki,ph is the set of time stamps in phase ph in batch i.
Where cmj,ph,third is the curvature magnitude of each third of the batch phase, Li,ph,third is the length of each third of phase ph in batch i, Ki,ph,third is the set of time stamps in each third of phase ph in batch i. Note that cvpj,ph ∈[0,1].
Note that csij,ph ∈[0,1].
There are two alignment scores which are computed for each variable and each phase by multiplying the curvature, consistency, and smoothness indices:
score_1j,ph
score_2j,ph=(1
Note that score_1j,ph,score_2j,ph ∈[0,1].
The closer the first alignment score score_1j,ph is to 1, the bigger the possibility that variable j can potentially work as an indicator variable for phase ph (i.e., curvature index cvij,ph is close to 1).
The closer the first alignment score score_2j,ph is to 1, the bigger the chance that variable j can potentially work as a variable with key event during the phase ph (i.e., curvature index cvij,ph is close to 0).
Based on alignment scores (step 172), embodiments allow user to select the key variables for each batch phase (step 174)
Further, embodiments may continue to estimate weightings (step 176). From the key variables, the user selects those with phase markers, information about variable attributes may be displayed to the user as described below.
Referring to
For each of these two steps, the method (and system) 100 shows the user suggested key variables (but he/she still makes the final decision). Such variables were chosen following the next steps:
Referring back to
Optionally the embodiments may further adjust variable weightings by performing following:
Although DTW algorithm has some undesirable characteristics for a complete solution as mentioned earlier, the disclosed method still uses DTW for a quick and preliminary estimate of batch maturity. DTW is a discrete-time algorithm and therefore runs faster. The batch alignment can be formulated as a discrete-time minimization problem and solved based on dynamic programming (see González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014); Ramaker, H. J., van Sprang, E. N., Westerhuis, J. A., & Smilde, A. K., “Dynamic time warping of spectroscopic BATCH data,” Analytica Chimica Acta, 498(1), 133-153 (August 2003); Zhang, Y., & Edgar, T. F., “A Robust Dynamic Time Warping Algorithm for Batch Trajectory Synchronization,” American Control Conference, pp. 2864-2869 (June 2008)). The DTW alignment method consists of two steps:
The cumulative distance Di,j is computed using eq. (1):
Parameters νv, νd, and νh, represent the cost associated with a vertical, diagonal, and horizontal move in the grid, respectively. di,j represents the local distance measure between point i and j. It is computed using eq. (2):
Subscript k represents the kth variable considered in the alignment problem (k=1, . . . , K), and wk is the weight associated to such variable. Note that wk≥0 ∀k, and Σk=1Kwk=1. By increasing the value of wk, the aligned trajectory of variable k of the current batch may follow more closely the trajectory of such variable in the reference batch. yRefk,j is the jth point of variable k in the reference batch, while yRawk,i is the ith point of variable k in the raw batch (i.e., current batch). ΔyRefk,j and ΔyRawk,i are the first derivative approximations using finite differences:
The parameter α (subject to 0≤α≤1) represents how much weight is put into the difference of the actual values, and the difference of the first derivative approximations.
Versions of DTW Employed in this Embodiment
1. DTW for Batch Data Alignment
This is the DTW version with fixed end point (described at the beginning of this section). Finding the optimal warping path from point (I,J) to point (1,1) is necessary.
2. DTW for Batch Maturity Estimation (Step 118 of
This is the DTW version with free end point. This means that step 1 of the DTW alignment method is necessary to determine batch maturity (González-Martínez, J. M., Ferrer, A., & Westerhuis, J. A., “Real-time synchronization of batch trajectories for on-line multivariate statistical process control using Dynamic Time Warping,” Chemometrics and Intelligent Laboratory Systems, 105(2), 195-206 (January 2011); Dai, C., Wang, K., & Jin, R., “Monitoring Profile Trajectories with Dynamic Time Warping Alignment,” Quality and Reliability Engineering International, 30(6), 815-827 (June 2014); González-Martínez, J. M., De Noord, O., & Ferrer, A. “Multi-synchro: a novel approach for batch synchronization in scenarios of multiple asynchronisms,” Journal of Chemometrics, 28(5):462-475 (October 2014)). The last row of the grid I×J contains the cumulative distance measures DI,j. Following the idea presented in
The local distance for points (1,1), (1, 2), and (1, 3) are set to a high value to avoid selecting a portion of the reference batch smaller than 4 points, which is the minimum size required for the alignment method:
d
I,j=1E+08∀1≤j≤3 (5)
3. Interval where to look for batch maturity (step 116 of
Given that DTW is a discrete-time method (i.e., sampling times of the reference and raw batch are fixed), it is known that DTW can introduce distortions in the aligned trajectory. Thus, the proposed method can use DTW either to provide a single point estimate of the batch maturity, or an interval where to search for the true batch maturity. Let's denote the minimum cumulative distance as D*=minj{DI,j}. The point at which D* occurs is denoted as BME, which is the batch maturity estimate from DTW. The interval where to look for the true batch maturity is defined as JINT=[BML, BMU] such that DI,j for any j ∈JINT satisfies DI,j≤γD*, where 1≤γ≤1.03. γ is a parameter related to the size of interval JINT, the larger the value of γ, the wider interval JINT is (see
Referring back to
a) The lower bound associated with γD* is increased;
b) The upper bound associated with γD* is reduced.
To keep the batch moving, if BMU−BML>κ, then BML=BMU−κ (
4. Parameter Values Used for DTW in the Example Embodiments
The following parameter values are used in DTW:
α=1
νd=1
νh=1.2
νv=1.2
γ∈[1, 1.03]
κ=30 data points
To address the issues of DTW algorithm may create, the disclosed method uses DTI algorithm as a calculation engine to solve a re-defined batch alignment problem in a modified format. Dynamic Time Interpolation (DTI) is an optimization-based method that allows sampling of the current batch at different times other than the raw data times by using a linear interpolation function. The DTI based batch alignment is able to address the issue of distortions in the aligned batch trajectory by a DTW. Its mathematical optimization formulation is defined as shown below:
Where yIntk,j is a linearly interpolated value computed using eq. (6):
Where interp( ) is the interpolation function, yRaw is the vector with the original values of the variables of the current batch measured at the corresponding times stored in vector tRaw (i.e., the original raw or sampling times). The duration of the current batch is RawBatchDuration=tRaw(I)−tRaw(1).
Variables Δtj are implicitly defined in DTI formulation as:
Δtj=tj+1−tj∀j=1, . . . ,J−1 (7)
Variables Δ(Δtj) are defined as:
Δ(Δtj)=Δtj+1−Δtj∀j=1, . . . ,J−2 (8)
Variables ΔyRefk,j and ΔyIntk,j are computed using the same approach as in eq. (3) and eq. (4).
Same restrictions apply for the variable weightings as in DTW: wk≥0 ∀k, and Σk=1Kwk=1. The rest of the parameters are defined as ΔtL=¼Δtnominal, ΔtU=⅓RawBatchDuration, and
The optimal values of Δtj variables are converted into alignment times using eq. (9) and stored in vector tAlign.
DTI solution depends on the selected variable weightings (wk).
Instead of aligning the entire trajectory of the current batch, the last portion is considered. This is referred as an alignment time window. The reasons to do this are:
The size of the alignment window is denoted by ω. Note that ω is given in terms of number of data points of the raw batch. Under certain conditions, the size of the alignment window can be greater than the one specified by the user.
The reference batch must be reduced to account for the moving alignment window and the DTW batch maturity bounds. Thus, subscript j goes from ρ to P, instead of 1 to J. The starting point of the reference batch is ρ, while the last point of the reference batch is P.
The DTI formulation is basically the same for the online batch alignment method (subscripts were modified to show that the problem is constructed for the current alignment window). However, there are additional constraints introducing key alignment times. numberKeyAlignmentTimes indicates the number of key alignment times within the current window. keyTimen represents the nth key alignment time, while keyTimenω represents the nth key alignment time adjusted for the current window ω, i.e., keyTimenω=keyTimen−startTimeω. The start time of the window is defined as startTimeω =tAlign (ρ), i.e., the time of the raw batch point aligned to reference batch point ρ. Nn is the number of Δtj variables that must sum keyTimenω. See Section “Dynamic time interpolation (DTI)”, subsection “Key alignment times”, for more information about key alignment times.
Note that yIntk,j is computed using eq. (10):
where the vectors yRawω and tRawω correspond to the adjusted values for the current alignment window. The other parameters are defined as follows: RawBatchDurationω=tRaw (τ−) tAlign (ρ), τ is the current point of the raw batch, ΔtL=¼ Δtnominal, ΔtU=⅓RawBatchDurationω and
In the current implementation, tRawω always start from zero.
Vector tAlign contains the optimal alignment times for the entire current batch. The elements associated with the current alignment window are updated.
Vector yAlign contains the optimal aligned trajectories of the entire current batch. The elements associated with the current alignment window are updated.
The disclosed method uses GSS combined with DTI algorithm to search the optimal alignment solution. The standard Golden section search algorithm was developed to find the optimum of a univariate unimodal function (Kiefer, J., “Sequential Minimax Search for a Maximum,” Proceedings of the American Mathematical Society, 4(3), 502-506 (1953)). It successively narrows the interval where the optimum is known to exist. The GSS steps for a minimization problem are the following:
GSS needs to be modified for batch maturity estimation. Cumulative distance as a function of the reference batch size (i.e., batch maturity) is not unimodal in some cases. GSS requires to take into account such nonconvexities. Given the solution approach that GSS takes (narrowing the interval where the optimum lies), GSS was selected over other techniques (e.g., Newton's method) because it is easier to detect nonconvexities and explore each subinterval separately. It is also a discrete problem. The objective is to find the point in the reference batch that provides the best alignment (i.e., minimum DTI objective function value) for the current raw batch. For this reason, this is a discrete problem. Also, in this case, function ƒ(P) means to align current raw batch (from θ to τ) against the reference batch given by points ρ to P using DTI. Note that before calling GSS, points θ, τ, and ρ may be known. In some embodiments, an unknown is P. Therefore, P needs to be an integer number.
The modified GSS algorithm steps are the following:
62) a=BML, b=BMU (BML and BMU are the reference batch points given by DTW solution)
To determine in which phase the sliding (alignment) window is, one point within the alignment window is evaluated. Such point is on the reference batch time grid. The point (ρ+x1) indicates when the sliding window enters a new phase. If point (ρ+x1) has crossed the current phase boundary, then the sliding window is considered in the next phase.
The current batch phase CurrentPhase is found when the following condition is met (eq. (11) is checked in ascending order starting with ph=1):
CurrentPhase=ph if ρ+x1<endPhaseph∀ph (11)
Where the subscript ph indicates the phase, and parameter endPhaseph is the reference batch point where phase ph ends.
Retrieve the variable weightings for the current phase.
w
j
=W
j,ph
∀j,ph=CurrentPhase
w
j,DTW1=MaxpreviousPhase≤ph≤CurrentPhase{Wj,ph,DTW1}∀j
w
j,DTW2=MaxpreviousPhase≤ph≤CurrentPhase{Wj,ph,DTW2}∀j if Wj,ph>0
Note that wj,DTW2 values are non-zero if and Wj,ph>0. This is because the second DTW problem does not take into account variables that were already discarded in an specific phase for being too inconsistent or without any relevant warping information.
The variable weightings are multiplied by an adjusting factor adjWj,ph. These factors are initialized at the beginning of the algorithm equal to 1, but they can be modified during the algorithm run.
w
j,DTW1
=w
j,DTW1 adjWj,ph∀j
w
j,DTW2
=w
j,DTW2 adjWj,ph∀j
Then normalize variables weightings such that their sum is equal to 1.
Step 4: Batch Maturity Estimation with DTW (Step 212 of
Batch maturity estimation is carried on by solving a DTW problem with free end point for two different sets of variable weightings. Also, the DTW problems are solved considering the current and previous phase.
From each DTW problem, the following results are obtained:
The lower and upper bounds for the user-specified DTW γ parameter: [BM1L,BM1U], [BM2L,BM2U]
The lower and upper bounds for the DTW γ parameter equal to 1.03: [BM1L,γ=1.03,BM1U,γ=1.03], [BM2L,γ=1.03,BM2U,γ=1.03]
If BM2L,γ=1.03>(BM1U,γ=1.03+2% (reference size)), then it is considered that the DTW problem 2 is significantly farther ahead than DTW problem 1. If that happens, the difference is computed (as a percentage):
BMdiff=100(BM2L,γ=1.03−BM1U,γ=1.03)/reference size
When DTW2 is considered to be significantly ahead of DTW1 (see Step 4.3), then follow the next steps:
The variable weightings for DTI problem are adjusted again since the adjusting factors might be different (depending on results from Step 4.4):
w
j
=w
j adjWj,ph∀j
Then normalize variables weightings such that their sum is equal to 1.
This adjustment is made when
If τ≤ω, then θ=ρ=1. This is the case at the beginning of the algorithm when the sliding window has not reached the user-specified size ω.
The starting point of the window when τ>ω is the aligned point before τ−ω.
If a simple linear extrapolation using the slope of the previous two points can yield a predicted value within 10% of the observed value, then no new relevant information (from the alignment perspective) is added. If that is the case, it is possible to assume the previous batch maturity estimate as the maturity lower bound.
Eq. (13) is used to compute the predicted values of the variables at the latest point in the batch. Eq. (14) computes the weighted relative error of the prediction.
If WeightedRelativePredictionErrorτ<0.1, then the previous batch maturity (BMτ−1) can override the current DTW lower bound BMτL as long as BMτL<BMτ-1≤BMτU, where BMτU is the current DTW upper bound. Note that BMτL, BMτU, and BMτ-1 are expressed in terms of data points of the reference batch.
It is usually necessary to re-align previous portion of the batch when:
The alignment window is increased up to 30 points.
Compute the backward differences for the points of the current batch within the alignment window for those variables with rank greater than or equal to 3. The reason to look at variables ranked 3 and higher is because lower ranked variables have much smaller weightings, so sharp deviations may not be as highly penalized. Also, note that rank is used here, not current weighting during alignment method (since those can be updated in Steps 3 and 5).
Finally, count the number of key alignment times within the current window. This is parameter numb erKeyAlignmentTimes.
The size of the window may be increased when the number of key alignment times is greater than the minimum possible size of the reference batch, i.e., when:
ρ+numberKeyAlignmentTimes>BML
If that is the case:
ρ=ρ−6
However, the start of the sliding window cannot be placed before the previous phase boundary to avoid moving back into the previous phase.
Step 12: Put Batch Maturity Bounds in Terms of Current Alignment Window Size and Final Check (step 228 of
Note that the bounds BML and BMU refer to points in the reference batch considering the entire trajectory. After saving these values, they are now put in terms of the current size of the reference batch:
BML=BML−ρ+1
BMU=BMU−ρ+1
Step 13: Call GSS method (invoke GSS method by step 230, the GSS method being called/applied, collectively, steps 246, 248, 250, 252, 254, 256 of
Run the modified Golden Section Search method described in subsection “GSS for batch maturity estimation”.
Follow the steps shown in subsection “GSS for batch maturity estimation”.
If there are any key alignment times identified during Step 224 of
Step 13.3: Introduce Key Alignment Times into DTW Solution (Step 250 of
Replace the times from the DTW solution closer to the key alignment times. First and last times cannot be replaced.
Count the number of time points in the adjusted DTW solution from Step 13.3 that are before each key alignment time keyTimenω. That gives Nn for each keyTimenω.
Step 13.5: Construct Additional Constraints for DTI that Force to Sample Key Alignment Times (Step 254 of
The constraints are formulated as:
Solve the corresponding DTI problem. Update best solution if the current one represents an improvement over the best one so far in the GSS method.
Once the final batch maturity BM is calculated, to put it in terms of the entire reference batch, it is updated as BM=BM+ρ−1.
After that, the batch maturity as a percentage is calculated: BM %=100(BM/referenceSize).
Referring to
Also illustrated in
The system computers 501 and 502 may communicate with the data server 503 to access collected data for measurable process variables from a historian database 511. The data server 503 may be further communicatively coupled to a distributed control system (DCS) 504, or any other plant operation or batch control system, which may be configured with instruments 509A-509I, 506, 507 that collect data at a regular sampling period (e.g., one sample per minute) for the measurable process variables. The instruments may communicate the collected data to an instrumentation computer 505, also configured in the DCS 504, and the instrumentation computer 505 may in turn communicate the collected data to the data server 503 over communications network 508. The data server 503 may then archive the collected data in the historian database 511 for model development and deployment purposes. The batch data collected varies according to the type of target process.
The collected data may include measurements for various measurable batch process variables. These measurements may include a feed stream flow rate as measured by a flow meter 509B, a feed stream temperature as measured by a temperature sensor 509C, component feed concentrations as determined by an analyzer 509A, and reactor cooling temperature in a pipe as measured by a temperature sensor 509D. The collected data may also include measurements for process output stream variables, such as the concentration of produced materials, as measured by analyzers 506 and 507. The collected data may further include measurements for manipulated input variables, such as flow rate as set by valve 509F and determined by flow meter 509H, a cooling water flow rate as set by valve 509E and measured by flow meter 509I, and pressure in a batch reactor as controlled by a valve 509G. The collected data reflect the operation conditions of the representative plant batch process during a particular sampling period.
The collected data is archived in the historian database 511 for batch modeling and control purposes.
The data collected varies according to the type of target process.
In
Alternatively, the instrumentation computer 505 can store the historical data 511 through the data server 503 in the historian database 511 and execute the batch offline/online alignment in a stand-alone mode. Collectively, the instrumentation computer 505, the data server 503, and various sensors and output drivers (e.g., 509A-509I, 506, 507) form the DCS 504 and work together to implement and run the presented application.
Some embodiments are illustrated in the example architecture 500 of the computer system. Some embodiments support the process operation of the present invention in a representative plant batch process. In some embodiments, the representative plant may be a special chemical processing plant or a pharmaceutical batch process having a large number of measurable process variables such as temperature, pressure and flow rate variables. It should be understood that in other embodiments the present invention may be used in a wide variety of other types of equipment, or technological processes in the useful arts.
Client computer(s)/devices 50 and server computer(s) 60 provide processing, storage, and input/output devices executing application programs and the like. Client computer(s)/devices 50 can also be linked through communications network 70 to other computing devices, including other client devices/processes 50 and server computer(s) 60. Communications network 70 can be part of a remote access network, a global network (e.g., the Internet), cloud computing servers or service, a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. Other electronic device/computer network architectures are suitable.
In one embodiment, the processor routines and data are a computer program product (generally referenced as controller 731), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system. Computer program product 731 can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention programs are a computer program propagated signal product 107 embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program 731.
In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product 731 is a propagation medium that the computer system 50 may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product.
Generally speaking, the term “carrier medium” or transient carrier encompasses the foregoing transient signals, propagated signals, propagated medium, storage medium and the like.
In other embodiments, the program product 731 may be implemented as a so-called Software as a Service (SaaS), or other installation or communication supporting end-users.
More specifically,
Further connected to the bus 725 is a batch alignment executor module 723. The batch alignment executor module 723 performs batch data alignment for offline modeling and online deployment as detailed above in
The system 720 further comprises a secondary module 724 that is communicatively/operatively coupled to the batch alignment executor module 723. The secondary module 724 is configured to generate batch monitoring signals (i.e. batch variable measurements) or product quality prediction values generated by the plant process model as described above in
The system 720 further comprises a search engine 733 and parametric analyzer 735 as part of a plant system analysis module 736 that is communicatively/operatively coupled to the batch alignment executor module 723 and secondary module 724. The batch alignment executor module 723 and secondary module 724 from controller 731, of the plant system analysis 736. Plant system analysis module 736 performs and operates as described for batch processes illustrated in
It should be understood that the example embodiments described herein may be implemented in many different ways. In some instances, the various methods and machines described herein may each be implemented by a physical, virtual, or hybrid general purpose computer, such as the computer system 720. The computer system 720 may be transformed into the machines that execute the methods described herein, for example, by loading software instructions into either memory 727 or non-volatile storage 726 for execution by the CPU 722. Further, while the batch alignment executor module 723, secondary module 724, search engine module 723, and parametric analyzer module 735 are shown as separate modules, in an example embodiment these modules may be implemented using a variety of configurations, included implemented together as a batch data alignment module for modeling, monitoring and control of a plant.
The system 720 and its various components may be configured to carry out any embodiments of the present invention described herein. For example, the system 720 may be configured to carry out the methods 100 . . . and 600 described hereinabove in relation to
As illustrated in
In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the disclosure system. Computer program product 92 may be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication or wireless connection. In other embodiments, the disclosure programs are a computer program propagated signal product 107 (shown in
Embodiments or aspects thereof may be implemented in the form of hardware (including but not limited to hardware circuitry), firmware, or software. If implemented in software, the software may be stored on any non-transient computer readable medium that is configured to enable a processor to load the software or subsets of instructions thereof. The processor then executes the instructions and is configured to operate or cause an apparatus to operate in a manner as described herein.
Further, hardware, firmware, software, routines, or instructions may be described herein as performing certain actions or functions of the data processors. However, it should be appreciated that such descriptions contained herein are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.
It should be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, be arranged differently, or be represented differently. But it further should be understood that certain implementations may dictate the block and network diagrams and the number of block and network diagrams illustrating the execution of the embodiments be implemented in a particular way.
Accordingly, further embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, or some combination thereof, and, thus, the data processors described herein are intended for purposes of illustration and not as a limitation of the embodiments.
While this disclosure has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the disclosure encompassed by the appended claims.
Some embodiments may provide one or more technical advantages that may transform the behavior or data, provide functional improvements, or solve a technical problem. In some embodiments, technical advantages or functional improvements may include but are not limited to improvement of efficiency, accuracy, speed or other effects compared to the existing methods. Some embodiments provide technical advantages or functional improvements in that they overcome functional deficiencies of existing methods. Some embodiments include technical advantages that include but are not limited to performance improvement or scalability compared with existing approaches.
According to some embodiments, other technical advantages or functional improvements may include but are not limited to the following. Some embodiments may provide a technical advantage or functional improvement by improving the performance and efficiency of one or more of the following, and some embodiments solve a technical problem, thereby providing a technical effect, by one or more of the following:
The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments encompassed by the appended claims.