From 4b4308f828ca40640db4737c1b99bdf2685c9ad0 Mon Sep 17 00:00:00 2001 From: Romain BERNARD <romain.bernard@uca.fr> Date: Mon, 24 Jun 2024 17:40:32 +0200 Subject: [PATCH] new debug/test instances --- .../DebugWeight/graph.dat | 30 +++++++++++++++ .../DebugWeight/requests.dat | 9 +++++ .../Instance_Alain_140624_2/graph2.dat | 30 +++++++++++++++ .../Instance_Alain_140624_2/requests.dat | 9 +++++ test/src/BestInsertionHeuristicDebug.cpp | 38 +++++++++++++++++-- 5 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 resources/test/instances/BestInsertionHeuristic/DebugWeight/graph.dat create mode 100644 resources/test/instances/BestInsertionHeuristic/DebugWeight/requests.dat create mode 100644 resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/graph2.dat create mode 100644 resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/requests.dat diff --git a/resources/test/instances/BestInsertionHeuristic/DebugWeight/graph.dat b/resources/test/instances/BestInsertionHeuristic/DebugWeight/graph.dat new file mode 100644 index 0000000..9f90059 --- /dev/null +++ b/resources/test/instances/BestInsertionHeuristic/DebugWeight/graph.dat @@ -0,0 +1,30 @@ +#Params (seed) +123456789 +#Nodes format : status (work, leisure, residential),x,y +,0,0 +,1,1 +,1,2 +,2,2 +,2,3 +,3,3 +,3,4 +,4,4 +,4,5 +,5,5 +,5,6 +,6,6 +,6,7 +#Matrix +0,4,60,60,60,60,60,1,60,5,60,10,60 +60,0,15,3,60,60,60,60,60,60,60,60,60 +60,60,0,60,60,60,7,60,60,60,60,60,60 +60,60,60,0,5,5,60,60,60,60,60,60,60 +60,60,6,60,0,5,60,60,60,60,60,60,60 +60,60,60,60,2,0,16,60,60,60,60,60,60 +2,60,60,60,60,60,0,16,60,60,60,60,60 +60,60,60,60,60,60,60,0,10,3,60,60,60 +60,60,60,60,60,60,60,60,0,60,60,5,60 +60,60,60,60,60,60,60,60,6,0,18,10,60 +3,60,60,60,60,60,60,60,60,60,0,60,60 +60,60,60,60,60,60,60,60,60,60,60,0,4 +60,60,60,60,60,60,60,60,60,60,2,60,0 diff --git a/resources/test/instances/BestInsertionHeuristic/DebugWeight/requests.dat b/resources/test/instances/BestInsertionHeuristic/DebugWeight/requests.dat new file mode 100644 index 0000000..b3170a4 --- /dev/null +++ b/resources/test/instances/BestInsertionHeuristic/DebugWeight/requests.dat @@ -0,0 +1,9 @@ +#Global Params (delta ratio) +1 +#Requests (origin_idx,destination_idx,min_tw_start,max_tw_start,min_tw_end,max_tw_end,delta baseline,capacity) +1,2,1,5,,,30,4 +1,2,1,5,,,30,3 +1,2,1,5,,,30,1 +1,2,1,5,,,30,2 +1,2,1,5,,,30,3 +1,2,1,5,,,30,2 diff --git a/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/graph2.dat b/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/graph2.dat new file mode 100644 index 0000000..b5de44a --- /dev/null +++ b/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/graph2.dat @@ -0,0 +1,30 @@ +#Params (seed) +123456789 +#Nodes format : status (work, leisure, residential),x,y +,0,0 +,1,1 +,1,2 +,2,2 +,2,3 +,3,3 +,3,4 +,4,4 +,4,5 +,5,5 +,5,6 +,6,6 +,6,7 +#Matrix +0,2,60,60,60,60,60,1,60,5,60,10,60 +60,0,15,6,60,60,60,60,60,60,60,60,60 +3,60,0,60,60,60,7,60,60,60,60,60,60 +60,60,60,0,9,7,60,60,60,60,60,60,60 +60,60,5,60,0,5,3,60,60,60,60,60,60 +60,60,60,60,4,0,5,60,60,60,60,60,60 +2,60,6,60,60,60,0,16,60,60,60,60,60 +60,60,60,60,60,60,60,0,10,3,60,60,60 +60,60,60,60,60,60,60,60,0,60,60,5,60 +60,60,60,60,60,60,60,60,6,0,18,10,60 +3,60,60,60,60,60,60,60,60,60,0,60,60 +60,60,60,60,60,60,60,60,60,60,60,0,4 +60,60,60,60,60,60,60,60,60,60,2,60,0 diff --git a/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/requests.dat b/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/requests.dat new file mode 100644 index 0000000..65b3a20 --- /dev/null +++ b/resources/test/instances/Constraint Propagation/Instance_Alain_140624_2/requests.dat @@ -0,0 +1,9 @@ +#Global Params (delta ratio) +1 +#Requests (origin_idx,destination_idx,min_tw_start,max_tw_start,min_tw_end,max_tw_end,delta baseline,capacity) +1,2,1,5,,,30,1 +3,4,10,12,,,15,1 +5,6,14,20,,,10,1 +7,8,0,4,,,13,1 +9,10,2,7,,,22,1 +11,12,14,16,,,6,1 \ No newline at end of file diff --git a/test/src/BestInsertionHeuristicDebug.cpp b/test/src/BestInsertionHeuristicDebug.cpp index 1649fb5..53832d0 100644 --- a/test/src/BestInsertionHeuristicDebug.cpp +++ b/test/src/BestInsertionHeuristicDebug.cpp @@ -83,7 +83,7 @@ TEST(BestInsertionQueueDebug, DebugInstanceAlain) { TEST(BestInsertionPerVehicleHeuristicDebug, DebugInstanceAlain) { std::string instancesPath = "../../resources/test/instances/Constraint Propagation/"; std::string instanceFolder = "Instance_Alain_140624/"; - std::string graphDatFile = "graph2.dat"; + std::string graphDatFile = "graph.dat"; std::string requestsDatFile = "requests.dat"; //Parse graph @@ -104,10 +104,36 @@ TEST(BestInsertionPerVehicleHeuristicDebug, DebugInstanceAlain) { BestInsertionHeuristic::tryVehicleBestInsertion(5, 1, routesContainer); } -TEST(BestInsertionHeuristicDebug, DebugInstanceAlain) { +TEST(BestInsertionHeuristicDebug, DebugInstanceAlain2) { std::string instancesPath = "../../resources/test/instances/Constraint Propagation/"; - std::string instanceFolder = "Instance_Alain_140624/"; - std::string graphDatFile = "graph2.dat"; + std::string instanceFolder = "Instance_Alain_140624_2/"; + std::string graphDatFile = "graph.dat"; + std::string requestsDatFile = "requests.dat"; + + //Parse graph + Graph graphFromSingleFile(instancesPath + instanceFolder + graphDatFile); + std::vector<Request> requests = Request::getRequestsFromFile(instancesPath + instanceFolder + requestsDatFile, graphFromSingleFile); + + //Init instance + Instance instance(requests,graphFromSingleFile,4); + SAEVRoute routesContainer(graphFromSingleFile, requests); + + auto t0 = std::chrono::steady_clock::now(); + BestInsertionHeuristic::doBestRequestInsertionForRoute(0, routesContainer); + BestInsertionHeuristic::doBestRequestInsertionForRoute(1, routesContainer); + BestInsertionHeuristic::doBestRequestInsertionForRoute(2, routesContainer); + BestInsertionHeuristic::doBestRequestInsertionForRoute(3, routesContainer); + BestInsertionHeuristic::doBestRequestInsertionForRoute(4, routesContainer); + BestInsertionHeuristic::doBestRequestInsertionForRoute(5, routesContainer); + auto t1 = std::chrono::steady_clock::now(); + auto d = t1 - t0; + std::cout << d.count() << "\n"; +} + +TEST(BestInsertionHeuristicDebug, DebugInstanceAlain) { + std::string instancesPath = "../../resources/test/instances/BestInsertionHeuristic/"; + std::string instanceFolder = "DebugWeight/"; + std::string graphDatFile = "graph.dat"; std::string requestsDatFile = "requests.dat"; //Parse graph @@ -118,12 +144,16 @@ TEST(BestInsertionHeuristicDebug, DebugInstanceAlain) { Instance instance(requests,graphFromSingleFile,4); SAEVRoute routesContainer(graphFromSingleFile, requests); + auto t0 = std::chrono::steady_clock::now(); BestInsertionHeuristic::doBestRequestInsertionForRoute(0, routesContainer); BestInsertionHeuristic::doBestRequestInsertionForRoute(1, routesContainer); BestInsertionHeuristic::doBestRequestInsertionForRoute(2, routesContainer); BestInsertionHeuristic::doBestRequestInsertionForRoute(3, routesContainer); BestInsertionHeuristic::doBestRequestInsertionForRoute(4, routesContainer); BestInsertionHeuristic::doBestRequestInsertionForRoute(5, routesContainer); + auto t1 = std::chrono::steady_clock::now(); + auto d = t1 - t0; + std::cout << d.count() << "\n"; } int main(int argc, char* argv[]) { -- GitLab