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