首先,对于这个问题的糟糕标题,我根本不知道一个更好的问题。 如果你有一个更好的=>告诉我!
所以我的问题是我想用Python编写一个单纯形求解器来深入理解它们是如何工作的。
因此,我想在我的计划中有这样的事情:
m.addConstr(x[0] <= 7)
基本上应该为我的模型m
添加约束。
这在Gurobi有效,因为它很容易阅读。
问题是x[0]
必须是一个对象,我自己可以定义当存在不平等或平等或其他什么时会发生什么,对吧?
我很高兴自己想出大部分内容,只想知道这是如何运作的。
答案 0 :(得分:1)
看起来你想要重置你正在使用的任何对象的比较运算符。因此,如果您的示例中Foo
是x[0]
的类,那么您可以这样写:
class Foo:
def __gt__(self, other):
# construct and return some kind of constraint object
def __lt__(self, other):
# likewise
左手调用这些特殊方法(__gt__
,__ge__
,__lt__
,__le__
,__ne__
和__eq__
)比较关系中的对象。因此,如果您有x > y
,那么__gt__
上的x
方法将以y
作为参数进行调用。
答案 1 :(得分:1)