def main(): #Test on: N1_1 #Constraints: 12000 ≤ ρ ≤ 62000, (0.7 ≤ θ ≤ 3.141592)∨(−3.141592≤ θ ≤ -0.7), # -3.141592 ≤ ψ ≤ -3.141592 + 0.005, 100 ≤ vown ≤ 1200, 0 ≤ vint ≤ 1200. # the score of ``Clear-of-Conflict" is the minimal )\vee (-3.141592 $\leq\theta\leq$ -0.7), -3.141592 $\leq \psi \leq $ -3.141592 + 0.005, 100 $\leq v_{own} \leq$ 1200, 0 $\leq v_{int} \leq$ 1200. # the property is divided into two sub-properties that can be check seperately. p6_a = [ "f0 >= 12000", "f0 <= 62000", "f1 >= 0.7", "f1 <= 3.141592", "f2 >= -3.141592", "f2 <= -3.141592 + 0.005", "f3 >= 100", "f3 <= 1200", "f4 >= 0", "f4 <= 1200", "lmin == 0" ] p6_b = [ "f0 >= 12000", "f0 <= 62000", "f1 >= -3.141592", "f1 <= -0.7", "f2 >= -3.141592", "f2 <= -3.141592 + 0.005", "f3 >= 100", "f3 <= 1200", "f4 >= 0", "f4 <= 1200", "lmin == 0" ] with open("../paths_generation/paths_dt/tree_paths_11.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) #solver(paths, f, p6_a) solver(paths, f, p6_b)
def main(): # Tested on: Nx_y for all x ≥ 2 and for all y. # Constraints: ρ ≥ 55947.691, vown ≥ 1145, vint ≤ 60. # The score for COC is not the maximal score : Not(lmax == 0) p2 = ["f0 >= 55947.691", "f3 >= 1145", "f4 <= 60", "Not(lmax == 0)"] # enter the correponding path file: "../paths_generation/tree_paths_xy.txt", "rb" # Nx,y for all x ≥ 2 and for all y. with open("../paths_generation/paths_dt/tree_paths_59.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p2)
def main(): # Test on: N1_9 #Constraints: 0 ≤ ρ ≤ 60760, −3.141592 ≤ θ ≤ 3.141592, −3.141592 ≤ ψ ≤ 3.141592, 100 ≤ vown ≤ 1200, 0 ≤ vint ≤ 1200. # Desired output property: the scores for “strong right” and “strong left” are never the minimal scores. p7 = [ "f0 >= 0", "f0 <= 60760", "f1 >= -3.141592", "f1 <= 3.141592", "f2 >= -3.141592", "f2 <= 3.141592", "f3 >= 100", "f3 <= 1200", "f4 >= 0", "f4 <= 1200", "Not(Or(lmin == 4,lmin ==3))" ] with open("../paths_generation/paths_dt/tree_paths_19.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p7)
def main(): # Test on: N3_3 # 2000 ≤ ρ ≤ 7000, −0.4 ≤ θ ≤ −0.14, −3.141592 ≤ ψ ≤ −3.141592 + 0.01, 100 ≤ vown ≤ 150, 0 ≤ vint ≤ 150. # Desired output property: the score for “strong left” is minimal. p9 = ["f0 >= 2000", "f0 <= 7000", "f1 >= -0.4", "f1 <= -0.14", "f2 >= -3.141592", "f2 <= -3.141592 + 0.01", "f3 >= 100", "f3 <= 150", "f4 >= 0", "f4 <= 150", "lmin == 3"] with open("../paths_generation/paths_rf/combined_paths_3_3.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p9)
def main(): # Test on: N2_9 # 0 ≤ ρ ≤ 60760, -3.141592 ≤ θ ≤ -0.75·3.141592, -0.1 ≤ ψ ≤ 0.1, 600 ≤ vown ≤ 1200, 600 ≤ vint ≤ 1200 # Desired output property: the score for “weak left” is minimal or the score for COC is minimal. p8 = [ "f0 >= 0", "f0 <= 60760", "f1 >= -3.141592", "f1 <= -0.75 * 3.141592", "f2 >= -0.1", "f2 <= 0.1", "f3 >= 600", "f3 <= 1200", "f4 >= 600", "f4 <= 1200", "Or(lmin == 1,lmin ==0)" ] with open("../paths_generation/paths_dt/tree_paths_29.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p8)
def main(): # Tested on: all networks except N1_7, N1_8, and N1_9. # Constraints: 1500 ≤ ρ ≤ 1800, −0.06 ≤ θ ≤ 0.06, ψ ≥ 3.10, vown ≥ 980, vint ≥ 960. # The score for COC is not the minimal score p3 = [ "f0 >= 1500", "f0 <= 1800", "f1 >= -0.06", "f1 <= 0.06", "f2 >= 3.1", "f3 >= 980", "f4 >= 960", "Not(lmin == 0)" ] # enter the correponding path file: "../paths_generation/tree_paths_xy.txt", "rb" # all networks except N1_7, N1_8, and N1_9. with open("../paths_generation/paths_rf/combined_paths_5_8.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p3)
def main(): # Tested on: all networks except N1_7, N1_8, and N1_9. # Constraints: 1500 ≤ ρ ≤ 1800, -0.06 ≤ θ ≤ 0.06, ψ = 0, vown ≥ 1000, 700 ≤ vint ≤ 800. # the score for COC is not the minimal score p4 = [ "f0 >= 1500", "f0 <= 1800", "f1 >= -0.06", "f1 <= 0.06", "f2 == 0", "f3 >= 1000", "f4 >= 700", "f4 <= 800", "Not(lmin == 0)" ] # enter the correponding path file: "../paths_generation/tree_paths_xy.txt", "rb" # all networks except N1_7, N1_8, and N1_9. with open("../paths_generation/paths_dt/tree_paths_11.txt", "rb") as fp: paths = pickle.load(fp) with open("features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p4)
def main(): #Test on: N1_1 #constraints: 250 ≤ ρ ≤ 400, 0.2 ≤ θ ≤ 0.4, -3.141592 ≤ ψ ≤ -3.141592 + 0.005, 100 ≤ vown ≤ 400, 0 ≤ vint ≤ 400 #the score of “strong right” is the minimal p5 = [ "f0 >= 250", "f0 <= 400", "f1 >= 0.2", "f1 <= 0.4", "f2 >= -3.141592", "f2 <= -3.141592+0.005", "f3 >= 100", "f3 <= 400", "f4 >= 0", "f4 <= 400", "lmin == 4" ] with open("../paths_generation/paths_dt/tree_paths_11.txt", "rb") as fp: paths = pickle.load(fp) with open("features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p5)
def main(): # Test on: N4_5 # 36000 ≤ ρ ≤ 60760, 0.7 ≤ θ ≤ 3.141592, -3.141592 ≤ ψ ≤ -3.141592 + 0.01, 900 ≤ vown ≤ 1200, 600 ≤ vint ≤ 1200. # Desired output: the score for COC is minimal. p10 = [ "f0 >= 36000", "f0 <= 60760", "f1 >= 0.7", "f1 <= 3.141592", "f2 >= -3.141592", "f2 <= -3.141592 + 0.01", "f3 >= 900", "f3 <= 1200", "f4 >= 600", "f4 <= 1200", "lmin == 0" ] with open("../paths_generation/paths_dt/tree_paths_45.txt", "rb") as fp: paths = pickle.load(fp) with open("../paths_generation/features.txt", "rb") as fp: f = pickle.load(fp) solver(paths, f, p10)