PRIMA: Optimization without Using Derivatives

Version 0.7.3 (9,16 Mo) par Zaikun Zhang
PRIMA is a package for solving general nonlinear optimization problems without using derivatives.
305 téléchargements
Mise à jour 12 fév. 2026
(More information is available at http://www.libprima.net ; in case of questions or requests, open an issue at the GitHub repository of PRIMA)
PRIMA is a package for solving general nonlinear optimization problems without requiring derivatives. It is the successor of PDFO.
PRIMA provides a MATLAB functions prima, which can automatically identify the type of your problem and then solve it by one of Powell's methods, namely COBYLA, UOBYQA, NEWUOA, BOBYQA, and LINCOA.
The prima function is designed to be compatible with the fmincon function available in the Optimization Toolbox of MATLAB. You can call prima in the same way as calling fmincon:
x = prima(fun, x0)
x = prima(fun, x0, A, b)
x = prima(fun, x0, A, b, Aeq, beq)
x = prima(fun, x0, A, b, Aeq, beq, lb, ub)
x = prima(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon)
x = prima(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, options)
x = prima(problem) % PROBLEM is a structure defining the optimization problem
[x, fval] = prima(___)
[x, fval, exitflag, output] = prima(___)
In addition, prima can be called in some flexible ways that are not supported by fmincon. If your problem can be solved by fmincon without specifying the derivatives, then it can probably be better solved by prima; if your problem cannot be solved by fmincon, then try prima.
If you need help with the setup of MEX, see https://www.mathworks.com/matlabcentral/fileexchange/127968-setup_mex .
The "P" in the name stands for Powell, and "RIMA" is an acronym for "Reference Implementation with Modernization and Amelioration".
PRIMA is dedicated to the late Professor M. J. D. Powell FRS (1936--2015).

Citation pour cette source

Z. Zhang, PRIMA: Reference Implementation for Powell's Methods with Modernization and Amelioration, available at https://github.com/libprima/prima, DOI: 10.5281/zenodo.8052655, 2023

Compatibilité avec les versions de MATLAB
Créé avec R2023a
Compatible avec les versions R2018a et ultérieures
Plateformes compatibles
Windows macOS Linux

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
0.7.3

Support Apple Silicon chips.

0.7.2.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.7.2

0.7.1.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.7.1

0.7.0.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.7

0.6.2.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.6.2

0.6.1

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.6.1

0.6

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.6

0.5.1.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.5.1

0.5

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.5

0.4.0.0

See release notes for this release on GitHub: https://github.com/libprima/prima/releases/tag/v0.4

0.3

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.