Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 17 committers (5.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords from Contributors

nlpmodels nonlinear-programming factorizations sparse-matrix hsl optimization-algorithms ipopt nonlinear-optimization quadratic-programming mathematical-programming
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: JuliaSmoothOptimizers
  • License: other
  • Language: Julia
  • Default Branch: main
  • Size: 56 MB
Statistics
  • Stars: 41
  • Watchers: 4
  • Forks: 17
  • Open Issues: 35
  • Releases: 30
Created almost 5 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation Zenodo

README.md

ADNLPModels

DOI GitHub release codecov

CI Cirrus CI - Base Branch Build Status

This package provides automatic differentiation (AD)-based model implementations that conform to the NLPModels API. The general form of the optimization problem is math \begin{aligned} \min \quad & f(x) \\ & c_L \leq c(x) \leq c_U \\ & \ell \leq x \leq u, \end{aligned}

How to Cite

If you use ADNLPModels.jl in your work, please cite using the format given in CITATION.bib.

Installation

ADNLPModels is a   Julia Language   package. To install ADNLPModels, please open Julia's interactive session (known as REPL) and press ] key in the REPL to use the package mode, then type the following command

julia pkg> add ADNLPModels

Examples

For optimization in the general form, this package exports two constructors ADNLPModel and ADNLPModel!.

```julia using ADNLPModels

f(x) = 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2 T = Float64 x0 = T[-1.2; 1.0]

Rosenbrock

nlp = ADNLPModel(f, x0) # unconstrained

lvar, uvar = zeros(T, 2), ones(T, 2) # must be of same type than x0 nlp = ADNLPModel(f, x0, lvar, uvar) # bound-constrained

c(x) = [x[1] + x[2]] lcon, ucon = -T[0.5], T[0.5] nlp = ADNLPModel(f, x0, lvar, uvar, c, lcon, ucon) # constrained

c!(cx, x) = begin cx[1] = x[1] + x[2] return cx end nlp = ADNLPModel!(f, x0, lvar, uvar, c!, lcon, ucon) # in-place constrained ```

It is possible to distinguish between linear and nonlinear constraints, see .

This package also exports the constructors ADNLSModel and ADNLSModel! for Nonlinear Least Squares (NLS), i.e. when the objective function is a sum of squared terms.

```julia using ADNLPModels

F(x) = [10 * (x[2] - x[1]^2); x[1] - 1] nequ = 2 # length of Fx T = Float64 x0 = T[-1.2; 1.0]

Rosenbrock in NLS format

nlp = ADNLSModel(F, x0, nequ) ```

The resulting models, ADNLPModel and ADNLSModel, are instances of AbstractNLPModel and implement the NLPModel API, see NLPModels.jl.

We refer to the documentation for more details on the resulting models, and you can find tutorials on jso.dev/tutorials/ and select the tag ADNLPModel.jl.

AD backend

The following AD packages are supported:

  • ForwardDiff.jl;
  • ReverseDiff.jl;

and as optional dependencies (you must load the package before):

  • Enzyme.jl;
  • Zygote.jl.

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers, so questions about any of our packages are welcome.

Owner

  • Name: JuliaSmoothOptimizers
  • Login: JuliaSmoothOptimizers
  • Kind: organization
  • Location: DOI: 10.5281/zenodo.2655082

Infrastructure and Solvers for Continuous Optimization in Julia

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  ADNLPModels.jl: Automatic Differentiation models
  implementing the NLPModels API
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Tangi
    family-names: Migot
    email: tangi.migot@gmail.com
    orcid: 'https://orcid.org/0000-0001-7729-2513'
    affiliation: >-
      GERAD and Department of Mathematics and      
      Industrial Engineering, Polytechnique Montréal,      
      QC, Canada
  - given-names: Alexis
    family-names: Montoison
    orcid: 'https://orcid.org/0000-0002-3403-5450'
    email: alexis.montoison@gerad.ca
    affiliation: >-
      GERAD and Department of Mathematics and      
      Industrial Engineering, Polytechnique Montréal,      
      QC, Canada
  - given-names: Dominique
    family-names: Orban
    orcid: 'https://orcid.org/0000-0002-8017-7687'
    email: dominique.orban@gerad.ca
    affiliation: >-
      GERAD and Department of Mathematics and      
      Industrial Engineering, Polytechnique Montréal,      
      QC, Canada
  - given-names: Abel
    family-names: Soares Siqueira
    email: abel.s.siqueira@gmail.com
    orcid: 'https://orcid.org/0000-0003-4451-281X'
    affiliation: 'Netherlands eScience Center, Amsterdam, NL'
  - given-names: contributors
identifiers:
  - type: doi
    value: 10.5281/zenodo.4605982
repository-code: 'https://github.com/JuliaSmoothOptimizers/ADNLPModels.jl'
keywords:
  - Optimization
  - Automatic differentiation
  - Nonlinear programming
  - Julia
license: MPL-2.0

GitHub Events

Total
  • Create event: 37
  • Commit comment event: 11
  • Release event: 6
  • Issues event: 20
  • Watch event: 4
  • Delete event: 25
  • Issue comment event: 167
  • Push event: 310
  • Pull request review comment event: 52
  • Pull request review event: 41
  • Pull request event: 66
  • Fork event: 3
Last Year
  • Create event: 37
  • Commit comment event: 11
  • Release event: 6
  • Issues event: 20
  • Watch event: 4
  • Delete event: 25
  • Issue comment event: 167
  • Push event: 310
  • Pull request review comment event: 52
  • Pull request review event: 41
  • Pull request event: 66
  • Fork event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 570
  • Total Committers: 17
  • Avg Commits per committer: 33.529
  • Development Distribution Score (DDS): 0.461
Top Committers
Name Email Commits
Abel Soares Siqueira a****a@g****m 307
Dominique Orban d****n@g****m 148
tmigot t****t@g****m 60
Alexis Montoison a****n@p****a 17
github-actions[bot] 4****]@u****m 10
Abel Siqueira n****1@g****m 7
probot-auto-merge[bot] p****]@u****m 4
Monssaf Toukal t****f@g****m 4
abelsiqueira a****a@u****m 3
dpo d****o@u****m 2
Alexis Montoison 3****n@u****m 2
JPD v****i@g****m 1
Elliot Saba s****t@g****m 1
Mohamed Tarek m****8@g****m 1
JSOBot 6****t@u****m 1
Julia TagBot 5****t@u****m 1
Xiukun Hu x****4@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 56
  • Total pull requests: 223
  • Average time to close issues: 6 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 17
  • Total pull request authors: 10
  • Average comments per issue: 3.32
  • Average comments per pull request: 2.76
  • Merged pull requests: 180
  • Bot issues: 1
  • Bot pull requests: 69
