Docplex:构建表达式以从数组中获取值

Docplex: Building expression to get a value from an array

我有一个数组定义如下

A = [
[10,20],
[20,10]
]

现在我想获取位置(i, j) 的条目。问题是,j 是一个 CpoFunctionCall 对象(其中 i 将是一个 Int),因此无法被索引。是否有可能在 docplex 中将 (i,j)-th 元素作为 CpoExpression 的操作,或者是否有其他一些聪明的方法来解决这个问题?

所以我解决这个问题的方法是将 A[i] 转换为表达式并将函数调用转换为布尔数组的表达式,然后取内积。

POSITION = [0,1]
b = build_cpo_expr(A[i])
c = list(map(lambda x: x==j, POSITION))
distance = scal_prod(c, b)