## APMonitor Documentation

## Main.HomePage History

Hide minor edits - Show changes to output

Changed lines 76-77 from:

Please consider citing the following ~~article~~ for ~~the ~~APMonitor ~~Optimization Suite~~.

to:

Please consider citing the following articles for APMonitor and Gekko.

Added lines 79-80:

* Beal, L.D.R., Hill, D., Martin, R.A., and Hedengren, J. D., ''GEKKO Optimization Suite'', Processes, Volume 6, Number 8, 2018, doi: 10.3390/pr6080106. [[https://www.mdpi.com/2227-9717/6/8/106|Article]]

Changed line 9 from:

%height=50px%Attach:apm_python.png [[Main/GekkoPythonOptimization | Get ~~Started~~ with Python Gekko]]

to:

%height=50px%Attach:apm_python.png [[Main/GekkoPythonOptimization | Get started with Python Gekko]]

Added line 9:

%height=50px%Attach:apm_python.png [[Main/GekkoPythonOptimization | Get Started with Python Gekko]]

Changed lines 5-6 from:

to:

APMonitor, or "Advanced Process Monitor" is optimization software for mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear predictive control with solution capabilities for high-index differential and algebraic (DAE) equations. It is available as a [[Main/MATLAB | MATLAB toolbox]], a [[Main/PythonApp | Python module]], a [[Main/JuliaOpt | Julia package]], or from a [[https://apmonitor.com/online/view_pass.php | web browser interface]].

Changed lines 33-34 from:

Differential and algebraic (DAE) models are a natural expression of systems that change with time. These dynamic systems may be as simple as a falling apple or as complex as biological metabolic pathways. DAE models are generally easy to write but often difficult to solve analytically. Entire university level courses are devoted to the solution of particular types of differential equations in analytic form. Solution of more complex systems is better handled through numeric approaches. There are many software packages that can solve DAE models for small and medium size problems. %blue%A%red%P%black%Monitor is designed to solve large-scale problems. Additionally, other software packages often require the user to reformulate the equations into a restrictive form. ~~%blue%A%red%P%black%Monitor~~ allows an open-equation format that is less restrictive.

to:

Differential and algebraic (DAE) models are a natural expression of systems that change with time. These dynamic systems may be as simple as a falling apple or as complex as biological metabolic pathways. DAE models are generally easy to write but often difficult to solve analytically. Entire university level courses are devoted to the solution of particular types of differential equations in analytic form. Solution of more complex systems is better handled through numeric approaches. There are many software packages that can solve DAE models for small and medium size problems. %blue%A%red%P%black%Monitor is designed to solve large-scale problems. Additionally, other software packages often require the user to reformulate the equations into a restrictive form. APMonitor allows an open-equation format that is less restrictive.

Changed line 37 from:

to:

APMonitor uses a simultaneous or sequential solution approach to solve the differential and algebraic equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial. APMonitor provides Nonlinear Programming Solvers (such as APOPT, BPOPT, IPOPT, MINOS, SNOPT) are accessed by switching [[Main/OptionApmSolver|APM.SOLVER]]. It provides the required information to the solvers by compiling the model to byte code with automatic differentiation for derivatives in sparse form.

Changed lines 7-9 from:

to:

%height=50px%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

%height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

%height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed line 29 from:

[[Main/OptionApmImode|APM.IMODE]] 1-3 modes are steady state options with all derivatives set equal to zero. Modes 4-6 are dynamic modes where the differential equations define how the variables change with time. Modes 7-9 are the same as 4-6 except the solution is performed with a sequential versus a simultaneous approach. Each mode for simulation, estimation, and optimization has a steady state and dynamic option.

to:

[[Main/OptionApmImode|APM.IMODE]] 1-3 modes are steady state options with all derivatives set equal to zero. Modes 4-6 are dynamic modes where the differential equations define how the variables change with time. Modes 7-9 are the same as 4-6 except the solution is performed with a sequential versus a simultaneous approach. Each mode for simulation, estimation, and optimization has a steady state and dynamic option. There are many additional [[Main/DbsGlobal|application configuration options]] and [[Main/DbsVariable|parameter and variable options]] that can be set or retrieved in MATLAB or Python.

Changed lines 7-9 from:

* %height=~~30px~~%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

* %height=~~30px~~%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

* %height=~~30px~~%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

* %height=

* %height=

to:

* %height=50px%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

* %height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

* %height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

* %height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

* %height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed lines 37-38 from:

%blue%A%red%P%black%Monitor uses a simultaneous or sequential solution approach to solve the differential and algebraic equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial. APMonitor provides ~~the following to a Nonlinear Programming Solver (such as APOPT~~, ~~BPOPT, IPOPT, MINOS, SNOPT) in sparse~~ form~~:~~

to:

%blue%A%red%P%black%Monitor uses a simultaneous or sequential solution approach to solve the differential and algebraic equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial. APMonitor provides Nonlinear Programming Solvers (such as APOPT, BPOPT, IPOPT, MINOS, SNOPT) are accessed by switching [[Main/OptionApmSolver|APM.SOLVER]]. It provides the required information to the solvers by compiling the model to byte code with automatic differentiation for derivatives in sparse form.

Changed line 57 from:

When the system of equations does not converge, APMonitor produces a convergence report in ''infeasibilities.txt''. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting [[Main/OptionApmDiaglevel|APM.DIAGLEVEL]] to higher levels (0-10) gives more output to the user. Setting [[Main/OptionApmColdstart|APM.COLDSTART]] to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

to:

When the system of equations does not converge, APMonitor produces a convergence report in ''infeasibilities.txt'' that can be retrieved with ''apm_get(s,a,'infeasibilities.txt')''. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting [[Main/OptionApmDiaglevel|APM.DIAGLEVEL]] to higher levels (0-10) gives more output to the user. Setting [[Main/OptionApmColdstart|APM.COLDSTART]] to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

Changed lines 13-17 from:

APMonitor compiles a model to byte-code and performs model reduction based on analysis of the sparsity structure (incidence of variables in equations or objective function) of the model. For differential and algebraic equation systems, orthogonal collocation on finite elements is used to transcribe the problem into a purely algebraic system of equations. ~~APMonitor has several modes of~~ operation, adjustable with the ~~imode parameter~~. The core of all modes is the ~~nonlinear ~~model. Each mode interacts with the nonlinear model to receive or provide information. The 9 modes of operation are:

to:

APMonitor compiles a model to byte-code and performs model reduction based on analysis of the sparsity structure (incidence of variables in equations or objective function) of the model. For differential and algebraic equation systems, orthogonal collocation on finite elements is used to transcribe the problem into a purely algebraic system of equations.

!!!! Modes of Operation

APMonitor has several modes of operation, adjustable with the [[Main/OptionApmImode|APM.IMODE]] parameter. The core of all modes is the model (linear or nonlinear). Each mode interacts with the nonlinear model to receive or provide information. The 9 modes of operation are:

!!!! Modes of Operation

APMonitor has several modes of operation, adjustable with the [[Main/OptionApmImode|APM.IMODE]] parameter. The core of all modes is the model (linear or nonlinear). Each mode interacts with the nonlinear model to receive or provide information. The 9 modes of operation are:

Changed lines 29-32 from:

to:

[[Main/OptionApmImode|APM.IMODE]] 1-3 modes are steady state options with all derivatives set equal to zero. Modes 4-6 are dynamic modes where the differential equations define how the variables change with time. Modes 7-9 are the same as 4-6 except the solution is performed with a sequential versus a simultaneous approach. Each mode for simulation, estimation, and optimization has a steady state and dynamic option.

!!!! Differential and Algebraic Equations

Differential and algebraic (DAE) models are a natural expression of systems that change with time. These dynamic systems may be as simple as a falling apple or as complex as biological metabolic pathways. DAE models are generally easy to write but often difficult to solve analytically. Entire university level courses are devoted to the solution of particular types of differential equations in analytic form. Solution of more complex systems is better handled through numeric approaches. There are many software packages that can solve DAE models for small and medium size problems. %blue%A%red%P%black%Monitor is designed to solve large-scale problems. Additionally, other software packages often require the user to reformulate the equations into a restrictive form. %blue%A%red%P%black%Monitor allows an open-equation format that is less restrictive.

!!!! Nonlinear and Mixed Integer Solvers

%blue%A%red%P%black%Monitor uses a simultaneous or sequential solution approach to solve the differential and algebraic equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial. APMonitor provides the following to a Nonlinear Programming Solver (such as APOPT, BPOPT, IPOPT, MINOS, SNOPT) in sparse form:

!!!! Differential and Algebraic Equations

Differential and algebraic (DAE) models are a natural expression of systems that change with time. These dynamic systems may be as simple as a falling apple or as complex as biological metabolic pathways. DAE models are generally easy to write but often difficult to solve analytically. Entire university level courses are devoted to the solution of particular types of differential equations in analytic form. Solution of more complex systems is better handled through numeric approaches. There are many software packages that can solve DAE models for small and medium size problems. %blue%A%red%P%black%Monitor is designed to solve large-scale problems. Additionally, other software packages often require the user to reformulate the equations into a restrictive form. %blue%A%red%P%black%Monitor allows an open-equation format that is less restrictive.

!!!! Nonlinear and Mixed Integer Solvers

%blue%A%red%P%black%Monitor uses a simultaneous or sequential solution approach to solve the differential and algebraic equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial. APMonitor provides the following to a Nonlinear Programming Solver (such as APOPT, BPOPT, IPOPT, MINOS, SNOPT) in sparse form:

Changed lines 51-56 from:

When the system of equations does not

!!!!

to:

!!!! Viewing Results

Once the solution is complete, APMonitor writes the results in results.csv that is available for transfer from the apm_sol(s,a) function in MATLAB or Python. It also creates several web-interface pages that are accessed with '''apm_web(s,a)'''. The web-interface includes a sensitivity analysis if [[Main/OptionApmSensitivity|APM.SENSITIVITY]] = 1 (ON).

!!!! Advanced Diagnostics

When the system of equations does not converge, APMonitor produces a convergence report in ''infeasibilities.txt''. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting [[Main/OptionApmDiaglevel|APM.DIAGLEVEL]] to higher levels (0-10) gives more output to the user. Setting [[Main/OptionApmColdstart|APM.COLDSTART]] to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

!!!! Range of Usage

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extends the applicability for pre- and post-processing of the optimization solution results.

!!!! References to Cite

Once the solution is complete, APMonitor writes the results in results.csv that is available for transfer from the apm_sol(s,a) function in MATLAB or Python. It also creates several web-interface pages that are accessed with '''apm_web(s,a)'''. The web-interface includes a sensitivity analysis if [[Main/OptionApmSensitivity|APM.SENSITIVITY]] = 1 (ON).

!!!! Advanced Diagnostics

When the system of equations does not converge, APMonitor produces a convergence report in ''infeasibilities.txt''. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting [[Main/OptionApmDiaglevel|APM.DIAGLEVEL]] to higher levels (0-10) gives more output to the user. Setting [[Main/OptionApmColdstart|APM.COLDSTART]] to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

!!!! Range of Usage

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extends the applicability for pre- and post-processing of the optimization solution results.

!!!! References to Cite

Deleted lines 113-134:

!!! Differential and Algebraic Equations

Differential and algebraic (DAE) models are a natural expression of systems that change with time. These dynamic systems may be as simple as a falling apple or as complex as biological metabolic pathways. DAE models are generally easy to write but often difficult to solve analytically. Entire university level courses are devoted to the solution of particular types of differential equations in analytic form. Solution of more complex systems is better handled through numeric approaches. There are many software packages that can solve DAE models for small and medium size problems. %blue%A%red%P%black%Monitor is designed to solve large-scale problems. Additionally, other software packages often require the user to reformulate the equations into a restrictive form. %blue%A%red%P%black%Monitor allows an open-equation format that is less restrictive.

!!!! Solution options

%blue%A%red%P%black%Monitor uses a simultaneous solution approach to solve the differential equations. The differential equations are converted to algebraic equations and solved with large-scale sparse solvers. There are an assortment of solvers available with various user's licenses, ranging from free and open-source to commercial.

!!!! Range of usage

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extends the applicability for pre- and post-processing of the optimization solution results.

Changed lines 7-12 from:

%height=~~50px~~%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

%height=~~50px~~%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=~~50px~~%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

to:

* %height=30px%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

* %height=30px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

* %height=30px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

* %height=30px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

* %height=30px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed line 28 from:

to:

Added lines 40-41:

Once the solution is complete, APMonitor writes the results in results.csv that is available for transfer from the apm_sol(s,a) function in MATLAB or Python. It also creates several web-interface pages that are accessed with apm_web(s,a). The web-interface includes a sensitivity analysis if [[Main/OptionApmSensitivity|APM.SENSITIVITY]] = 1 (ON).

Changed lines 43-45 from:

When the system of equations does not converge, APMonitor produces a convergence report in ‘infeasibilities

to:

When the system of equations does not converge, APMonitor produces a convergence report in ‘infeasibilities.txt’. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting [[Main/OptionApmDiaglevel|APM.DIAGLEVEL]] to higher levels (0-10) gives more output to the user. Setting [[Main/OptionApmColdstart|APM.COLDSTART]] to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

Added lines 28-45:

APMonitor provides the following to a Nonlinear Programming Solver (APOPT, BPOPT, IPOPT, MINOS, SNOPT) in sparse form:

* Variables with default values and constraints

* Objective function

* Equations

* Evaluation of equation residuals

* Sparsity structure

* Gradients (1st derivatives)

* Gradient of the equations

* Gradient of the objective function

* Hessian of the Lagrangian (2nd derivatives)

* 2nd Derivative of the equations

* 2nd Derivative of the objective function

Once the solution is complete, APMonitor writes the results in results.csv that is available for transfer from the apm_sol(s,a) function in MATLAB or Python. It also creates several web-interface pages that are accessed with apm_web(s,a). The web-interface includes a sensitivity analysis if [[Main/OptionApmSensitvity|APM.sensitivity]] = 1 (ON).

When the system of equations does not converge, APMonitor produces a convergence report in ‘infeasibilities.txt’. There are other levels of debugging that help expose the steps that APMonitor is taking to analyze or solve the problem. Setting APM.diaglevel to higher levels (0-10) gives more output to the user. Setting APM.coldstart to 2 decomposes the problem into irreducible sets of variables and equations to identify infeasible equations or properly initialize a model.

Added lines 12-27:

The APMonitor modeling language is a high-level abstraction of mathematical optimization problems. Values in the models are defined by Constants, Parameters, and Variables. The values are related to each other by Intermediates or Equations. Objective functions are defined to maximize or minimize certain values. Objects are built-in collections of values (constants, parameters, and variables) and relationships (intermediates, equations, and objective functions). Objects can build upon other objects with object-oriented relationships.

APMonitor compiles a model to byte-code and performs model reduction based on analysis of the sparsity structure (incidence of variables in equations or objective function) of the model. For differential and algebraic equation systems, orthogonal collocation on finite elements is used to transcribe the problem into a purely algebraic system of equations. APMonitor has several modes of operation, adjustable with the imode parameter. The core of all modes is the nonlinear model. Each mode interacts with the nonlinear model to receive or provide information. The 9 modes of operation are:

* Steady-state simulation (SS)

* Model parameter update (MPU)

* Real-time optimization (RTO)

* Dynamic simulation (SIM)

* Moving horizon estimation (EST)

* Nonlinear control / dynamic optimization (CTL)

* Sequential dynamic simulation (SQS)

* Sequential dynamic estimation (SQE)

* Sequential dynamic optimization (SQO)

Modes 1-3 are steady state modes with all derivatives set equal to zero. Modes 4-6 are dynamic modes where the differential equations define how the variables change with time. Modes 7-9 are the same as 4-6 except the solution is performed with a sequential versus a simultaneous approach. Each mode for simulation, estimation, and optimization has a steady state and dynamic option.

Changed lines 7-11 from:

%height=~~100px~~%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

%height=~~100px~~%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=~~100px~~%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

%height=

%height=

to:

%height=50px%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

%height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

%height=50px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=50px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed lines 7-11 from:

Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

to:

%height=100px%Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

%height=100px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=100px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

%height=100px%Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

%height=100px%Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed lines 13-15 from:

!!!! ~~Software Technical Reference~~

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.~~F. Edgar~~, ~~[[https://www~~.~~sciencedirect~~.~~com/science/article/pii/S0098135414001306|Nonlinear Modeling, Estimation and Predictive Control in APMonitor]], Computers & Chemical Engineering~~, ~~2014~~.

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T

to:

!!!! Reference to Cite

Please consider citing the following article for the APMonitor Optimization Suite.

* Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014, DOI: 10.1016/j.compchemeng.2014.04.013. [[https://www.sciencedirect.com/science/article/pii/S0098135414001306|Article]] - [[Attach:APMonitor_2014.pdf|Preprint]] - [[Attach:APMonitor.bib|BibTeX]] - [[Attach:APMonitor.ris|RIS]]

Other applications of APMonitor are listed on the [[Main/APMonitorReferences|references page]]. Please send a note to support@apmonitor.com if you'd like to add a reference to the list.

Please consider citing the following article for the APMonitor Optimization Suite.

* Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014, DOI: 10.1016/j.compchemeng.2014.04.013. [[https://www.sciencedirect.com/science/article/pii/S0098135414001306|Article]] - [[Attach:APMonitor_2014.pdf|Preprint]] - [[Attach:APMonitor.bib|BibTeX]] - [[Attach:APMonitor.ris|RIS]]

Other applications of APMonitor are listed on the [[Main/APMonitorReferences|references page]]. Please send a note to support@apmonitor.com if you'd like to add a reference to the list.

Changed lines 5-8 from:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is optimization software for mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear predictive control with solution capabilities for high-index differential and algebraic (DAE) equations. It is available as a [[Main/MATLAB | MATLAB toolbox]], [[Main/PythonApp | Python]], ~~or from a ~~[[~~https:~~/~~/apmonitor.com/online/view_pass.php~~ | ~~web browser interface~~]].

----

----

to:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is optimization software for mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear predictive control with solution capabilities for high-index differential and algebraic (DAE) equations. It is available as a [[Main/MATLAB | MATLAB toolbox]], a [[Main/PythonApp | Python module]], a [[Main/JuliaOpt | Julia package]], or from a [[https://apmonitor.com/online/view_pass.php | web browser interface]].

Deleted lines 8-9:

Changed lines 11-15 from:

Attach:apm_learn.png [[Main/CourseRegistration |

----

to:

Attach:apm_learn.png [[Main/CourseRegistration | Select a course to get started]]

Changed lines 9-10 from:

Attach:apm_matlab.png [[Main/MATLAB | Download ~~Latest~~ MATLAB ~~Toolbox~~]]

to:

Attach:apm_matlab.png [[Main/MATLAB | Download latest MATLAB toolbox]]

Changed lines 13-14 from:

Attach:apm_python.png [[Main/PythonApp | Download ~~Latest~~ Python ~~Package~~]]

to:

Attach:apm_python.png [[Main/PythonApp | Download latest Python package]]

----

Attach:apm_learn.png [[Main/CourseRegistration | Register for a course to get started]]

----

Attach:apm_learn.png [[Main/CourseRegistration | Register for a course to get started]]

Changed lines 5-6 from:

to:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is optimization software for mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include data reconciliation, moving horizon estimation, real-time optimization, dynamic simulation, and nonlinear predictive control with solution capabilities for high-index differential and algebraic (DAE) equations. It is available as a [[Main/MATLAB | MATLAB toolbox]], [[Main/PythonApp | Python]], or from a [[https://apmonitor.com/online/view_pass.php | web browser interface]].

Deleted lines 19-20:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control.

Changed line 21 from:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control~~. APMonitor does not solve the problems directly, but calls appropriate external solvers~~.

to:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control.

Added lines 5-8:

The APMonitor Modeling Language is optimization software for mixed-integer and differential algebraic equations. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include data reconciliation, real-time optimization, dynamic simulation, and nonlinear predictive control. It is available through MATLAB, Python, or from a web browser interface.

----

----

Added lines 10-12:

----

Deleted lines 16-29:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extend the applicability for pre- and post-processing of the optimization solution results.

----

Added lines 64-77:

!!!! Range of usage

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extends the applicability for pre- and post-processing of the optimization solution results.

Changed lines 5-6 from:

to:

Attach:apm_matlab.png [[Main/MATLAB | Download Latest MATLAB Toolbox]]

Attach:apm_python.png [[Main/PythonApp | Download Latest Python Package]]

Attach:apm_python.png [[Main/PythonApp | Download Latest Python Package]]

Changed line 1 from:

(:title APMonitor~~ Modeling Language~~ Documentation:)

to:

(:title APMonitor Documentation:)

Added lines 4-8:

[[Main/MATLAB | Attach:apm_matlab.png Download Latest MATLAB Toolbox]]

[[Main/PythonApp | Attach:apm_python.png Download Latest Python Package]]

----

Deleted lines 46-47:

Deleted line 54:

Deleted lines 58-62:

!!! %blue%A%red%P%black%Monitor Overview

%blue%A%red%P%black%Monitor software is a modeling, simulation, and optimization environment for large-scale models of differential and algebraic equations (DAEs). These models are employed in [[Main/Modes|nine solution modes]]. The DAE model does not have to be changed to switch between the modes. The same model is used for parameter fitting, dynamic simulation, optimization, and control. The user is required to define the model and the software automatically configures the various simulation options.

Deleted lines 61-66:

!!!! Chemical Process Flowsheets

A thermodynamic database and a number of prebuilt nonlinear models are available with %blue%A%red%P%black%Monitor. The chemical processing modeling package includes polymer reactors, distillation columns, compressors, valves, etc. These models are combined to form a flowsheet in an object-oriented environment.

----

Changed lines 19-21 from:

Software Technical Reference

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers & Chemical Engineering, 2014.

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers & Chemical Engineering, 2014.

to:

!!!! Software Technical Reference

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, [[https://www.sciencedirect.com/science/article/pii/S0098135414001306|Nonlinear Modeling, Estimation and Predictive Control in APMonitor]], Computers & Chemical Engineering, 2014.

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, [[https://www.sciencedirect.com/science/article/pii/S0098135414001306|Nonlinear Modeling, Estimation and Predictive Control in APMonitor]], Computers & Chemical Engineering, 2014.

Changed lines 15-16 from:

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes.

to:

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes. A modeling language interface to MATLAB and Python extend the applicability for pre- and post-processing of the optimization solution results.

Added lines 19-22:

Software Technical Reference

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers & Chemical Engineering, 2014.

* %list list-page% J.D. Hedengren, R. Asgharzadeh Shishavan, K.M. Powell, T.F. Edgar, Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Computers & Chemical Engineering, 2014.

Added line 24:

Changed lines 60-71 from:

%blue%A%red%P%black%Monitor software is a modeling, simulation, and optimization environment for large-scale models of differential and algebraic equations (DAEs). These models are employed in ~~seven~~ solution modes~~:~~

* %list list-cat% [[Main/SteadyState|Steady-State (SS)]]

* [[Main/ParameterFit|Parameter Fit (MPU)]]

* [[Main/Optimization|Optimization (RTO)]]

* [[Main/Simulation|Simulation (SIM)]]

* [[Main/Estimation|Estimation (EST)]]

* [[Main/Control|Control (CTL)]]

* [[Main/Sequential|Sequential (SQS)]]

The DAE model does not have to be changed to switch between the modes. The same model is used for parameter fitting, dynamic simulation, optimization, and control. The user is required to define the model and the software automatically configures the various simulation options.

* %list list-cat% [[Main/SteadyState|Steady-State (SS)]]

* [[Main/ParameterFit|Parameter Fit (MPU)]]

* [[Main/Optimization|Optimization (RTO)]]

* [[Main/Simulation|Simulation (SIM)]]

* [[Main/Estimation|Estimation (EST)]]

* [[Main/Control|Control (CTL)]]

* [[Main/Sequential|Sequential (SQS)]]

The DAE model does not have to be changed to switch between the modes. The same model is used for parameter fitting, dynamic simulation, optimization, and control. The user is required to define the model and the software automatically configures the various simulation options.

to:

%blue%A%red%P%black%Monitor software is a modeling, simulation, and optimization environment for large-scale models of differential and algebraic equations (DAEs). These models are employed in [[Main/Modes|nine solution modes]]. The DAE model does not have to be changed to switch between the modes. The same model is used for parameter fitting, dynamic simulation, optimization, and control. The user is required to define the model and the software automatically configures the various simulation options.

Deleted lines 68-73:

----

!! Documentation Overview

The basic structure of the documentation is outlined into four main sections: '''model structure''', '''modes of operation''', '''system files''', and '''obtaining solutions'''. The documentation is presented in a Wiki format to allow collaborative modification by any user. This format is well suited to %blue%A%red%P%black%Monitor as it allows for collaboration and continuing development.

Deleted lines 78-83:

!!!! Essential Files for Simulation

* %list list-page% '''[[Main/APM|model.apm]]''': To generate a new model, create a text file and save it with an '''apm''' extension.

* %list list-page% '''[[Main/INFO|model.info]]''': The '''info''' file contains designation of special variables for trending, data acquisition, and mode-specific actions. If no variables are treated specially, the '''info''' file can be blank.

* %list list-page% '''[[Main/DBS|model.dbs]]''': The '''dbs''' file contains all of the user-defined options that control how the solution is performed. When no '''dbs''' file is present, a new file is generated with default parameters.

Added lines 22-23:

!!!! Discussion Group

Added lines 40-49:

(:htmlend:)

----

!!!! YouTube Channel

(:html:)

<script src="https://apis.google.com/js/platform.js"></script>

<div class="g-ytsubscribe" data-channel="APMonitorCom" data-layout="full" data-count="default"></div>

----

!!!! YouTube Channel

(:html:)

<script src="https://apis.google.com/js/platform.js"></script>

<div class="g-ytsubscribe" data-channel="APMonitorCom" data-layout="full" data-count="default"></div>

Changed line 19 from:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" ~~includes~~ a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control. APMonitor does not solve the problems directly, but calls appropriate external solvers.

to:

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" is a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control. APMonitor does not solve the problems directly, but calls appropriate external solvers.

Changed line 26 from:

<b>Subscribe to ~~apmonitor~~</b>

to:

<b>Subscribe to APMonitor E-mail List</b>

Deleted lines 23-24:

height=30 width=140 alt="Google Groups">

Changed lines 50-51 from:

%blue%A%red%P%black%Monitor software is a modeling, simulation, and optimization environment for large-scale models of differential and algebraic equations (DAEs). These models are employed in ~~six~~ solution modes:

to:

%blue%A%red%P%black%Monitor software is a modeling, simulation, and optimization environment for large-scale models of differential and algebraic equations (DAEs). These models are employed in seven solution modes:

Added line 58:

* [[Main/Sequential|Sequential (SQS)]]

Changed line 3 from:

(:description ~~Simulation, optimization~~, ~~estimation~~, and control~~ with APMonitor~~:)

to:

(:description APMonitor Documentation: Simulation, optimization, estimation, and control:)

Changed line 5 from:

to:

Attach:apmonitor_info.png %blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

Changed lines 5-7 from:

!! Attach:apmonitor_info.png

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

to:

!! Attach:apmonitor_info.png %blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

Changed lines 5-6 from:

!! ~~%blue%A%red%P%black%Monitor ~~Attach:apmonitor_~~icon~~.~~jpg~~

----

----

to:

!! Attach:apmonitor_info.png

Changed lines 1-7 from:

(:~~html~~:)~~<head>~~

<title>APMonitor Modeling Language</title>

<META NAME="Keywords" CONTENT="Nonlinear Model Predictive Control APMonitor Analytic First Derivatives Nonlinear Differential Algebraic Modeling Language">

<META NAME="Description" CONTENT="APMonitor~~ Documentation and Nonlinear Model Library">~~

<META NAME="Author" CONTENT="support@apmonitor.com">

</head>(:~~htmlend:~~)

<title>APMonitor Modeling Language</title>

<META NAME="Keywords" CONTENT="Nonlinear Model Predictive Control APMonitor Analytic First Derivatives Nonlinear Differential Algebraic Modeling Language">

<META NAME="Description" CONTENT="

<META NAME="Author" CONTENT="support@apmonitor.com">

</head>(

to:

(:title APMonitor Modeling Language Documentation:)

(:keywords nonlinear, model, predictive control, APMonitor, differential, algebraic, modeling language:)

(:description Simulation, optimization, estimation, and control with APMonitor:)

(:keywords nonlinear, model, predictive control, APMonitor, differential, algebraic, modeling language:)

(:description Simulation, optimization, estimation, and control with APMonitor:)

Deleted line 1:

Deleted line 2:

Changed lines 4-6 from:

to:

<META NAME="Description" CONTENT="APMonitor Documentation and Nonlinear Model Library">

Deleted line 5:

Added lines 1-13:

(:html:)<head>

<title>APMonitor Modeling Language</title>

<META NAME="Keywords" CONTENT="Nonlinear Model Predictive Control APMonitor Analytic First Derivatives Nonlinear Differential Algebraic Modeling Language">

<META NAME="Description" CONTENT="Simulation, optimization, estimation, and control with APMonitor">

<META NAME="Author" CONTENT="support@apmonitor.com">

</head>(:htmlend:)

<title>APMonitor Modeling Language</title>

<META NAME="Keywords" CONTENT="Nonlinear Model Predictive Control APMonitor Analytic First Derivatives Nonlinear Differential Algebraic Modeling Language">

<META NAME="Description" CONTENT="Simulation, optimization, estimation, and control with APMonitor">

<META NAME="Author" CONTENT="support@apmonitor.com">

</head>(:htmlend:)

Changed line 4 from:

to:

%blue%A%red%P%black%Monitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

Changed lines 6-12 from:

Meet regulatory reporting requirements

Flow assurance of oil and gas transport pipelines

Visualize data from remote locations

Reduce alarms by consolidating relevant information

Provide soft sensing

Automatic control of continuous and batch systems

Increase production 3-5% without equipment changes

Flow assurance of oil and gas transport pipelines

Visualize data from remote locations

Reduce alarms by consolidating relevant information

Provide soft sensing

Automatic control of continuous and batch systems

Increase production 3-5% without equipment changes

to:

* Meet regulatory reporting requirements

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

* Flow assurance of oil and gas transport pipelines

* Visualize data from remote locations

* Reduce alarms by consolidating relevant information

* Provide soft sensing

* Automatic control of continuous and batch systems

* Increase production 3-5% without equipment changes

Changed lines 3-18 from:

to:

APMonitor is advanced process control and optimization software for industrial-scale systems. The software interfaces to live systems to provide advanced diagnostics, meet safety and environmental constraints, and drive the process to economic optimum. With rapidly changing feedstock and commodity pricing, this application enables instant and continual realignment to real operating objectives. These may include:

Meet regulatory reporting requirements

Flow assurance of oil and gas transport pipelines

Visualize data from remote locations

Reduce alarms by consolidating relevant information

Provide soft sensing

Automatic control of continuous and batch systems

Increase production 3-5% without equipment changes

A number of prebuilt asset models are available with the APMonitor software. The chemical processing modeling package includes reactors, distillation columns, and compressors necessary for industrial scale processes.

----

%blue%A%red%P%black%Monitor, or "Advanced Process Monitor" includes a modeling language for differential and algebraic (DAE) equations. It is used for describing and solving representations of physical systems in the form of implicit DAE models. APMonitor is suited for large-scale problems and allows solutions of dynamic simulation, moving horizon estimation, and nonlinear control. APMonitor does not solve the problems directly, but calls appropriate external solvers.

Added lines 4-25:

----

(:html:)<table border=0 style="background-color: #fff; padding: 5px;" cellspacing=0>

<tr><td>

<img src="https://groups.google.com/intl/en/images/logos/groups_logo_sm.gif"

height=30 width=140 alt="Google Groups">

</td></tr>

<tr><td style="padding-left: 5px">

<b>Subscribe to apmonitor</b>

</td></tr>

<form action="https://groups.google.com/group/apmonitor/boxsubscribe">

<tr><td style="padding-left: 5px;">

Email: <input type=text name=email>

<input type=submit name="sub" value="Subscribe">

</td></tr>

</form>

<tr><td align=right>

<a href="https://groups.google.com/group/apmonitor">Visit this group</a>

</td></tr>

</table>

(:htmlend:)

(:html:)<table border=0 style="background-color: #fff; padding: 5px;" cellspacing=0>

<tr><td>

<img src="https://groups.google.com/intl/en/images/logos/groups_logo_sm.gif"

height=30 width=140 alt="Google Groups">

</td></tr>

<tr><td style="padding-left: 5px">

<b>Subscribe to apmonitor</b>

</td></tr>

<form action="https://groups.google.com/group/apmonitor/boxsubscribe">

<tr><td style="padding-left: 5px;">

Email: <input type=text name=email>

<input type=submit name="sub" value="Subscribe">

</td></tr>

</form>

<tr><td align=right>

<a href="https://groups.google.com/group/apmonitor">Visit this group</a>

</td></tr>

</table>

(:htmlend:)

Changed line 10 from:

!!! %blue%A%red%P%black%Monitor ~~in a Nutshell~~

to:

!!! %blue%A%red%P%black%Monitor Overview

Deleted lines 35-49:

----

!!! Newton's Apple

Attach:apple.jpg

A popular story claims that Sir Isaac Newton was inspired to formulate his theory of universal gravitation by observing an apple fall from a tree. A simple equation defines the gravitational force between two objects (Equation 1) and the motion of the apple (Equation 2).

# F = (G m'_1_' m'_2_') / r'^2^'

# F = m dv/dt

The apple falling from a tree is simply approximated by these two equations. These two equations are solved together as algebraic and differential equations. The solution of these two equations defines the velocity of the apple and the force the earth and apple exert on each other.

Like Newton, it takes a trained mind to formulate, test, and validate mathematical models from observation of physical systems. The %blue%A%red%P%black%Monitor software gives users a model development platform for simulation, data reconciliation, and optimization for both steady-state and dynamic systems. With %blue%A%red%P%black%Monitor, the user can concentrate more on the difficult task of building the mathematical relationships and let %blue%A%red%P%black%Monitor perform data handling, model convergence, and interface with live systems.