java - cplex - 矩阵值和索引的最小化和总和
问题描述
我第一次使用 Cplex Java API。
我想最小化某些索引上矩阵中的值的总和,这是由条件给出的。
例如,如果我有矩阵M = {{ 0, 1, 2, 1},{ 1, 2, 1, 0},{ 0, 1, 1, 0},{ 1, 1, 1, 2}}
。
我想计算两个总和,首先是所有元素的总和,e = 1
其次是元素等于的索引1
。
因此,元素相等的索引1
是{{0,1} {1,0} {1,2} {2,1} {2,2} {3,0} {3,1} {3,2}
。
第一种情况的结果是 9 (1+1+1+1+1+1+1+1+1)`,第二种情况的结果是 24 (0+1+1+0+1+2+2+1+2 +2+3+0+3+1+3+2)。
我不确定如何使用IloNumVar[]
和创建一个表达式,使用IloLinearNumExpr
它在 sum 中使用并最小化函数,而 matrixM
是 type int[][]
。
解决方案
在您的问题描述中,没有什么可以优化的。矩阵中的所有元素M
都是常数。因此,您描述的两个总和可以直接计算,而无需使用 CPLEX 之类的工具。