问题描述
我有一个二维分数矩阵作为参数。 我有 nxm 个变量 x[i,j],这些变量可以假定在预定范围内的整数值。 我需要最大化这样的东西: desidered objective function
其中分数是矩阵。 有没有可能定义这样一个目标函数?
解决方法
How to use a decision variable as an index with CPLEX 的 HOW TO WITH OPL CPLEX 部分所说的 2 个选项?
在 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,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
{
}