                           SuiteOPT 2.0.0
                          February 13, 2022

This file provides a quick installation overview for SuiteOPT.  For more
details, see the Doc/UserGuide.pdf.  There are three different interfaces
to the software:

1. Installation in MATLAB

Startup MATLAB in the directory SuiteOPT/MATLAB. In the command
window, type "make" and follow the instructions. The MATLAB subdirectory
for any of the solvers contains demo files showing how to use the
software. Also, typing "help readme" in a MATLAB command window yields
detailed instructions.

2. Installation in C

Edit the file SuiteOPT/Userconfig.mk to show the user's C compiler, BLAS,
and LAPACK; if using OpenBLAS, be sure to see pages 2 and 3 of the UserGuide.
cmake is needed during the installation, along with gfortran and pthread
if required by the BLAS.  In the SuiteOPT top level directory, type "make"
to compile the codes.  Examples in the Demo subdirectories of each solver
show how to set up a problem in C.

3. Installation in CUTEst

Download and install CUTEst. If an existing version of CUTEst is already
installed, be sure to update to a version after August, 2019, since
CUTEst was modified at that date to enable use with PASA.  Currently,
CUTEst can be downloaded from https://github.com/ralna/CUTEst/wiki
Install the packages archdefs, cutest, and sifdecode, as well as the
CUTE library of test problems. Assuming the CUTEst environment variables
have been set up by the user, go to the file $CUTEST/bin/sys/$MYARCH and
add two lines to provide your BLAS and LAPACK information.  This same
information appears in your Userconfig.mk file except that quotation marks
should be inserted around the information.

BLAS="... -lgfortran -lpthread"
LAPACK="..."

Another environment variable which should be set is LD_LIBRARY_PATH.
This provides the path to dynamic libraries that are loaded at run time.
The command for setting up this environment variable is something like
the following (the full path name should be in quotes):

setenv LD_LIBRARY_PATH "path"

If there are multiple paths in the load library, then each path is
separated by a colon.

Once this setup is complete, the installation of pasa and cg descent in
CUTEst is completed by typing "make cute" in the top level directory of
SuiteOPT. As the codes are compiled and installed into CUTEst, the
following two files are created:

    SuiteOPT/CGDESCENT/CUTEst/runcutest
    SuiteOPT/PASA/CUTEst/runcutest

These files contain aliases for running either pasa or cg descent in CUTEst.
If these aliases are placed in a file such as ".cshrc" or ".bashrc" that
is executed at startup, then the aliases can be used in any window that
is opened subsequently. The command for solving a polyhedral constrained
optimization problem PROB.SIF using the PASA alias is "pasarun PROB".
If the problem is unconstrained, then it could also be solved using the
command "cgrun PROB"; in either case, when the problem is unconstrained,
it is solved using cg_descent.
