动态变量定义中 pyomo 中的错误消息
Error message in pyomo in dynamic variable definition
我正在尝试使用 pyomo 复制 this article 的最速同步优化。不幸的是,由于语法无效,我收到了一条错误消息。这段代码如下:
def f_x_definition_FLIGHT(model, i):
return m.f_x_FLIGHT[i] == math.sqrt(2*g*m.y[i])*math.cos(m.angle[i])
m.f_x_FLIGHT = Constraint(m.N_notinitial rule = f_x_definition_FLIGHT)
无效语法出现在第三行,在m.f_x_FLIGHT =...
我也构造了Y轴动态变量为
def f_y_definition_FLIGHT(model, i):
return m.f_y_FLIGHT[i] == math.sqrt(2*g*m.y[i])*math.sin(m.angle[i])
m.f_y_FLIGHT = Constraint(m.N_notinitial rule = f_y_definition_FLIGHT)
那里没有问题。
动态函数构建为
m.f_x_FLIGHT = Var(m.N_notinitial, domain = Reals)
m.f_y_FLIGHT = Var(m.N_notinitial, domain = Reals)
所以我找不到语法错误的原因
最后是m.N_notinitial后面少了一个逗号;如果写成m.f_x_FLIGHT = Constraint(m.N_notinitial, rule = f_x_definition_FLIGHT)
,代码工作正常
我正在尝试使用 pyomo 复制 this article 的最速同步优化。不幸的是,由于语法无效,我收到了一条错误消息。这段代码如下:
def f_x_definition_FLIGHT(model, i):
return m.f_x_FLIGHT[i] == math.sqrt(2*g*m.y[i])*math.cos(m.angle[i])
m.f_x_FLIGHT = Constraint(m.N_notinitial rule = f_x_definition_FLIGHT)
无效语法出现在第三行,在m.f_x_FLIGHT =...
我也构造了Y轴动态变量为
def f_y_definition_FLIGHT(model, i):
return m.f_y_FLIGHT[i] == math.sqrt(2*g*m.y[i])*math.sin(m.angle[i])
m.f_y_FLIGHT = Constraint(m.N_notinitial rule = f_y_definition_FLIGHT)
那里没有问题。
动态函数构建为
m.f_x_FLIGHT = Var(m.N_notinitial, domain = Reals)
m.f_y_FLIGHT = Var(m.N_notinitial, domain = Reals)
所以我找不到语法错误的原因
最后是m.N_notinitial后面少了一个逗号;如果写成m.f_x_FLIGHT = Constraint(m.N_notinitial, rule = f_x_definition_FLIGHT)