내 문제를 조사해 주셔서 고마워요! 나는 pyomo를 처음 사용하고 있으며 이제는 구체적인 모델을 풀기 위해 pyomo를 사용하려고합니다. 여기Pyomo "data = None"출력 오류
내 코드의 일부이다
--- (편집)
def objective_rule(model):
ans = sum(model.DAEB[t] * model.DAEP[t] for t in model.t)
ans -= sum(model.DARUP[t] * model.RU[t] + model.DARDP[t] * model.RD[t] for t in model.t)
ans += sum(0.5 * (sum(model.penalty[t, w]) + sum(-model.RTEP[t] * (model.DAEB[t] - ((model.RTRD[t, w] * model.RU[t]) +
sum(model.veh_pwer_dem[t, v, w] for v in model.v))))) for t in model.t for w in model.w)
ans += 0.95 * (model.epslon + 1/(0.5) * sum(0.01 * model.miu[w] for w in model.w))
return ans
- 톤가 일 세트 [0시 23분, 시간 시간으로 정의된다;
- w는 [0,1]로 정의됩니다. 다른 시나리오입니다.
- v는 [0:29], 30 가지 샘플입니다.
목적 함수를 정의하기 전에 위의 모델 변수와 관련된 일련의 제약 조건을 정의했습니다.
모든 것이 마지막 단계까지를 제외하고 원활하게 실행, pyomo을 제공합니다
--- 모든
Traceback (most recent call last):
line 61, in <module>
myresult = result.solve(project, pricefile, reg_dispatch, SOC=0, SOC_margin=0.05)
line 56, in solve
opti_model, result = self.Fr_optimal_bidding_optimization(self.vehicles, pricefile, reg_dispatch, SOC)
line 347, in Fr_optimal_bidding_optimization
model.objective = Objective(rule=objective_rule, sense=minimize, doc='minimize the total cost')
line 483, in __setattr__
self.add_component(name, val)
line 849, in add_component
val.construct(data)
line 307, in construct
tmp = _init_rule(_self_parent)
line 337, in objective_rule
sum(model.veh_pwer_dem[t, v, w] for v in model.v))))) for t in model.t for w in model.w)
ERROR: Rule failed when generating expression for objective objective:
line 337, in <genexpr>
TypeError: '_GeneralVarData' object is not iterable
sum(model.veh_pwer_dem[t, v, w] for v in model.v))))) for t in model.t for w in model.w)
ERROR: Constructing component 'objective' from data=None failed:
TypeError: '_GeneralVarData' object is not iterable
TypeError: '_GeneralVarData' object is not iterable
먼저 (편집), 나는 _GeneralVarData
개체에 대한 정말 혼란 스러워요 및 모른다 그것은 무엇을 말하는가, 둘째로, 나는 내 목적 함수에서 문제를 볼 수 없다. 그래서 어떤 사람이라도 조언을 해줄 수 있다면 크게 감사 하리라 !!
탱
이 오류를 일으키는 표현식 부분을 분리 할 수있을 때까지 먼저 표현식 부분을 주석으로 처리하는 것이 좋습니다. 이런 큰 표정을보고 문제를 골라내는 것은 어렵습니다. –
안녕하세요 개 브! 조언을 주셔서 너무 고마워요. 내 글을 다시 수정했습니다. –
편집 된 게시물이 있더라도이 오류가 표시되는 이유가 명확하지 않습니다. 우리는 관련 변수의 정의를 볼 필요가 있다고 생각합니다. –