我如何知道 CheckSatisfied 的变量排序?
How do I know the variable ordering for CheckSatisfied?
我正在尝试使用 CheckSatisfied
函数为我的约束编写一些单元测试。我怎么知道输入向量的可变顺序x
?
例如
q = prog.NewContinuousVariables(1, 'q')
r = prog.NewContinuousVariables(2, 'r')
formula = le(q, r[0] + r[1])
constraint = prog.AddConstraint(formula)
assert(constraint.evaluator().CheckSatisfied([0.3, 0.5, 1]))
如何知道0.3
、0.5
、1
对应哪个变量?
是否取决于如何添加约束,如果是,我如何知道在无数种方式中添加的约束的可变顺序?
变量的顺序存储在 AddConstraint
的 return 参数中。如果您检查 constraint.variables()
,您会看到变量顺序。伪代码为
constraint = prog.AddConstraint(formula)
print(f"{constraint.variables()}")
我正在尝试使用 CheckSatisfied
函数为我的约束编写一些单元测试。我怎么知道输入向量的可变顺序x
?
例如
q = prog.NewContinuousVariables(1, 'q')
r = prog.NewContinuousVariables(2, 'r')
formula = le(q, r[0] + r[1])
constraint = prog.AddConstraint(formula)
assert(constraint.evaluator().CheckSatisfied([0.3, 0.5, 1]))
如何知道0.3
、0.5
、1
对应哪个变量?
是否取决于如何添加约束,如果是,我如何知道在无数种方式中添加的约束的可变顺序?
变量的顺序存储在 AddConstraint
的 return 参数中。如果您检查 constraint.variables()
,您会看到变量顺序。伪代码为
constraint = prog.AddConstraint(formula)
print(f"{constraint.variables()}")