我有一个分数的二维矩阵作为参数。我有 nxm 个变量 x[i,j],这些变量可以采用预定范围内的整数值。我需要最大化这样的东西: 期望的目标函数
其中 score 是矩阵。是否可以定义这样的目标函数?
我有一个分数的二维矩阵作为参数。我有 nxm 个变量 x[i,j],这些变量可以采用预定范围内的整数值。我需要最大化这样的东西: 期望的目标函数
其中 score 是矩阵。是否可以定义这样的目标函数?
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
{
}