QuadraticProgramNetworks

A package for modeling and solving Quadratic Program Networks.

https://github.com/forrestlaine/quadraticprogramnetworks.jl

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
Last synced: 6 months ago · JSON representation

Repository

A package for modeling and solving Quadratic Program Networks.

Basic Info
  • Host: GitHub
  • Owner: forrestlaine
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 1.19 MB
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 0
  • Open Issues: 2
  • Releases: 4
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

QuadraticProgramNetworks.jl

License DOI

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

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.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.5%
Average: 24.0%
Dependent packages count: 38.5%
Last synced: 6 months ago