SNOPT
Overview
SNOPT is a general-purpose system for constrained optimization. It minimizes a linear or nonlinear function subject to bounds on the variables and sparse linear or nonlinear constraints. It is suitable for large-scale linear and quadratic programming and for linearly constrained optimization, as well as for general nonlinear programs.
SNOPT is mainly written in Fortran, but interfaces to C, C++, Python, and MATLAB are available
SNOPT finds solutions that are locally optimal, and ideally, any nonlinear functions should be smooth and users should provide gradients. It is often more widely useful. For example, local optima are often global solutions, and discontinuities in the function gradients can often be tolerated if they are not too close to an optimum. Unknown gradients are estimated by finite differences. It also uses a sequential quadratic programming (SQP) algorithm. Search directions are obtained from QP subproblems that minimize a quadratic model of the Lagrangian function subject to linearized constraints. An augmented Lagrangian merit function is reduced along each search direction to ensure convergence from any starting point.
SNOPT Homepage: Systems Optimization Laboratory
SNOPT: SNOPT7: Software for large-scale linear and quadratic programming
User Manual: Software for Large-Scale Nonlinear Programming
Using
Use the module name snopt
to discover versions available and to load the application.
Link to the appropriate SNOPT library to generate the output file:
SNOPT has been built with the intel/18.0.1 compiler use requires
ifort
to build. This is automatically loaded whensnopt/3.2.13
is loaded.
ifort filename.F90 -lsnopt7
Basic Batch Script
#!/bin/bash
#SBATCH --job-name snopt
#SBATCH --time=24:00:00
#SBATCH --account=<your account>
module load snopt/7.2.13
srun a.out