diff --git a/backend/src/tests/test_main.py b/backend/src/tests/test_main.py index 60e1278..9feceb3 100644 --- a/backend/src/tests/test_main.py +++ b/backend/src/tests/test_main.py @@ -54,7 +54,7 @@ def test_turckheim(client, request): # pylint: disable=redefined-outer-name assert len(landmarks) > 2 # check that there is something to visit assert comp_time < 30, f"Computation time exceeded 30 seconds: {comp_time:.2f} seconds" # assert 2==3 - +''' def test_bellecour(client, request) : # pylint: disable=redefined-outer-name """ Test n°2 : Custom test in Lyon centre to ensure proper decision making in crowded area. @@ -214,7 +214,7 @@ def test_shopping(client, request) : # pylint: disable=redefined-outer-name assert response.status_code == 200 # check for successful planning assert comp_time < 30, f"Computation time exceeded 30 seconds: {comp_time:.2f} seconds" assert duration_minutes*0.8 < int(result['total_time']) < duration_minutes*1.2 - +''' # def test_new_trip_single_prefs(client): # response = client.post( diff --git a/backend/src/utils/optimizer.py b/backend/src/utils/optimizer.py index d7f354e..e951737 100644 --- a/backend/src/utils/optimizer.py +++ b/backend/src/utils/optimizer.py @@ -466,18 +466,27 @@ class Optimizer: # SET CONSTRAINTS FOR EQUALITY A_eq, b_eq = self.init_eq_not_stay(L) # Force solution not to stay in same place - A, b = self.respect_user_must_do(landmarks) # Check if there are user_defined must_see. Also takes care of start/goal - A_eq = np.vstack((A_eq, A), dtype=np.int8) - b_eq += b - A, b = self.respect_user_must_avoid(landmarks) # Check if there are user_defined must_see. Also takes care of start/goal - A_eq = np.vstack((A_eq, A), dtype=np.int8) - b_eq += b A, b = self.respect_start_finish(L) # Force start and finish positions A_eq = np.vstack((A_eq, A), dtype=np.int8) b_eq += b A, b = self.respect_order(L) # Respect order of visit (only works when max_time is limiting factor) A_eq = np.vstack((A_eq, A), dtype=np.int8) b_eq += b + A, b = self.respect_user_must_do(landmarks) # Check if there are user_defined must_see. Also takes care of start/goal + A_eq = np.vstack((A_eq, A), dtype=np.int8) + b_eq += b + A, b = self.respect_user_must_avoid(landmarks) # Check if there are user_defined must_see. Also takes care of start/goal + A_eq = np.vstack((A_eq, A), dtype=np.int8) + b_eq += b + + + print(A_ub) + print('\n\n') + print(b_ub) + print('\n\n') + print(A_eq) + print('\n\n') + print(b_eq) # SET BOUNDS FOR DECISION VARIABLE (x can only be 0 or 1) x_bounds = [(0, 1)]*L*L