No project description provided
Project description
Dynamic programming optimisation tool
This project implements the dynamic programming tool proposed in this paper and available in the R Software in the ConConPiWiFun package
Table of Contents
1. Installation
If you want to install the package from source, you can do
pip install git+https://github.com/robingirard/dynprogstorage#egg=dynprogstorage
Documentation
optimisation problem
This tool allows you to solve problems with the form
## min_x sum_i phi_i(x_i) phi_i : convex piecewise linear function
## P_i^-<= x_i <=P_i^+
## C_i^-<= x_0 + sum_j=0^i x_j <= C_i^+
Examples
Let us give a few examples of use
storage operation example
While participating in the market with a 100% efficiency storage you want to maximize the profit
## min_x sum_i Pi_i x_i ( phi_i linear function)
## -p_max <= x_i <=p_max
## 0<= x_0 + sum_j=0^i x_j <= c_max
## x_i>0 : consumption from the network
## x_i<0 : producing (injection to network)
### --> phi_i(x_i) is a buying cost we want to minimize
The code you need to use is :
## Definition of values
x_0=0
nbTime=250
Prices=random.uniform(1, 1000, nbTime)
p_max=1.
c_max=10.*p_max
## Generation of a vector of cost functions
cpl_func = GenCostFunctionFromMarketPrices(Prices.tolist())
cpl_func.vec_get(0).getBreakPoints() ## what does the first cost function look like
## now solve the optimisation problem
res = cpl_func.OptimMargInt([-p_max]*nbTime,[p_max]*nbTime,[-x_0]*nbTime,[c_max-x_0]*nbTime)
print(res)
## Visualisation of results (power) with prices
period=100
plt.plot(res[:100])
plt.plot(-(Prices[:100]-Prices.mean())/Prices.max())
plt.ylabel("Puissance (MW)")
plt.xlabel("Index")
plt.show()
## Visualisation of Energy evolution
energie=np.cumsum(res)
plt.plot(energie[:100], color='g')
plt.plot([0]*100, color='b')
plt.plot([c_max]*100, color='b')
plt.ylabel("Energie (MWh)")
plt.xlabel("Index")
plt.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dynprogstorage-0.1.10.tar.gz
(66.4 kB
view hashes)
Built Distributions
Close
Hashes for dynprogstorage-0.1.10-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff55c80c74423a0f58164fda20637c7a70438c982f987650bc2787402a60114b |
|
MD5 | ea41ba1350b5f147a9cd100299aaa82f |
|
BLAKE2b-256 | 1da823030b0ab01c297ccfb02e9759990ab26ff357a8ac33f38c1ac7000487cd |
Close
Hashes for dynprogstorage-0.1.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c0d6fe867ce2a30f917e7acbb12b0616aa3d1dad3f9e82961fce309c3ebb225 |
|
MD5 | 6bb03803ee7da87768f9d509254de6c6 |
|
BLAKE2b-256 | 7cef9df90e698208643f6663b7984ca753aa619573a9a75b9b3223d477bbfbd3 |