PRIMA: Optimization without Using Derivatives

版本 0.7.3 (8.9 MB) 作者: Zaikun Zhang
PRIMA is a package for solving general nonlinear optimization problems without using derivatives.
187.0 次下载
更新时间 2024/6/10
(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).

引用格式

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

MATLAB 版本兼容性
创建方式 R2023a
与 R2018a 及更高版本兼容
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

benchmark/rescue_idz

benchmark/rescue_idz/archiva/230305

benchmark/rescue_idz/archiva/230305/norma

benchmark/rescue_idz/fortran/tests/testsuite

benchmark/rescue_idz/matlab/examples

benchmark/rescue_idz/matlab/interfaces

benchmark/rescue_idz/matlab/interfaces/+newuoa_mat

benchmark/rescue_idz/matlab/interfaces/+newuoa_mat/private

benchmark/rescue_idz/matlab/interfaces/private

benchmark/rescue_idz/matlab/setup_tools

benchmark/rescue_idz/matlab/tests

benchmark/rescue_idz/matlab/tests/private

benchmark/rescue_idz/norma

benchmark/rescue_idz/norma/fortran/tests/testsuite

benchmark/rescue_idz/norma/matlab/interfaces

benchmark/rescue_idz/norma/matlab/interfaces/+newuoa_norma_mat

benchmark/rescue_idz/norma/matlab/interfaces/+newuoa_norma_mat/private

benchmark/rescue_idz/norma/matlab/interfaces/private

benchmark/rescue_idz/norma/matlab/setup_tools

matlab/examples

matlab/interfaces

matlab/interfaces/+newuoa_mat

matlab/interfaces/+newuoa_mat/private

matlab/interfaces/private

matlab/setup_tools

matlab/tests

matlab/tests/private

python/profiles

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
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

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库