Past Year
  • Issues: 17
  • Pull requests: 62
  • Average time to close issues: 2 days
  • Average time to close pull requests: 4 days
  • Issue authors: 9
  • Pull request authors: 6
  • Average comments per issue: 0.65
  • Average comments per pull request: 3.76
  • Merged pull requests: 42
  • Bot issues: 1
  • Bot pull requests: 23
Top Authors
Issue Authors
  • tmigot (19)
  • amontoison (9)
  • gdalle (6)
  • dpo (5)
  • abelsiqueira (4)
  • jbcaillau (2)
  • farhadrclass (2)
  • MaxenceGollier (1)
  • ocots (1)
  • DaniGlez (1)
  • evrenmturan (1)
  • abavoil (1)
  • kiranshila (1)
  • ForceBru (1)
  • JuliaTagBot (1)
Pull Request Authors
  • tmigot (101)
  • github-actions[bot] (92)
  • amontoison (85)
  • gdalle (11)
  • michel2323 (6)
  • abelsiqueira (5)
  • kiranshila (2)
  • ocots (2)
  • JSOBot (1)
  • MaxenceGollier (1)
Top Labels
Issue Labels
enhancement (10) documentation (7) bug (5) good first issue (3) M1 (1) tests (1) epic (1)
Pull Request Labels
formatting (76) automated pr (76) no changelog (76) run Hessian benchmark (21) run Jacobian benchmark (15) documentation (14) run gradient benchmark (8) run Jacobian product benchmark (6) run Hessian product benchmark (6) bug (3) enhancement (3) do not merge (2) tests (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 166 total
  • Total dependent packages: 9
  • Total dependent repositories: 0
  • Total versions: 30
juliahub.com: ADNLPModels
  • Versions: 30
  • Dependent Packages: 9
  • Dependent Repositories: 0
  • Downloads: 166 Total
Rankings
Dependent packages count: 7.0%
Dependent repos count: 9.9%
Average: 15.3%
Forks count: 16.2%
Stargazers count: 27.9%
Last synced: 6 months ago

Dependencies

.github/workflows/Breakage.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/upload-artifact v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CommentPR.yml actions
  • actions/github-script v3.1.0 composite
  • actions/github-script v3 composite
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia latest composite
.github/workflows/Documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/format_pr.yml actions
  • actions/checkout v2 composite
  • peter-evans/create-pull-request v3 composite