| |
/*
Model name : elevator.mod
Description : solves Elevator puzzles
Source : The Tokyo Puzzles - Kobon Fujimura
Date written : 7/8/06
Written by : Martin Chlond, Lancashire Business School
Email : mchlond@uclan.ac.uk
*/
int m = ...;
int n = ...;
range M = 1..m;
range N = 1..n;
float c[M,N] = ...;
dvar boolean x[M];
minimize sum(i in M) x[i];
subject to {
/* each pair of floors connected by at least one elevator */
forall(j in N,k in N) sum(i in M) c[i,j]*c[i,k]*x[i] >= 1;
}
execute {
/* format and display output */
for(j in N) {
for(i in M) {
if(x[i]==1) {
write(c[i][j]);
write(" ");
}
}
writeln();
}
}
|
|
|