I’m trying to solve the following problem and I’ve been working on it for a long time already:
I want to optimize electricity-costs in a smart grid. There’s producer and consumer households in the grid. Trades are just possible in between producer and consumer households. The smart grid consists of 200 households.
The Trading price of a household-pair is something like that:
Electricity price = price – possible price reduction (equation 1)
Where price is a constant and possible price reduction depends on parameters for each household-trading pair.
That means optimizing the electricity price (eq. 1) is possible by maximizing possible price reduction. I want to optimize the electricity price for the community and not from a single household perspective.
I defined the possible price reduction function for a household-pair as:
P(Ci,Pi) = x * value1 + value2 + value3
Pi = producer household Ci = consumer household P(Ci,Pi) = household trading pair
As for x=1 value 2 and value 3 are mostlikely really small. The variable kind of depend on each other.
Value 1 Value 1 is the same for every possible household pair. But x depends on the distance (d) of the households Pi and Ci.
If d < 10 km: x = 1 If d> 10 km: X = 0
Value 2 Value 2 depends on the difference of the price zones of the household pair. So for each possible pair value 2 will be different. The price zone important for value 2 will be called zone A.
So value 2 for the Pair (P1,C1) would be:
Zone1 depends on the location of the households.
Value 3 Value 3 also depends on the households price zones. It depends on a different price zones which we’ll call zone B.
So value 3 for the Pair (P1,C1) would be:
Zone 3 also depends on the location of the households.
At the moment I’m looking at the problem as a transport problem for bipartite graph case. Interpreting households as nodes of a graph and individual price functions in between households as edges.
I want to compare different useful algorithms, pick the best fitting one and implement that in python.
How would you guys interpret the problem and what are your suggestions for useful algorithms for that case?
Thanks in advance.