lanl-ansi / WaterModels.jl

A Julia/JuMP Package for Water Distribution Network Optimization

Home Page:https://lanl-ansi.github.io/WaterModels.jl/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WaterModels.jl

WaterModels Logo

Latest Documentation Status Development Build Status Code Coverage Status

WaterModels.jl is a Julia/JuMP package for steady state water network optimization. It is designed to enable computational evaluation of historical and emerging water network formulations and algorithms using a common platform. The code is engineered to decouple problem specifications (e.g., network design, optimal water flow) from network optimization formulations (e.g., mixed-integer linear, mixed-integer nonlinear). This decoupling enables the definition of a wide variety of optimization formulations and their comparison on common problem specifications.

Core Problem Specifications

  • Water Flow (wf and mn_wf) - obtain feasible flows and heads for a network
  • Optimal Water Flow (owf and mn_owf) - minimize the cost of network operation
  • Network Design (des) - minimize the cost of network design

Core Network Formulations

  • NC - nonconvex nonlinear formulation
  • NCD - nonconvex nonlinear direction-based formulation
  • CRD - continuous (convex) relaxation- and direction-based formulation
  • LRD - linear relaxation- and direction-based formulation
  • PWLRD - piecewise linear relaxation- and direction-based formulation
  • LA - linear approximation-based formulation

Documentation

The package documentation includes a quick start guide. Be advised that aside from the quick start guide, documentation is under development and may currently be inaccurate.

Development

Community-driven development and enhancement of WaterModels is welcomed and encouraged. Please feel free to fork this repository and share your contributions to the master branch with a pull request. That said, it is important to keep in mind the code quality requirements and scope of WaterModels before preparing a contribution. See CONTRIBUTING.md for code contribution guidelines.

Acknowledgments

This work is currently supported by the Advanced Grid Modeling Program within the U.S. Department of Energy under the project "Coordinated Planning and Operation of Water and Power Infrastructures for Increased Resilience and Reliability." Work at Los Alamos National Laboratory is conducted under the auspices of the National Nuclear Security Administration of the U.S. Department of Energy under Contract No. 89233218CNA000001. Previous work was supported by the Los Alamos National Laboratory Directed Research and Development program under the project "Adaptation Science for Complex Natural-engineered Systems" (20180033DR). It is also supported by the Advanced Network Science Initiative at Los Alamos National Laboratory.

The primary developer is Byron Tasseff with support from the following contributors:

License

This code is provided under a modified BSD license as part of the Multi-Infrastructure Control and Optimization Toolkit (MICOT), C15024.

About

A Julia/JuMP Package for Water Distribution Network Optimization

https://lanl-ansi.github.io/WaterModels.jl/latest/

License:Other


Languages

Language:Julia 100.0%