QuadraticProgramNetworks
A package for modeling and solving Quadratic Program Networks.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Repository
A package for modeling and solving Quadratic Program Networks.
Basic Info
Statistics
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 2
- Releases: 4
Metadata Files
README.md
QuadraticProgramNetworks.jl
A package for modeling Quadratic Program Networks (QPNets), and computing corresponding equilibrium points. Examples can be found in the examples subdirectory. This package is under active development. Medium and Large-scale problems may be difficult or impossible to solve using the algorithms implemented in this package at this time. Bug reports are welcomed and appreciated!
The paper introducing QPNets can be found here. If you use this package in your research, please use the following citation.
bibtex
@misc{laine2024mathematical,
title={Mathematical Program Networks},
author={Forrest Laine},
year={2024},
eprint={2404.03767},
archivePrefix={arXiv},
primaryClass={math.OC}
}
Installation
This package is not yet publically registered. To install, simply clone this repository locally, navigate to the directory, and run the following:
julia --project
```julia
hit ] to enter "pkg"-mode of the REPL
pkg> instantiate
hit delete or backspace to exit "pkg"-mode of the REPL
julia> using QuadraticProgramNetworks ```
PATHSolver License
QPNets relies on the PATHSolver for some of the necessary computations. Make sure to add a valid PATHLICENSESTRING to your shell environment variables. More details can be found at this link.
Running examples
Examples from the above-linked paper can be run using the following interface.
```julia
remember to set PATHSolver license as instructed above
julia> qpn = setup(:robustavoidsimple); julia> ret = solve(qpn); ```
Constructing new problems
New QPNets can be constructed by following the template provided in the examples directory. Every QPNet should define a setup function, which defines the decision variables, QP nodes, and edges of the network, and returns a QPNet object. A default initialization can be assigned to the QPNet, in which case an equilibrium can be computed by simply calling solve on the QPNet. If not specified, the default initialization is the zero vector. A custom initialization can be passed to the solver by calling
solve(qpn, init).
Documentation
A formal documentation of this package is in the works.
Owner
- Name: Forrest Laine
- Login: forrestlaine
- Kind: user
- Location: Nashville, TN
- Company: Vanderbilt University
- Twitter: 4estlaine
- Repositories: 3
- Profile: https://github.com/forrestlaine
Assistant Professor of Computer Science
GitHub Events
Total
Last Year
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: QuadraticProgramNetworks
A package for modeling and solving Quadratic Program Networks.
- Documentation: https://docs.juliahub.com/General/QuadraticProgramNetworks/stable/
- License: MIT
-
Latest release: 0.4.0
published almost 2 years ago