Hadar
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.
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/
Metadata
Release files for hadar 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hadar-0.5.0.tar.gz | 50.0 kB | Without provenance | Details for hadar-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hadar-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for hadar-0.5.0-py3-none-any.whl |
Total release size: 130.0 kB
Release files / hadar-0.5.0.tar.gz
| Download URL | hadar-0.5.0.tar.gz |
|---|---|
| Size | 50.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f2352a8c9356695889cb5c2482c2b753eda80c5d09cdf0fbab323ebc9db3f09
|
|
BLAKE2b-256 checksum How to use checksums |
2bfb7181aa3e742fe86b5de50cb1330fb6ee72e981ee73d936b5c93a18c74f4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / hadar-0.5.0-py3-none-any.whl
| Download URL | hadar-0.5.0-py3-none-any.whl |
|---|---|
| Size | 80.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df643cb103e45eff84b6b4b569c15ca2894ddf0ec20b3504f2126f2830c85104
|
|
BLAKE2b-256 checksum How to use checksums |
95fd22adfcf0754590d2b6fb544d4f576a93ab0b3edbc73c2504ba99ac14a6f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for hadar 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.