Metacontrol: A metamodel based toolbox for self-optimizing control structure selection

Metacontrol is a Python based software which assembles several methodologies into a single bundle so that a fast implementation of the Self-Optimizing Control (SOC) technique can be achieved.


Use the process models that you created in Aspen Plus.


Generate Kriging surrogate models of your processes.


Optimize your kriging surrogate models.


Generate the best self-optimizing control structures.

How to cite us

Our papers

Please, cite the related papers:

  1. Metamodel-Based Numerical Techniques for Self-Optimizing Control;

    BibTeX Entry:

       title={Metamodel-Based Numerical Techniques for Self-Optimizing Control},
       author={Alves, Victor MC and Lima, Felipe S and Silva, Sidinei K and Araujo, Antonio CB},
       journal={Industrial \& Engineering Chemistry Research},
       publisher={ACS Publications}
  2. Metacontrol: A Python based application for self-optimizing control using metamodels;

    BibTeX Entry:

       title={Metacontrol: A Python based application for self-optimizing control using metamodels},
       author={Lima, Felipe Souza and Alves, Victor Manuel Cunha and de Araujo, Antonio Carlos Brandao},
       journal={Computers \& Chemical Engineering},
       volume = {140},
       pages = {106979},
       year = {2020},
       issn = {0098-1354},
       doi = {},
       url = {},

And become a watcher/stargazer on GitHub to receive updates!



Metacontrol is open-source, under the GPL v3.0 license. We believe that open code just makes scientific development clearer and generally better. Want to inspect our code? Maybe change it for your specific desire? Have a suggestion? Go for it. Share with us!

Built in Python

The scientific world and data scientists are moving in a accelerated pace to Python programming language. Metacontrol was built from scratch using it. Using state-of-the-art packages such as Numpy, Scipy, pyQT, pandas and many others, a concise and standalone software is available. You will not need any other software, apart from the process simulators (obviously), to run our application.

Support for Optimization using metamodels

One crucial step of Self-Optimizing Control methodology is to optimize a process model. We use the the famous IpOpt Optimization package (using a Python Interface) in order to do it. Therefore, you can also use Metacontrol to optimize processes that you modeled in Aspen Plus.

Usage of Kriging metamodels

Kriging interpolators are widely used in the scientific community for prediction, optimization and data obtainment. We use it for optimization and high-order data obtainment purposes. It is proven to generate robust precitions and results. For further details, check Our papers.

State-of-the-art Self-Optimizing Control techniques

Standing on the shoulders of giants, Metacontrol uses the most recent formulations in the SOC area available that are capable of quickly pre-screening the most promising candidate controlled variables from a given universe of possible combinations. This includes the exact local Method with explicit solution from [2] and even branch-and-bound algorithms [21] under the hood.


Felipe Lima, Msc.
Federal University of Campina Grande
Victor Alves, Msc.
Federal University of Campina Grande