聚类问题约束错误CPLEX无法提取表达式

问题描述 投票:0回答:1

我为聚类问题编写了以下代码:

range N=1..10; 
range M=1..2; 
float distance[N,N]=...;
dvar boolean x[M,N]; 
dvar float+ Z; 

minimize Z;

 subject to {
   forall(i in N, j in N, k in M)
         distance[i,j]*x[i,k]+distance[i,j]*x[j,k]-Z<= distance[i,j];
  
   forall(j in N)
    sum(i in M)x[i,j]==1; }

我不断收到“CPLEX 无法提取表达式”和“OPL 无法提取表达式”错误。我第一个约束写错了吗?

这是数学模型:model

cluster-analysis linear-programming cplex minmax
1个回答
0
投票
range N=1..10; 
range M=1..2; 
float distance[n1 in N,n2 in N]=abs(n2-n1);
dvar boolean x[N,M]; 
dvar float+ Z; 

minimize Z;

 subject to {
   forall(i in N, j in N, k in M)
         distance[i,j]*x[i,k]+distance[i,j]*x[j,k]-Z<= distance[i,j];
  
   forall(j in N)
    sum(i in M)x[j,i]==1; }

工作正常

© www.soinside.com 2019 - 2024. All rights reserved.