def main(): rails_environment = sys.argv[1] connection = dbf.connect_to_database(rails_environment) connection.autocommit = True database_row_id=sys.argv[2] cur = connection.cursor() cur.execute ("SELECT * FROM metalics WHERE id=\'"+database_row_id+"\' LIMIT 1;") database_row = cur.fetchone() database_row_id = database_row[0] params = database_row[1] algorithm = database_row[2] solver = None if algorithm == "MD Solver": solver = md.MDSolver(params) elif algorithm =="Genetics": solver = gas.GeneticSolver(params) elif algorithm == "Simulated Annealing": solver = san.simulatedAnnealingNano(params) elif algorithm == "Basin Hopping": solver = sbh.randomSolver(params) if solver is None: print "ERROR: Invalid solver!" else: solver.cur = cur solver.database_row_id=database_row_id solver.setStatusDone("Calculating solution...") solution = solver.solve() solver.setSolution(solution) solver.setDone('y') print solution
def main(): rails_environment = sys.argv[1] connection = dbf.connect_to_database(rails_environment) connection.autocommit = True database_row_id=sys.argv[2] cur = connection.cursor() cur.execute ("SELECT * FROM traveling_salesmen WHERE id=\'"+database_row_id+"\' LIMIT 1;") database_row = cur.fetchone() database_row_id = database_row[0] params = database_row[3] algorithm = database_row[4] remove_overlaps=database_row[10] if algorithm =="Brute Force (n!)": solver = bft.BFTS2(params) if algorithm =="Ant Total Distance (n^2)": solver = atd.AntTotalDistanceSolver(params) if algorithm =="Random (n)": solver = loe.LineOverlapEliminatorTravelingSalesmanSolver(params) if algorithm =="Gravity (n^2)": solver = gts.GravitationalTravelingSalesmanSolver(params) #Change this to Wheel Dijkstra and the other one to just Dijkstra if algorithm =="Wheel Dijkstra (n^3)": solver =dts.DijkstraSolver(params) if algorithm =="Fast Dijkstra (n^2)": solver = dts2.DijkstraTravelingSalesmanSolver(params) if algorithm =="Annealing (Dijkstra start)": solver = sas.SimulatedAnnealingSalesmanSolver(params) solver.enforce_random_start = False if algorithm =="Annealing (Random start)": solver = sas.SimulatedAnnealingSalesmanSolver(params) solver.enforce_random_start = True solver.REMOVE_LINE_CROSSES=remove_overlaps if solver is None: print "ERROR: Invalid solver!" else: solver.cur = cur solver.database_row_id=database_row_id solver.setStatusDone("Calculating solution...") solution =solver.solve() solver.setSolution(solution) solver.setDone('y') print solution
def main(): rails_environment = sys.argv[1] connection = dbf.connect_to_database(rails_environment) connection.autocommit = True database_row_id=sys.argv[2] cur = connection.cursor() cur.execute ("SELECT * FROM proteins WHERE id=\'"+database_row_id+"\' LIMIT 1;") database_row = cur.fetchone() database_row_id = database_row[0] params = database_row[3] algorithm = database_row[4] solver = None if algorithm == "Alpha Beta": solver = ab.alpha_beta(params) if algorithm =="Slithering Snake": solver = ss.SlitheringSnakeSolver(params) if algorithm == "Alpha Beta 3D AI": solver = ab_3d_ai.alpha_beta_ai_3d(params) if algorithm == "Alpha Beta 3D": solver = ab3d.alpha_beta_3d(params) if solver is None: print "ERROR: Invalid solver!" else: solver.cur = cur solver.database_row_id=database_row_id solver.setStatusDone("Calculating solution...") solution =solver.solve() solver.setSolution(solution) solver.setDone('y') print solution