Ticket #4322 (closed minor enhancement: fixed)

Opened 7 years ago

Last modified 5 years ago

Modify Coopr expression hierarchy to throw an exception when a constraint involving a strict inequality is specified

Reported by: jwatson Owned by: unassigned
Priority: normal Milestone: Coopr 3.4
Component: pyomo.core Version:
Keywords: Cc:


It was easy to cull strict inequality logic from many places in the Coopr code base. However, more careful consideration is required in the expression generation logic.

Change History

comment:1 Changed 7 years ago by jdsiiro

I believe that we still need to support the construction of strict inequality expressions, just not the use of them in Constraint objects. Mostly, this is for debugging reasons -- and the always sticky issue of handling "if model.ParamV < 5:". In addition, I could see the need for strict inequalities in a CP context.

comment:2 Changed 7 years ago by anonymous

Fair enough - if this is the case, then we're done! Good point regarding potential use in CP contexts.

Given this, should we close this ticket?

comment:3 Changed 6 years ago by jwatson

  • Milestone changed from Coopr 3.2 to Coopr 3.x

comment:4 Changed 5 years ago by gabeh

Referenced in changeset [7543]:

Pyomo base updates:

  • Replacing use of .name with .cname(True) where appropriate in error messages.
  • Constraint updates:
    • Raising an exception when Constraint encounters a strict inequality expression. This can be misleading when dealing with discrete models since these types of constraint expression were silently treated as non-strict inequality expressions. (fixes #4322, references #4342)
    • Fixing typo in error messages.
  • Fixing bug in Var pprint so that indexing set name is shown.

comment:5 Changed 5 years ago by gabeh

  • Status changed from new to closed
  • Resolution set to fixed

comment:6 Changed 5 years ago by wehart

  • Milestone changed from Coopr 3.x to Coopr 3.4
Note: See TracTickets for help on using tickets.