FraCTune: Fractional Control Tuner via Cross-Entropy Method is a Matlab package that implements a framework for tuning fractional-order controllers. The package leverages the Cross-Entropy (CE) method for global search optimization and employs an augmented Lagrangian formulation to handle equality and inequality constraints. With some straightforward adaptations, the FracTune strategy can also be applied to other types of modern controllers.
FraCTune uses as optimization tool the package CEopt - Cross-Entropy Optimizer, which can be downloaded at https://ceopt.org.
- Overview
- Features
- Usage
- Documentation
- Reproducibility
- Authors
- Citing FracTune
- License
- Institutional support
- Funding
FraCTune was developed to tune fractional-order controllers for dynamical systems by solving nonconvex optimization problems via the cross-entropy method. The underlying results are reported in the following publication: More details are in the following paper:
- J. C. C. Basilio, J. G. Telles Ribeiro, T. R. Oliveira and A. Cunha Jr, Optimal tunning of fractional controllers via cross-entropy method, 2024 (under review)
Preprint available here.
- Implements Cross-Entropy method for fractional-control tuning
- Handles equality and inequality constraints using augmented Lagrangian method
- Transparent "gray-box" optimizer with intuitive control parameters
- Robust and scalable for moderately sized complex problems
- Demonstrated applicability through select case studies
To get started with FraCTune, follow these steps:
- Clone the repository:
git clone https://github.com/americocunhajr/FraCTune.git
- Navigate to the code directory:
cd FraCTune/FraCTune-1.0
- Navigate to the desired case directory:
cd FraCTune/FraCTune-1.0/CaseX-XXX
- To tune a fractional controller, execute the main file corresponding to your case:
MainCEoptCaseX_XXXX
The routines in FraCTune are well-commented to explain their functionality. Each routine includes a description of its purpose, as well as inputs and outputs.
Simulations done with FraCTune are fully reproducible, as can be seen on this CodeOcean capsule.
- Julio Cesar de Castro Basilio
- José Geraldo Telles Ribeiro
- Americo Cunha Jr
We ask the code users to cite the following manuscript in any publications reporting work done with our code:
- J. C. C. Basilio, J. G. Telles Ribeiro, T. R. Oliveira and A. Cunha Jr, Optimal tunning of fractional controllers via cross-entropy method, 2024 (under review)
@article{Basilio2024FraCTune,
author = {J. C. C. Basilio and J. G. {Telles Ribeiro} and T. R. Oliveira and A {Cunha~Jr}},
title = {Optimal tunning of fractional controllers via cross-entropy method},
journal = {Under Review},
year = {2024},
volume = {~},
pages = {~},
doi = {~},
}
FraCTune is released under the MIT license. See the LICENSE file for details. All new contributions must be made under the MIT license.