pyomo - трудности, включающие силу в выражение ограничения - PullRequest
1 голос
/ 05 октября 2019

Я пытаюсь смоделировать термодинамические отношения, в которых есть термины х ** 1,25. Однако при включении я получаю сообщение об ошибке. Вот выражение ограничения:

FOR p_m in LIST1
model.cons.add(sum(model.mix1[b_n,p_m]*quals[b_n]['q_qual1']**1.25 for b_n in BLEND) \
                   - model.prods[p_m]*fin[p_m]['q_qual1_min']**1.25 >=0)

, а вот ошибка:

File "ext_mod_v0k.py", line 154, in <module>
    - model.prods[p_m]*fin[p_m]['q_qual1_min']**1.25 >=0)
  File "C:\ProgramData\Anaconda3\envs\py37\lib\site-packages\pyomo\core\expr\numvalue.py", line 784, in __mul__
    return _generate_mul_expression(_mul,self,other)
  File "C:\ProgramData\Anaconda3\envs\py37\lib\site-packages\pyomo\core\expr\numeric_expr.py", line 1780, in _generate_mul_expression
    if not (_other.__class__ in native_types or _other.is_expression_type()):
AttributeError: 'complex' object has no attribute 'is_expression_type'

Когда я заменяю «1.25» на «1» или «2», код запускаетсячерез гладко. Я также пробовал pow (), но тот же результат. Что мне здесь не хватает?

Заранее спасибо за помощь.

...