diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/.DS_Store" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/.DS_Store"
new file mode 100644
index 0000000..0c5e2ad
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/.DS_Store" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232.pdf" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232.pdf"
new file mode 100644
index 0000000..9d96cbd
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232.pdf" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/.gitignore" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/.gitignore"
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/.gitignore"
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/compiler.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/compiler.xml"
new file mode 100644
index 0000000..23e55e9
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/compiler.xml"
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/encodings.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/encodings.xml"
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/encodings.xml"
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/jarRepositories.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/jarRepositories.xml"
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/jarRepositories.xml"
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/misc.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/misc.xml"
new file mode 100644
index 0000000..9dc782b
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/.idea/misc.xml"
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_gitignore" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_gitignore"
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_gitignore"
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/_gitignore" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/_gitignore"
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/_gitignore"
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/compiler.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/compiler.xml"
new file mode 100644
index 0000000..23e55e9
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/compiler.xml"
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/encodings.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/encodings.xml"
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/encodings.xml"
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/jarRepositories.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/jarRepositories.xml"
new file mode 100644
index 0000000..712ab9d
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/jarRepositories.xml"
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/misc.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/misc.xml"
new file mode 100644
index 0000000..fdc35ea
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/misc.xml"
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/uiDesigner.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/uiDesigner.xml"
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/uiDesigner.xml"
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/vcs.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/vcs.xml"
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/vcs.xml"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/workspace.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/workspace.xml"
new file mode 100644
index 0000000..62ea8d3
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/_idea/workspace.xml"
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "lastFilter": {
+ "state": "OPEN",
+ "assignee": "zllwhu"
+ }
+}
+ {
+ "selectedUrlAndAccountId": {
+ "url": "https://github.com/zllwhu/AdvancedAlgorithmExp.git",
+ "accountId": "171a47a0-3048-4d14-8d82-7135c4e0467b"
+ }
+}
+ {
+ "associatedIndex": 5
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1708998432123
+
+
+ 1708998432123
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/pom.xml" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/pom.xml"
new file mode 100644
index 0000000..6d12b1f
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/pom.xml"
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+
+ org.example
+ DroneRouting
+ 1.0-SNAPSHOT
+
+
+ 21
+ 21
+ UTF-8
+
+
+
\ No newline at end of file
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/Main.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/Main.java"
new file mode 100644
index 0000000..cf75559
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/Main.java"
@@ -0,0 +1,87 @@
+package org.example;
+
+import org.example.entities.DistributionCenter;
+import org.example.entities.Drone;
+import org.example.entities.Position;
+import org.example.entities.Priority;
+import org.example.simulations.Init;
+import org.example.simulations.OrderList;
+import org.example.utils.Util;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class Main {
+ public static int currentTime = 0;
+ public static int maxIter = 48;
+
+ public static void main(String[] args) {
+ Init init = new Init();
+ init.loadMap(1);
+
+// System.out.println(Arrays.toString(init.getDistributionCenters()));
+// System.out.println(Arrays.toString(init.getDischargePoints()));
+
+// for (int i = 0; i < 20; i++) {
+// System.out.println(Util.randomPriority());
+// }
+// System.out.println(Priority.HIGH);
+// System.out.println(Priority.MEDIUM);
+// System.out.println(Priority.LOW);
+
+// OrderList orderList = new OrderList();
+// orderList.newOrders(init.getDischargePoints(), 10, 0);
+// System.out.println(orderList.orders);
+//
+// System.out.println();
+// orderList.orderDistribution(init.getDistributionCenters());
+// for (DistributionCenter distributionCenter : init.getDistributionCenters()) {
+// System.out.println(distributionCenter.orders);
+// }
+// System.out.println(orderList.orders);
+
+// ArrayList path = new ArrayList<>();
+// path.add(new Position(6, 34));
+// path.add(new Position(13, 37));
+// path.add(new Position(14, 37));
+// path.add(new Position(11, 32));
+// double length = Util.pathLength(path);
+// System.out.println("Path length: " + length);
+
+// System.out.println();
+// for (DistributionCenter distributionCenter : init.getDistributionCenters()) {
+// distributionCenter.droneSchedule(5, 20, 1);
+// for (Drone Drone : distributionCenter.getDrones()) {
+// System.out.println(Drone.getPath());
+// }
+// }
+
+ OrderList orderList = new OrderList();
+ for (int i = 1; i <= maxIter; i++) {
+ System.out.println();
+ System.out.println("Iteration #" + i);
+ orderList.newOrders(init.getDischargePoints(), 10, currentTime);
+ orderList.orderDistribution(init.getDistributionCenters());
+ if (i == 48) {
+ double d = 0;
+ for (DistributionCenter distributionCenter : init.getDistributionCenters()) {
+ d += distributionCenter.droneSchedule(5, 20, 1, true);
+ }
+ System.out.println("本次航行总距离:" + d);
+ } else {
+ double d = 0;
+ for (DistributionCenter distributionCenter : init.getDistributionCenters()) {
+ d += distributionCenter.droneSchedule(5, 20, 1, false);
+ for (Drone drone : distributionCenter.drones) {
+ System.out.println(drone.getPath());
+ }
+ }
+ System.out.println("本次航行总距离:" + d);
+ }
+ for (DistributionCenter distributionCenter : init.getDistributionCenters()) {
+ distributionCenter.drones.clear();
+ }
+ currentTime += 30;
+ }
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DischargePoint.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DischargePoint.java"
new file mode 100644
index 0000000..e24a796
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DischargePoint.java"
@@ -0,0 +1,42 @@
+package org.example.entities;
+
+import java.util.Random;
+
+public class DischargePoint {
+ Position position;
+
+ public DischargePoint(Position position) {
+ this.position = position;
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+
+ public void setPosition(Position position) {
+ this.position = position;
+ }
+
+ @Override
+ public String toString() {
+ return position.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof DischargePoint other) {
+ return this.position.equals(other.position);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ try {
+ return position.hashCode();
+ } catch (Exception e) {
+ Random random = new Random();
+ return random.nextInt(100);
+ }
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DistributionCenter.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DistributionCenter.java"
new file mode 100644
index 0000000..97923e9
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/DistributionCenter.java"
@@ -0,0 +1,129 @@
+package org.example.entities;
+
+import org.example.utils.Util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Random;
+
+public class DistributionCenter {
+ Position position;
+ public ArrayList orders;
+ public ArrayList drones;
+
+ public DistributionCenter(Position position, ArrayList orders, ArrayList drones) {
+ this.position = position;
+ this.orders = orders;
+ this.drones = drones;
+ }
+
+ public DistributionCenter(Position position) {
+ this.position = position;
+ this.orders = new ArrayList<>();
+ this.drones = new ArrayList<>();
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+
+ public void setPosition(Position position) {
+ this.position = position;
+ }
+
+ public ArrayList getOrders() {
+ return orders;
+ }
+
+ public void setOrders(ArrayList orders) {
+ this.orders = orders;
+ }
+
+ public ArrayList getDrones() {
+ return drones;
+ }
+
+ public void setDrones(ArrayList drones) {
+ this.drones = drones;
+ }
+
+ @Override
+ public String toString() {
+ return position.toString();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof DistributionCenter other) {
+ return this.position.equals(other.position);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ try {
+ return position.hashCode();
+ } catch (Exception e) {
+ Random random = new Random();
+ return random.nextInt(100);
+ }
+ }
+
+ public double droneSchedule(int n, double maxDis, double s, boolean flag) {
+ System.out.println("***************************************");
+ System.out.println("当前该中心订单总数:" + orders.size());
+ ArrayList ordersPlan = new ArrayList<>();
+ if (flag) {
+ ordersPlan.addAll(orders);
+ orders.clear();
+ } else {
+ Random random = new Random();
+ ArrayList removeOrders = new ArrayList<>();
+ for (int i = 0; i < orders.size(); i++) {
+ if (orders.get(i).remainTime <= 30) {
+ ordersPlan.add(orders.get(i));
+ removeOrders.add(i);
+ } else {
+ if (random.nextInt(2) == 1) {
+ ordersPlan.add(orders.get(i));
+ removeOrders.add(i);
+ }
+ }
+ }
+ removeOrders.sort(Collections.reverseOrder());
+ for (int i : removeOrders) {
+ orders.remove(i);
+ }
+ }
+ System.out.println("本次配送订单个数:" + ordersPlan.size());
+ while (!ordersPlan.isEmpty()) {
+ Drone drone = new Drone();
+ drone.path.add(position);
+ ArrayList removeOrders = new ArrayList<>();
+ for (int i = 0; i < ordersPlan.size(); i++) {
+ drone.path.add(ordersPlan.get(i).getPosition());
+ if (drone.currentLoad < n && Util.pathLength(drone.path) <= maxDis && Util.pathTime(drone.path, s) <= ordersPlan.get(i).remainTime) {
+ drone.currentLoad++;
+ removeOrders.add(i);
+ continue;
+ }
+ drone.path.removeLast();
+ }
+ removeOrders.sort(Collections.reverseOrder());
+ for (int i : removeOrders) {
+ ordersPlan.remove(i);
+ }
+ removeOrders.clear();
+ drones.add(drone);
+ }
+ System.out.println("本配送中心本次出动无人机:" + drones.size());
+ System.out.println("***************************************");
+
+ double totalDistance = 0;
+ for (Drone drone : drones) {
+ totalDistance += Util.pathLength(drone.getPath());
+ }
+ return totalDistance;
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Drone.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Drone.java"
new file mode 100644
index 0000000..7edb53e
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Drone.java"
@@ -0,0 +1,42 @@
+package org.example.entities;
+
+import java.util.ArrayList;
+
+public class Drone {
+ public ArrayList path;
+ int currentLoad;
+
+ public Drone() {
+ this.path = new ArrayList<>();
+ this.currentLoad = 0;
+ }
+
+ public Drone(ArrayList path, int currentLoad) {
+ this.path = path;
+ this.currentLoad = currentLoad;
+ }
+
+ public ArrayList getPath() {
+ return path;
+ }
+
+ public void setPath(ArrayList path) {
+ this.path = path;
+ }
+
+ public int getCurrentLoad() {
+ return currentLoad;
+ }
+
+ public void setCurrentLoad(int currentLoad) {
+ this.currentLoad = currentLoad;
+ }
+
+ @Override
+ public String toString() {
+ return "Drone{" +
+ "path=" + path +
+ ", currentLoad=" + currentLoad +
+ '}';
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Order.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Order.java"
new file mode 100644
index 0000000..2957931
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Order.java"
@@ -0,0 +1,57 @@
+package org.example.entities;
+
+public class Order {
+ Priority priority;
+ double createTime;
+ double remainTime;
+ Position position;
+
+ public Order(Priority priority, double createTime, double remainTime, Position position) {
+ this.priority = priority;
+ this.createTime = createTime;
+ this.remainTime = remainTime;
+ this.position = position;
+ }
+
+ public Position getPosition() {
+ return position;
+ }
+
+ public void setPosition(Position position) {
+ this.position = position;
+ }
+
+ public Priority getPriority() {
+ return priority;
+ }
+
+ public void setPriority(Priority priority) {
+ this.priority = priority;
+ }
+
+ public double getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(double createTime) {
+ this.createTime = createTime;
+ }
+
+ public double getRemainTime() {
+ return remainTime;
+ }
+
+ public void setRemainTime(double remainTime) {
+ this.remainTime = remainTime;
+ }
+
+ @Override
+ public String toString() {
+ return "Order{" +
+ "priority=" + priority +
+ ", createTime=" + createTime +
+ ", remainTime=" + remainTime +
+ ", position=" + position +
+ "}\n";
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Position.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Position.java"
new file mode 100644
index 0000000..c5af61f
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Position.java"
@@ -0,0 +1,40 @@
+package org.example.entities;
+
+public class Position {
+ int x;
+ int y;
+
+ public Position(int x, int y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public void setX(int x) {
+ this.x = x;
+ }
+
+ public int getY() {
+ return y;
+ }
+
+ public void setY(int y) {
+ this.y = y;
+ }
+
+ @Override
+ public String toString() {
+ return "(" + x + ", " + y + ")";
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (o instanceof Position other) {
+ return this.x == other.x && this.y == other.y;
+ }
+ return false;
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Priority.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Priority.java"
new file mode 100644
index 0000000..6315713
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/entities/Priority.java"
@@ -0,0 +1,7 @@
+package org.example.entities;
+
+public enum Priority {
+ HIGH,
+ MEDIUM,
+ LOW
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/Init.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/Init.java"
new file mode 100644
index 0000000..3e6f880
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/Init.java"
@@ -0,0 +1,124 @@
+package org.example.simulations;
+
+import org.example.entities.DischargePoint;
+import org.example.entities.DistributionCenter;
+import org.example.entities.Position;
+import org.example.utils.Util;
+
+import java.util.*;
+
+public class Init {
+ DistributionCenter[] distributionCenters;
+ DischargePoint[] dischargePoints;
+
+ public Init() {
+ }
+
+ public Init(DistributionCenter[] distributionCenters, DischargePoint[] dischargePoints) {
+ this.distributionCenters = distributionCenters;
+ this.dischargePoints = dischargePoints;
+ }
+
+ public DistributionCenter[] getDistributionCenters() {
+ return distributionCenters;
+ }
+
+ public void setDistributionCenters(DistributionCenter[] distributionCenters) {
+ this.distributionCenters = distributionCenters;
+ }
+
+ public DischargePoint[] getDischargePoints() {
+ return dischargePoints;
+ }
+
+ public void setDischargePoints(DischargePoint[] dischargePoints) {
+ this.dischargePoints = dischargePoints;
+ }
+
+ @Override
+ public String toString() {
+ return "Init{" + "distributionCenters=" + Arrays.toString(distributionCenters) + ", dischargePoints=" + Arrays.toString(dischargePoints) + '}';
+ }
+
+ public void createMap(int scaleX, int scaleY, int j, int k) {
+ Random random = new Random();
+ Set distributionCenterSet = new HashSet<>();
+ Set dischargePointSet = new HashSet<>();
+ while (distributionCenterSet.size() < j) {
+ int x = random.nextInt(scaleX);
+ int y = random.nextInt(scaleY);
+ if (distributionCenterSet.isEmpty()) {
+ distributionCenterSet.add(new DistributionCenter(new Position(x, y)));
+ }
+ boolean flag = true;
+ for (DistributionCenter center : distributionCenterSet) {
+ if (Util.distance(center.getPosition(), new Position(x, y)) < 8) {
+ flag = false;
+ break;
+ }
+ }
+ if (flag) {
+ distributionCenterSet.add(new DistributionCenter(new Position(x, y)));
+ }
+ }
+ while (dischargePointSet.size() < k) {
+ int x = random.nextInt(scaleX);
+ int y = random.nextInt(scaleY);
+ for (DistributionCenter center : distributionCenterSet) {
+ if (Util.distance(center.getPosition(), new Position(x, y)) < 10) {
+ dischargePointSet.add(new DischargePoint(new Position(x, y)));
+ break;
+ }
+ }
+ }
+ this.distributionCenters = new DistributionCenter[j];
+ Iterator iter1 = distributionCenterSet.iterator();
+ for (int i = 0; i < j; i++) {
+ this.distributionCenters[i] = iter1.next();
+ }
+ this.dischargePoints = new DischargePoint[k];
+ Iterator iter2 = dischargePointSet.iterator();
+ for (int i = 0; i < k; i++) {
+ this.dischargePoints[i] = iter2.next();
+ }
+ }
+
+ public void loadMap(int type) {
+ int[][] pos1 = {{7, 10}, {8, 2}, {25, 16}};
+ int[][] pos2 = {{28, 19}, {20, 14}, {19, 18}, {27, 16}, {13, 15}, {28, 10}, {13, 10},
+ {26, 8}, {5, 15}, {3, 5}, {10, 19}, {16, 16}, {23, 10}, {13, 3}, {11, 4}};
+ int[][] pos3 = {{6, 34}, {48, 23}, {53, 0}, {15, 9}, {43, 13}, {23, 37}, {58, 19}, {6, 5}, {32, 4}, {18, 18}};
+ int[][] pos4 = {{52, 15}, {49, 28}, {46, 21}, {28, 6}, {25, 11}, {40, 17}, {24, 30}, {30, 4}, {48, 30}, {35, 3},
+ {49, 4}, {15, 5}, {13, 37}, {23, 19}, {19, 36}, {4, 39}, {32, 1}, {15, 27}, {14, 37}, {7, 13},
+ {46, 24}, {39, 4}, {16, 26}, {54, 11}, {23, 15}, {33, 6}, {30, 39}, {8, 37}, {17, 20}, {23, 28},
+ {54, 11}, {16, 3}, {11, 32}, {13, 31}, {1, 2}, {15, 35}, {58, 14}, {19, 38}, {3, 5}, {44, 3}};
+
+ switch (type) {
+ case 0: {
+ this.distributionCenters = new DistributionCenter[3];
+ for (int i = 0; i < 3; i++) {
+ this.distributionCenters[i] = new DistributionCenter(new Position(pos1[i][0], pos1[i][1]));
+ }
+ this.dischargePoints = new DischargePoint[15];
+ for (int i = 0; i < 15; i++) {
+ this.dischargePoints[i] = new DischargePoint(new Position(pos2[i][0], pos2[i][1]));
+ }
+ break;
+ }
+ case 1: {
+ this.distributionCenters = new DistributionCenter[10];
+ for (int i = 0; i < 10; i++) {
+ this.distributionCenters[i] = new DistributionCenter(new Position(pos3[i][0], pos3[i][1]));
+ }
+ this.dischargePoints = new DischargePoint[40];
+ for (int i = 0; i < 40; i++) {
+ this.dischargePoints[i] = new DischargePoint(new Position(pos4[i][0], pos4[i][1]));
+ }
+ break;
+ }
+ default: {
+ System.out.println("Choose Correct Map Type.");
+ }
+ }
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/OrderList.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/OrderList.java"
new file mode 100644
index 0000000..6866070
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/simulations/OrderList.java"
@@ -0,0 +1,57 @@
+package org.example.simulations;
+
+import org.example.entities.*;
+import org.example.utils.Util;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+public class OrderList {
+ public ArrayList orders;
+
+ public OrderList() {
+ }
+
+ public OrderList(ArrayList orders) {
+ this.orders = orders;
+ }
+
+ public void newOrders(DischargePoint[] dischargePoints, int m, double currentTime) {
+ orders = new ArrayList<>();
+ for (DischargePoint dischargePoint : dischargePoints) {
+ Random random = new Random();
+ int num = random.nextInt(m + 1);
+ for (int i = 0; i < num; i++) {
+ Priority priority = Util.randomPriority();
+ double remainTime = 0;
+ if (priority == Priority.LOW) {
+ remainTime += 180;
+ }
+ if (priority == Priority.MEDIUM) {
+ remainTime += 90;
+ }
+ if (priority == Priority.HIGH) {
+ remainTime += 30;
+ }
+ Position position = dischargePoint.getPosition();
+ orders.add(new Order(priority, currentTime, remainTime, position));
+ }
+ }
+ }
+
+ public void orderDistribution(DistributionCenter[] distributionCenters) {
+ for (Order order : orders) {
+ double minDist = Double.MAX_VALUE;
+ int flag = 0;
+ for (int j = 0; j < distributionCenters.length; j++) {
+ double d = Util.distance(order.getPosition(), distributionCenters[j].getPosition());
+ if (d < minDist) {
+ minDist = d;
+ flag = j;
+ }
+ }
+ distributionCenters[flag].orders.add(order);
+ }
+ orders.clear();
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/utils/Util.java" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/utils/Util.java"
new file mode 100644
index 0000000..7586b1b
--- /dev/null
+++ "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/src/main/java/org/example/utils/Util.java"
@@ -0,0 +1,34 @@
+package org.example.utils;
+
+import org.example.entities.Position;
+import org.example.entities.Priority;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+public class Util {
+ public static Random random = new Random();
+
+ public static double distance(Position x, Position y) {
+ return Math.sqrt(Math.pow(x.getX() - y.getX(), 2) + Math.pow(x.getY() - y.getY(), 2));
+ }
+
+ public static Priority randomPriority() {
+ return Priority.values()[random.nextInt(Priority.values().length)];
+ }
+
+ public static double pathLength(ArrayList path) {
+ double totalLength = 0.0;
+ for (int i = 0; i < path.size(); i++) {
+ Position current = path.get(i);
+ Position next = path.get((i + 1) % path.size());
+ totalLength += distance(current, next);
+ }
+ return totalLength;
+ }
+
+ public static double pathTime(ArrayList path, double speed) {
+ double totalLength = pathLength(path);
+ return totalLength / speed;
+ }
+}
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/Main.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/Main.class"
new file mode 100644
index 0000000..4bcbed6
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/Main.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DischargePoint.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DischargePoint.class"
new file mode 100644
index 0000000..5a16a61
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DischargePoint.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DistributionCenter.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DistributionCenter.class"
new file mode 100644
index 0000000..1d17c27
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/DistributionCenter.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Drone.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Drone.class"
new file mode 100644
index 0000000..3446c64
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Drone.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Order.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Order.class"
new file mode 100644
index 0000000..9819e29
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Order.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Position.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Position.class"
new file mode 100644
index 0000000..6f990d6
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Position.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Priority.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Priority.class"
new file mode 100644
index 0000000..27231e0
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/entities/Priority.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/Init.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/Init.class"
new file mode 100644
index 0000000..50aec17
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/Init.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/OrderList.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/OrderList.class"
new file mode 100644
index 0000000..95e173e
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/simulations/OrderList.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/utils/Util.class" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/utils/Util.class"
new file mode 100644
index 0000000..e581744
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/DroneRouting/target/classes/org/example/utils/Util.class" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/datas.xlsx" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/datas.xlsx"
new file mode 100644
index 0000000..207e9dc
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/datas.xlsx" differ
diff --git "a/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/logs.docx" "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/logs.docx"
new file mode 100644
index 0000000..af68929
Binary files /dev/null and "b/2023202210120-\350\265\265\350\267\257\350\267\257-\351\253\230\347\272\247\347\256\227\346\263\225\350\256\276\350\256\241\344\270\216\345\210\206\346\236\220\344\275\234\344\270\232/logs.docx" differ