Skip to main content

python adequacy library

Project description

Hadar

PyPI GitHub Workflow Status (branch) https://sonarcloud.io/dashboard?id=hadar-solver_hadar https://sonarcloud.io/dashboard?id=hadar-solver_hadar Binder website GitHub

Hadar is a adequacy python library for deterministic and stochastic computation

Adequacy problem

Basic

Each kind of network has a needs of adequacy. On one side, some network nodes need to consume items such as watt, litter, package. And other side, some network nodes produce items. Applying adequacy on network, is tring to find the best available exchanges to avoid any lack at the best cost.

For example, a electric grid can have some nodes wich produce too more power and some nodes which produce not enough power.

adequacy

Complexity comes soon

Above example is simple, but problem become very tricky with 10, 20 or 500 nodes !

Moreover all have a price ! Node can have many type of production, and each kind of production has its unit cost. Node can have also many consumptions with specific unavailability cost. Links between node have also max capacity and cost.

Network adequacy is not simple.

Hadar

Hadar computes adequacy from simple to complex network. For example, to compute above network, just few lines need:

import hadar as hd

study = hd.Study(horizon=3)\
    .network()\
        .node('a')\
            .consumption(cost=10 ** 6, quantity=[20, 20, 20], name='load')\
            .production(cost=10, quantity=[30, 20, 10], name='prod')\
        .node('b')\
            .consumption(cost=10 ** 6, quantity=[20, 20, 20], name='load')\
            .production(cost=10, quantity=[10, 20, 30], name='prod')\
        .link(src='a', dest='b', quantity=[10, 10, 10], cost=2)\
        .link(src='b', dest='a', quantity=[10, 10, 10], cost=2)\
    .build()

optimizer = hd.LPOptimizer()
res = optimizer.solve(study)

And few more lines to display graphics results.

plot = hd.HTMLPlotting(agg=hd.ResultAnalyzer(study, res),
                       node_coord={'a': [2.33, 48.86], 'b': [4.38, 50.83]})
plot.network().node('a').stack()
plot.network().map(t=0, zoom=2.5)

Get more information and examples at https://www.hadar-simulator.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hadar-0.5.0.tar.gz (50.0 kB view details)

Uploaded Source

Built Distribution

hadar-0.5.0-py3-none-any.whl (80.0 kB view details)

Uploaded Python 3

File details

Details for the file hadar-0.5.0.tar.gz.

File metadata

  • Download URL: hadar-0.5.0.tar.gz
  • Upload date:
  • Size: 50.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.12

File hashes

Hashes for hadar-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0f2352a8c9356695889cb5c2482c2b753eda80c5d09cdf0fbab323ebc9db3f09
MD5 4f3c3d01fdae0915b10a0f9735920344
BLAKE2b-256 2bfb7181aa3e742fe86b5de50cb1330fb6ee72e981ee73d936b5c93a18c74f4f

See more details on using hashes here.

File details

Details for the file hadar-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: hadar-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 80.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.6.12

File hashes

Hashes for hadar-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df643cb103e45eff84b6b4b569c15ca2894ddf0ec20b3504f2126f2830c85104
MD5 751a727f15e7f78863a5bed2cf3eb48e
BLAKE2b-256 95fd22adfcf0754590d2b6fb544d4f576a93ab0b3edbc73c2504ba99ac14a6f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page