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)
我有一个数组定义如下
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)