Cmrs
Cmrs

Reputation: 1

Clustering problem constraint error CPLEX cannot extract expression

I've written following code for a clustering problem:

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; }

I keep getting "CPLEX cannot extract expression" and "OPL cannot extract expression" errors. Am I writing the first constraint wrong?

Here's the mathematical model:model

Upvotes: -1

Views: 46

Answers (1)

Alex Fleischer
Alex Fleischer

Reputation: 10062

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; }

works fine

Upvotes: 0

Related Questions