0

我有一个分数的二维矩阵作为参数。我有 nxm 个变量 x[i,j],这些变量可以采用预定范围内的整数值。我需要最大化这样的东西: 期望的目标函数

其中 score 是矩阵。是否可以定义这样的目标函数?

4

1 回答 1

0

2 个选项,如 How to use a decision variable as a index with CPLEX part of HOW TO WITH OPL CPLEX中所述?

在 CPLEX 中使用 CPOptimizer

using CP;
range r=1..5;
float value[r]=[2,3,4.5,1,0];
dvar int i in 1..5;
maximize value[i];
subject to
{
}
execute
{
writeln("i=",i);
}

或使用 CPLEX MIP

range r=1..5;

float value[r]=[2,3,4.5,1,0];
dvar int i in 1..5;

maximize sum(k in r) value[k]*(k==i);
subject to
{

}

execute
{
writeln("i=",i);
}

并根据您的目标给出

using CP;

int N=4;
int M=5;

range R=1..10;

int scores[i in R][j in R]=i*j;

dvar int x[0..N+1][0..M] in R;

maximize sum(i in 0..N,j in 0..M) scores[x[i,j],x[i+1,j]];

subject to
{
  
}
于 2021-02-10T08:08:31.943 回答