I am attempting to solve the Google ASP Competition 2019 : Insurance Referee Assignment problem. The problem is provided in this link.
There is a hard constraint that if a referee has preference type of 0 then the case will not be assigned to that referee. I have simplified the problem to include a few variables.
case(cid)
refers to a case with cid as the case id.
ref(rid)
refers to the referee with referee id.
pref(rid, type)
takes the preference of referee 'rid' and type which takes value from 0 to 3. The higher the number, the more likely it will take the case.
In ref(10, 3)
and ref(9, 2)
, the higher preference will be given to ref(10)
.
I have tried the following clingo code:
ref(rid).
case(cid).
pref(rid, type).
assign(cid, rid) :- ref(rid), pref(rid, type), type != 0.
case(4).
ref(3).
ref(5).
pref(3, 0).
pref(5, 1).
#show assign/2.
However, when I run the command, it shows satisfiable but outputs only this
assign(cid, rid)
What am I doing wrong?