Pyomo / pyomo

An object-oriented algebraic modeling language in Python for structured optimization problems.
https://www.pyomo.org
Other
1.9k stars 490 forks source link

Create pyomo_universal_pwl_format.py #3299

Open al-drm opened 1 week ago

al-drm commented 1 week ago

Fixes # .

Summary/Motivation:

pyomo_universal_pwl_format.py demonstrates concept of new universal human readable format for function approximation in PYOMO for: 1) stationary process modeling subblocks (for nonlinear system of equations) 2) state estimation (process data reconciliation) and gross error detection

Function "mesh block" builds PYOMO concrete model from df_PWL. Returned by "mesh block" PYOMO model represents the union of convex simplexes. Can be use to model even discontinuous functions and nonzero volume domains.

Function argument df_PWL - dataframe representing uneversal format for PWL approximation: 1) vertexes are index by rows 2) columns till last - vertex coordinates 3) last column - list of simplex numbers, that includes rows vertex

Changes proposed in this PR:

Legal Acknowledgement

By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.
blnicho commented 1 week ago

Could you please provide a description of what this is, what it does, and why it belongs in Pyomo?

al-drm commented 1 week ago

Thank you @blnicho for reply. I've provided basic description above