from src.optimizer import solve_optimization from src.optimizer import Landmark from fastapi import FastAPI app = FastAPI() @app.get("/optimize/{max_steps}/{print_details}") def main(max_steps: int, print_details: bool): # CONSTRAINT TO RESPECT MAX NUMBER OF STEPS #max_steps = 16 # Initialize all Landmarks (+ start and goal). Order matters here Landmarks = [] Landmarks.append(Landmark("départ", -1, (0, 0))) Landmarks.append(Landmark("tour eiffel", 99, (0,2))) # PUT IN JSON Landmarks.append(Landmark("arc de triomphe", 99, (0,4))) Landmarks.append(Landmark("louvre", 99, (0,6))) Landmarks.append(Landmark("montmartre", 99, (0,10))) Landmarks.append(Landmark("concorde", 99, (0,8))) Landmarks.append(Landmark("arrivée", -1, (0, 0))) visiting_order = solve_optimization(Landmarks, max_steps, print_details) #return visiting_order return("max steps :", max_steps, "\n", visiting_order) if __name__ == "__main__": main()