Cplex是不是可以像这样编写目标函数

Posted

技术标签:

【中文标题】Cplex是不是可以像这样编写目标函数【英文标题】:Cplex is it possible to write objective function like thisCplex是否可以像这样编写目标函数 【发布时间】:2021-05-13 14:33:42 【问题描述】:

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

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

【问题讨论】:

请参阅下面的指南。 tour / how-to-ask / how-to-create-minimal-reproducible-code 【参考方案1】:

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,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

  

【讨论】:

以上是关于Cplex是不是可以像这样编写目标函数的主要内容,如果未能解决你的问题,请参考以下文章

使用带有Concert Technology的CPLEX编写C ++程序

一文掌握scala中的方法和函数

我不知道如何在 CPLEX 中编写 (i ∈ V^a∪ V^s) 以下条件?

如何用 cplex 热启动 pyomo?

请问vs2013编写C语言 如何添加注释块, 像这样, 就是自动生成注释块?

编写一个返回客户主体类型的函数