PUBS: A Practical Upper Bounds Solver

Step 1: Provide a Cost Equation System.
Step 2: Provide an Entry or leave it empty and the solver will take the first equation as an entry. Also select the type of Computation.
Step 3: Click on the Solve button.

 CES eq(add(A,B),0,[n4(A,B)],[A>=0]). eq(m0(A,B,C),3,[m1(A,B,C)],[]). eq(m2(A),0,[m3(A)],[]). eq(m4(A),0,[],[]). eq(m5(B),6,[m4(A)],[B+ -A= -1]). eq(m3(A),0,[m5(A)],[]). eq(m6(A),0,[m7(A)],[]). eq(m8(A),0,[],[]). eq(m9(B),6,[m8(A)],[B+ -A= -2]). eq(m7(A),0,[m9(A)],[]). eq(n0(A),0,[n1(A)],[]). eq(n2(A),0,[],[]). eq(n3(B),6,[n2(A)],[B+ -A= -3]). eq(n1(A),0,[n3(A)],[]). eq(n5,0,[],[]). eq(n6(A,B),0,[],[]). eq(n7(A,B,C),2,[m0(A,B,C)],[A+ -C>= -3]). eq(n8(B,C,A),1,[n7(B,C,D),m2(A)],[B+ -A>=0,A+ -D= -1]). eq(n9(B,C,A),1,[n7(B,C,D),m6(A)],[B+ -A>=0,A+ -D= -2]). eq(o0(B,C,A),1,[n7(B,C,D),n0(A)],[B+ -A>=0,A+ -D= -3]). eq(o1(A,B),6,[n5,m0(A,B,0)],[A>=0]). eq(n4(A,B),0,[o1(A,B)],[A>=0]). eq(o2(A,B,C),7,[o3(A,B,C)],[A+ -C>=0]). eq(o3(A,B,C),0,[n8(A,B,C)],[]). eq(o3(A,B,C),0,[n9(A,B,C)],[]). eq(o3(A,B,C),0,[o0(A,B,C)],[]). eq(m1(A,B,C),0,[o2(A,B,C)],[]). eq(m1(A,C,B),0,[n6(A,B)],[]). File Entry IEntry # Compute Upper Bound (Normal) Upper Bound (Normal with level-count enabled) Upper Bound (series) Lower Bound (series)