Python纸浆目标函数计算

2024-10-01 00:22:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我是纸浆的初学者,目前我正在开发一个模型,该模型将有助于根据每小时的能量负荷和给定规模的太阳能发电系统的产量来确定太阳能发电系统的规模。程序的输出由以下代码行控制:

print("Ideal PV size",x.varValue/10, "Total electricity cost in a day", round(newElecCost,2),". In comparison to", round(oldElecCost,2))
for n in hoursOfDay:
    print(n, "had consumption", load[n]/10, "kWh generation", round(generation[n]/10,2),"kWh grid usage was", (vars1[n].varValue)/10, "kWh exported", (vars2[n].varValue)/10,"kWh",)

print("objective function using value(prob.objective) is",value(prob.objective))
print("objective function using the actual formula is", lpSum([vars1[a].varValue* tariff[a] for a in hoursOfDay]) + lpSum([generation[a] * x.varValue * 0.2 * 0.1 * 0.01 for a in hoursOfDay]) - lpSum([vars2[a].varValue*0.006 for a in hoursOfDay]))

程序中使用的目标函数是下面。那个目标是最小化问题。在

^{pr2}$

它与输出代码的最后一个print函数中编写的公式相同。在

但是,当我运行程序时,输出如下:

Ideal PV size 8.0 Total electricity cost in a day 37.2 . In comparison to 46.01
1 had consumption 5.0 kWh generation 0.0 kWh grid usage was 5.0 kWh exported 0.0 kWh
2 had consumption 5.2 kWh generation 0.0 kWh grid usage was 5.2 kWh exported 0.0 kWh
3 had consumption 5.8 kWh generation 0.0 kWh grid usage was 5.8 kWh exported 0.0 kWh
4 had consumption 9.0 kWh generation 0.0 kWh grid usage was 9.0 kWh exported 0.0 kWh
5 had consumption 10.5 kWh generation 0.0 kWh grid usage was 10.5 kWh exported 0.0 kWh
6 had consumption 12.0 kWh generation 0.8 kWh grid usage was 11.2 kWh exported 0.0 kWh
7 had consumption 18.0 kWh generation 2.4 kWh grid usage was 15.6 kWh exported 0.0 kWh
8 had consumption 16.2 kWh generation 3.36 kWh grid usage was 12.9 kWh exported 0.0 kWh
9 had consumption 6.7 kWh generation 4.32 kWh grid usage was 2.4 kWh exported 0.0 kWh
10 had consumption 5.5 kWh generation 6.24 kWh grid usage was 0.0 kWh exported 0.7 kWh
11 had consumption 9.0 kWh generation 7.2 kWh grid usage was 1.8 kWh exported 0.0 kWh
12 had consumption 8.5 kWh generation 7.84 kWh grid usage was 0.7 kWh exported 0.0 kWh
13 had consumption 4.3 kWh generation 7.84 kWh grid usage was 0.0 kWh exported 3.5 kWh
14 had consumption 9.1 kWh generation 7.84 kWh grid usage was 1.3 kWh exported 0.0 kWh
15 had consumption 5.8 kWh generation 6.56 kWh grid usage was 0.0 kWh exported 0.7 kWh
16 had consumption 3.4 kWh generation 5.28 kWh grid usage was 0.0 kWh exported 1.8 kWh
17 had consumption 3.4 kWh generation 4.0 kWh grid usage was 0.0 kWh exported 0.6 kWh
18 had consumption 15.0 kWh generation 1.6 kWh grid usage was 13.4 kWh exported 0.0 kWh
19 had consumption 19.0 kWh generation 0.0 kWh grid usage was 19.0 kWh exported 0.0 kWh
20 had consumption 18.2 kWh generation 0.0 kWh grid usage was 18.2 kWh exported 0.0 kWh
21 had consumption 5.1 kWh generation 0.0 kWh grid usage was 5.1 kWh exported 0.0 kWh
22 had consumption 4.0 kWh generation 0.0 kWh grid usage was 4.0 kWh exported 0.0 kWh
23 had consumption 3.1 kWh generation 0.0 kWh grid usage was 3.1 kWh exported 0.0 kWh
24 had consumption 3.1 kWh generation 0.0 kWh grid usage was 3.1 kWh exported 0.0 kWh
objective function using value(prob.objective) is 43.290000000000006
objective function using the actual formula is 47.2068

正如你所看到的,每个时间步的能量平衡似乎都是按预期工作的,因为负载+输出是由发电+电网使用来平衡的。但是在目标函数的使用上问题目标而实际的公式,我不知道为什么。在

很高兴听到你对为什么会发生这种事的想法。谢谢

**我创建变量的方式是:

X是我设定的用于确定太阳能发电系统大小的变量。在

负荷、发电量和电价都是带有命名索引的定义列表。在

vars1是确定太阳能发电后电网仍有多少电能被使用的变量。在

vars2确定有多少多余的太阳能被输送到电网。在


Tags: inforusagegenerationgridkwhprint太阳能