为什么不能优化这种简单的oemof模型?

时间:2018-08-07 09:14:18

标签: python optimization solver

我想建立一个电能分配模型。我使用Python软件包oemof(https://github.com/oemof/oemof
我想从一个非常简单的模型开始。它仅由源(SRC, fixed),接收器(SNK, fixed)和存储(STO, half filled)组成。所有三个元素都连接到同一总线(BUS)。
我希望SRC>SNK STO被充电,而SRC<SNK STO被放电。
在这两种情况下,STO都没有反应,并且出现以下错误消息:

  

ERROR:root:Optimization failed with status ok and terminal condition infeasible

如果SRC=SNK没有显示错误。

我的代码如下:

import oemof.solph as solph
from oemof.outputlib import processing

es = solph.EnergySystem()    
BUS = solph.Bus(label='BUS')

SRC = solph.Source(label='SRC',
                      outputs={BUS: solph.Flow(actual_value=0.8,
                                                  nominal_value=100,
                                                  fixed=True)})
STO = solph.components.GenericStorage(label='STO',
                                         nominal_capacity=100000,
                                         initial_capacity=0.5,
                                         inputs={BUS: solph.Flow()},
                                         outputs={BUS: solph.Flow()})
SNK = solph.Sink(label='SNK',
                    inputs={BUS: solph.Flow(fixed=True,
                                               actual_value=0.5,
                                               nominal_value=100)})

es.add(BUS, SRC, STO, SNK)
om = solph.Model(es)
om.solve(solver='cbc', solve_kwargs={'tee': True})
print(processing.results(om))

我想念什么?

0 个答案:

没有答案