MatCUTEst

MatCUTEst is a package for facilitating the usage of CUTEst (https://github.com/ralna/CUTEst) in MATLAB on Linux.
25 Downloads
Updated 27 Mar 2023

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.

Cite As

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

MATLAB Release Compatibility
Created with R2023b
Compatible with R2020b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.