]> git.somenet.org - pub/jan/ewbs-dlv.git/blob - c.dl
c tests + comp
[pub/jan/ewbs-dlv.git] / c.dl
1 % control definition.
2 % o1: psh, o2:w, o3:f, o4:s, o5:scharge
3 % uns jetzt schön alle komponenten-maxima-abfragen hardcoden -.-
4
5 % noop
6 p(C,o1,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), Idem <= Icur, OP = 0, #int(OP).
7 p(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), Idem <= Icur, OP = 0, #int(OP).
8 p(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,full), Idem <= Icur, OP = 0, #int(OP).
9 p(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).
10 p(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).
11
12 % charge psh (over max)
13 p(C,o1,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, OP = 0, #int(OP).
14 p(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, OP = 0, #int(OP).
15 p(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, OP = 0, #int(OP).
16 p(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, OP = 2, #int(OP).
17 p(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, Tava = Icur - Idem, Tava <= IMAXpc, OP = Tava, #int(OP).
18 p(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), not c(C,i3,full), charge_max(psh,IMAXpc), Idem <= Icur, Tava = Icur - Idem, Tava > IMAXpc, OP = IMAXpc, #int(OP).
19
20
21 % Treq = to request is <= c_max(w). request o2 = Treq.
22 %p(C,o1,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,Istor), c(C,i4,Iwind), Treq = Idem - Icur,
23 %              c_max(w,WMAX), Iwind >= 5, Iwind <= 40, Treq <= WMAX, OP = 0, #int(OP).
24 %
25 %p(C,o2,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,Istor), c(C,i4,Iwind), Treq = Idem - Icur,
26 %              c_max(w,WMAX), Iwind >= 5, Iwind <= 40, Treq <= WMAX, OP = Treq, #int(OP).
27 %
28 %p(C,o3,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,Istor), c(C,i4,Iwind), Treq = Idem - Icur,
29 %              c_max(w,WMAX), Iwind >= 5, Iwind <= 40, Treq <= WMAX, OP = 0, #int(OP).
30 %
31 %p(C,o4,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,Istor), c(C,i4,Iwind), Treq = Idem - Icur,
32 %              c_max(w,WMAX), Iwind >= 5, Iwind <= 40, Treq <= WMAX, OP = 1, #int(OP).
33 %
34 %p(C,o5,OP) :- not ab(C), control(C), c(C,i1,Icur), c(C,i2,Idem), c(C,i3,Istor), c(C,i4,Iwind), Treq = Idem - Icur,
35 %              c_max(w,WMAX), Iwind >= 5, Iwind <= 40, Treq <= WMAX, OP = 0, #int(OP).
36
37