Bi-Objective Dynamic Systems Identification (BODSI class)

Versione 2.0.0 (202 KB) da Márcio
Bi-objective system identification using Polynomial NARX models minimizes dynamic and static errors via Pareto-optimal solutions
14 download
Aggiornato 7 apr 2025

Visualizza la licenza

Description: The Bi-Objective Dynamic Systems Identification (BODSI) class offers a robust framework for identifying dynamic systems modeled by Polynomial NARX structures. It adopts a bi-objective parameter estimation technique where the first equation minimizes the dynamic error, and the second equation ensures precise static curve fitting. This is achieved through a approach, which combines the two objectives into a weighted sum:
where represents the dynamic error and represents the static error. By solving this optimization problem, the class generates a Pareto-Optimal Set of models, balancing the trade-offs between dynamic accuracy and static fidelity.
The BODSI class includes functionalities for generating candidate terms, identifying clusters, constructing dynamic and static matrices, and parameter mapping, in addition to advanced decision-making tools based on model correlation. This ensures unbiased parameter estimation and allows users to visualize static models, validate dynamic performance, and select optimal solutions for their specific needs.
As an example of application, the user may load the two files attached to the package:
(1 - exempleBODSI.m) real data from a Buck-Boost type DC-DC converter, where the dynamic data is constrained within a narrow range of static data. To correct the parameter estimation, theoretical static data were used. These complementary data were utilized, and it is possible to verify that the identified model is capable of reproducing the static behavior over a wider range than the information available in the dynamic data.
(2 - exempleBODSI2.m) real data from a fixed-pressure pump system, where the dynamic and static data fall within the same range of values, but the data exhibits high variance, which could, in principle, easily bias an MQ estimator. However, the Bi-Objective estimator is able to regulate the estimator and find a viable model.
To compare the models with and without the bi-objective estimator, evaluate the same structure using the least squares estimator to obtain the structure's parameters, as follows:
P is the regressor matrix that can be obtained through the function bodsi.buildRegressorMatrix and represents the dynamic identification data.
It is important for the user to note that the estimator will only be capable of generating the Pareto-Optimal set whose structure is compatible with the static data. If the detected structure is not adequate, there will be Pareto points that are not minima, and the output may become unstable. In this sense, the existence of the Pareto-optimal (non-orderable) set indicates that the structure is appropriate for both dynamic and static data.
For further details on the minimal correlation criterion and its use in multi-objective parameter estimation, refer to:
[1] Márcio F.S. Barroso, Ricardo H.C. Takahashi, Luis A. Aguirre, "Multi-objective parameter estimation via minimal correlation criterion," Journal of Process Control, Volume 17, Issue 4, 2007, Pages 321-332, ISSN 0959-1524.
https://doi.org/10.1016/j.jprocont.2006.10.005

Cita come

Márcio F. S. Barroso, Eduardo M. A. M. Mendes and Jim Jones S. Marciano. Bi-Objective Dynamic Systems Identification (BODSI class) (https://www.mathworks.com/matlabcentral/fileexchange/180331), MATLAB Central File Exchange. Retrieved March 8, 2025.

Compatibilità della release di MATLAB
Creato con R2010b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
2.0.0

Optimization in the simulation of models

1.1.3

New helps

1.1.2

New Plot functions

1.1.1

New models disp

1.1.0

New static model viewer

1.0.5

Improvement in the visualization of equations

1.0.4

Performance improvement.

1.0.3

fix Akaike function.

1.0.2

grid fix

1.0.1

Link fix

1.0.0