首页 > 解决方案 > 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[][]

标签: javamatrixcplex

解决方案


在您的问题描述中,没有什么可以优化的。矩阵中的所有元素M都是常数。因此,您描述的两个总和可以直接计算,而无需使用 CPLEX 之类的工具。


推荐阅读