This is a compiled version of MatCUTEst, which aims to facilitate the usage of CUTEst in MATLAB on Linux.
Before starting, make sure that 7-Zip
is installed
(e.g., try type 7z || sudo apt install p7zip-full
on Ubuntu).
rm -rf matcutest_compiled && git clone https://github.com/matcutest/matcutest_compiled.git && matlab -batch "cd matcutest_compiled; install;" && rm -rf matcutest_compiled
-
Clone this repository. You should then get a folder containing this README file and the
install.m
file. -
In the command window of MATLAB, change your directory to the above-mentioned folder, and execute
install
You may specify the path where you want MatCUTEst to be installed by passing it as an input to install
.
If the above succeeds, then the CUTEst problems should be
available to you via macup
, secup
, etc. Try help matcutest
for more information.
Success is expected if you are using MATLAB R2020b or above on Ubuntu 20.04 or above. Let me know by opening an issue if this is not the case.
If this compiled version does not work, then you may try installing MatCUTEst from source following the README therein.
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.
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