MatCUTEst

MatCUTEst is a package for facilitating the usage of CUTEst (https://github.com/ralna/CUTEst) in MATLAB on Linux.
29 Downloads
Aktualisiert 27. Mär 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.

Zitieren als

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

Kompatibilität der MATLAB-Version
Erstellt mit R2023b
Kompatibel mit R2020b und späteren Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0

Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.
Um Probleme in diesem GitHub Add-On anzuzeigen oder zu melden, besuchen Sie das GitHub Repository.