Originally posted by: mdmasbaul
<code>
using CP;
int n = 5;
int m = 11;
range marks = 1..n;
range positions = 0..m;
dvar int+ golombRuler[marks] in positions;
dvar int+ diffArray[1..m-1] in positions;
minimize golombRuler[n];
subject to {
golombRuler[1] == 0;
golombRuler[n] == m;
forall (i in 1..n-1) {
golombRuler[i] < golombRuler[i+1];
};
forall(i,j in 1..n:j>i,k in 1..ftoi(n*(n-1)/2)){
diffArray[k] == abs(golombRuler[i] - golombRuler[j]);
};
allDifferent(diffArray);
}
execute{
var ofile = new IloOplOutputFile("GolombRulerOutput.dat", true);
ofile.writeln("Golomb Ruler(n, m)::");
ofile.writeln("Golomb Ruler("+n+", "+m+"):");
ofile.write("[");
for(var i in thisOplModel.golombRuler){
ofile.write(" "+thisOplModel.golombRuler[i]);
}
for(var i in thisOplModel.diffArray){
ofile.write(" "+thisOplModel.diffArray[i]);
}
ofile.writeln(" ]");
ofile.write("\n\n\n");
ofile.close();
}
</code>
Yes, you are right, I understood it in a wrong way. However, I have updated the code but still it produces no solution. Can you please have a look at my code above.
#DecisionOptimization#OPLusingCPLEXOptimizer