【问题标题】:cplex - minimization and sum of matrix values and indexescplex - 矩阵值和索引的最小化和总和
【发布时间】:2019-11-01 21:10:37
【问题描述】:

我是第一次使用 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 创建一个表达式,该表达式用于求和并最小化函数,而矩阵Mint[][] 类型。

【问题讨论】:

  • 如果M 的类型是int[][],那么这里就不需要使用CPLEX。相反,您可以只编写两个循环,扫描M 并计算所需的值。在您的情况下,优化器可以更改的变量到底是什么?

标签: java matrix cplex


【解决方案1】:

在您的问题描述中,没有什么可以优化的。矩阵M 中的所有元素都是不变的。所以你描述的两个和可以直接计算,而不需要像 CPLEX 这样的工具。

【讨论】:

    猜你喜欢
    • 2015-05-04
    • 2013-11-18
    • 2021-01-13
    • 2016-02-17
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    相关资源
    最近更新 更多