Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacobwilliams/filtersd
Unofficial mirror of FilterSD https://github.com/coin-or/filterSD
https://github.com/jacobwilliams/filtersd
fortran optimization
Last synced: about 6 hours ago
JSON representation
Unofficial mirror of FilterSD https://github.com/coin-or/filterSD
- Host: GitHub
- URL: https://github.com/jacobwilliams/filtersd
- Owner: jacobwilliams
- License: epl-1.0
- Created: 2019-03-07T02:21:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-02T23:03:17.000Z (over 3 years ago)
- Last Synced: 2024-01-30T09:11:12.865Z (9 months ago)
- Topics: fortran, optimization
- Language: Fortran
- Homepage:
- Size: 2.44 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Notes
A work in progress to create a modern Fortran version of the filterSD optimization method.
## Original Fortran 77 Documentation
Author: Roger Fletcher, University of Dundee, Scotland
**FilterSD** is a package of Fortran 77 subroutines for solving nonlinear programming problems and linearly constrained problems in continuous optimization.
Please see the `README.pdf` file for instructions on compiling the source code.
This package does not require any Third Party software.
### README.pdf
The user needs to choose whether to use a sparse matrix or dense matrix data structure. To solve an NLP using a sparse matrix data structure, the subroutines in the following files are required
```
filterSD.f, checkd.f, glcpd.f, l1sold.f, shared.f, schurQR.f, sparseA.f, util.f
```
together with a user supplied driver program.The file `schurQR.f` implements a Schur complement scheme for sparse matrix updates. This replaces an a previous file `sparseL.f` implementing Fletcher-Matthews updates, which is also included in the distribution. These files are interchangeable.
To solve an NLP using a dense matrix data structure, the subroutines in the following files are required
```
filterSD.f, checkd.f, glcpd.f, l1sold.f, shared.f, denseL.f, denseA.f, util.f
```
together with a user supplied driver program.To solve an LCP using a sparse matrix data structure, the subroutines in the following files are required
```
glcpd.f, checkg.f, shared.f, schurQR.f, sparseA.f, util.f
```
together with a user supplied driver program.To solve an LCP using a dense matrix data structure, the subroutines in the following files are required
```
glcpd.f, checkg.f, shared.f, denseL.f, denseA.f, util.f
```
together with a user supplied driver program.Information on how to set up the driver program is contained in the files `filterSD.pdf` and `glcpd.pdf`. Examples of driver programs are provided in the files `hs106.f`, `hs106d.f`, `hs72.f` and `hs72d.f`. To solve a QP or LP, replace `glcpd.f` by `qlcpd.f` in the above. Usage of `qlcpd.f` is described at the head of the file and is similar to that for `glcpd.f`. To facilitate access to CUTEr NLP test problems, a driver program `driver.f` and associated subroutines in the file `user.f` is provided.
## Documentation
The latest API documentation can be found [here](https://jacobwilliams.github.io/FilterSD/). This was generated from the source code using [FORD](https://github.com/cmacmackin/ford).