GRANSO is an optimization package implemented in MATLAB, intended to be efficient for constrained nonsmooth optimization problems, without any special structure or assumptions imposed on the objective or constraint functions. It can handle problems involving functions that are any or all of the following: smooth or nonsmooth, convex or nonconvex, and locally Lipschitz or non-locally Lipschitz. For details on the algorithm underlying GRANSO and citing, see the paper mentioned below.
For a native Python port of GRANSO v1.6.4 also incorporating automatic differentiation, GPU acceleration, tensor variables, and new QP solvers, see PyGRANSO.
quadprog
interface (such as
quadprog.m
from MATLAB's
Optimization Toolbox
or MOSEK).
GRANSO's performance is dependent upon the performance of the available
quadprog
solver. The user is expected to ensure that it is working
correctly.
help granso
help gransoOptions
help gransoOptionsAdvanced
examples
folder of
the GRANSO installation directory. It is highly recommended to both
run and read through these codes.
If you publish work that either refers to or makes use of GRANSO, please cite the following paper:
When referring to this software, please also include which version was used,
e.g. GRANSO v1.6.4. Note that granso
, in lowercase
monospaced font, refers to the routine, not the name of the
software package.
GRANSO is licensed under the GNU Affero General Public License, version 3.
GRANSO contains two subroutines that are licensed under the GNU General Public License, version 3. These subroutines, which are identified by their GPL v3 license headers, are modified code derived from the HANSO optimization package.