|
Door 1 - tiger Xpress-Mosel Model
model 'trial2'
! Description : The Second Trial
! Source : Smullyan, R., (1991), The Lady or The Tiger, Oxford University Press
! Date written : Xpress-MP 6/12/99, Mosel 19/4/03
! Written by : M J Chlond
uses 'mmxprs'
parameters
door = 2
prize = 2 ! 1 = Lady, 2 = Tiger
end-parameters
declarations
D = 1..door
P = 1..prize
x: array(D,P) of mpvar ! x(i,j) = 1 if door i hides prize j, else 0
t: array(D) of mpvar ! t(i) = 1 if statement on door i is true, else 0
end-declarations
any:= x(1,1)
! each door hides 1 prize
forall(i in D)
pca(i):= sum(j in P) x(i,j) = 1
! if statement on door 1 is true then set t(1) = 1, else t(1) = 0
lca1:= x(1,1)+x(2,1)-2*t(1) <= 0
lca2:= x(1,1)+x(2,1)-t(1) >= 0
! if statement on door 2 is true then set t(2) = 1, else t(2) = 0
lcb1:= t(2) = x(1,2)
! either both statements true or both false
lcc:= t(1) = t(2)
forall(i in D,j in P)
x(i,j) is_binary
forall(i in D)
t(i) is_binary
minimise(any)
forall(i in D) do
forall(j in P)
write(getsol(x(i,j)),' ')
writeln
end-do
forall(i in D) do
write(getsol(t(i)))
writeln
end-do
end-model
|