MatCUTEst

版本 1.0 (45.0 KB) 作者: Zaikun Zhang
MatCUTEst is a package for facilitating the usage of CUTEst (https://github.com/ralna/CUTEst) in MATLAB on Linux.
25.0 次下载
更新时间 2023/3/27

MatCUTEst

license CI View MatCUTEst on File Exchange

What is this?

MatCUTEst is a package facilitating the usage of CUTEst in MATLAB on Linux.

N.B.: Using CUTEst in MATLAB on MacOS is not supported anymore as of 2022. See the discussions in CUTEst issue 28.

How to use?

If you are using MATLAB R2020b or above on Ubuntu 20.04 or above, you should first try the compiled version of MatCUTEst. Do the following only if that version does not work.

First of all, clone this repository to the place where you want MatCUTEst to be installed. You should then get a directory containing this README file. We will refer to this directory as "[the current directory]" in the sequel.

  1. Run the following in the terminal under [the current directory]:

    bash ./INSTALL

    It will install CUTEst and then mexify all the problems, which may take a few hours.

  2. After 1, any CUTEst problem can be obtained in MATLAB by

    macup(PROBLEM_NAME)

    where you have to replace PROBLEM_NAME by a string that is the name of the problem. For example, try

    macup('AKIVA')

    This should give you a structure containing the full information of problem AKIVA, including its objective function, constraints (if any), starting point, etc. Try help matcutest in MATLAB or see mtools/README.txt for more information.

Use MatCUTEst in GitHub Actions

If you want to use MatCUTEst in GitHub Actions, see the demo. MatCUTEst has been used intensively in the testing and development of PRIMA, where you can find more realistic examples of using MatCUTEst in GitHub Actions.

Thread safety

MatCUTEst is thread-safe. It can be used within a parfor loop. Here is an example.

problist = {'AKIVA', 'BOX2', 'ZECEVIC2', 'ZY2'};
parfor ip = 1 : length(problist)
    pname = problist{ip};
    fprintf('\n%d. Try %s:\n', ip, pname);
    p = macup(pname);  % make a CUTEst problem
    p.objective(p.x0)
    decup(p);  % destroy the CUTEst problem
end

Remarks

  • MatCUTEst has been playing a vital role in the testing and development of PRIMA.
  • If you would like to use CUTEst in Python, check PyCUTEst.

引用格式

Zaikun Zhang (2024). MatCUTEst (https://github.com/equipez/matcutest/releases/tag/v1.0), GitHub. 检索来源 .

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

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.0

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