From 842c2cda237e61a4dd0678a00205dca3bf6c0f05 Mon Sep 17 00:00:00 2001 From: someone Date: Fri, 8 Jun 2012 22:28:00 +0200 Subject: [PATCH] fix for testcase2 --- c.dl | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/c.dl b/c.dl index d755a3a..2c7dd34 100644 --- a/c.dl +++ b/c.dl @@ -19,13 +19,20 @@ c(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), I c(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), Idem <= Icur, OP = 0, #int(OP). c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), Idem <= Icur, OP = 0, #int(OP). +% noop if no demand +c(C,o1,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), Idem = Icur, OP = 0, #int(OP). +c(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), Idem = Icur, OP = 0, #int(OP). +c(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), Idem = Icur, OP = 0, #int(OP). +c(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), Idem = Icur, OP = 0, #int(OP). +c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), Idem = Icur, OP = 0, #int(OP). + % charge psh (over max) -c(C,o1,charge) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur. -c(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur, OP = 0, #int(OP). -c(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur, OP = 0, #int(OP). -c(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur, OP = 2, #int(OP). -c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur, Tava = Icur - Idem, Tava <= IMAXpc, OP = Tava, #int(OP). -c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem <= Icur, Tava = Icur - Idem, Tava > IMAXpc, OP = IMAXpc, #int(OP). +c(C,o1,charge) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur. +c(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur, OP = 0, #int(OP). +c(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur, OP = 0, #int(OP). +c(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur, OP = 2, #int(OP). +c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur, Tava = Icur - Idem, Tava <= IMAXpc, OP = Tava, #int(OP). +c(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), w_charge(IMAXpc), Idem < Icur, Tava = Icur - Idem, Tava > IMAXpc, OP = IMAXpc, #int(OP). % Produce energy. c(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), Idem > Icur, OP = 1, #int(OP). -- 2.43.0