|
|
This repository contains algorithms and datasets for the Travelling Salesperson *Problem with Circle Placement* **(TSP-CP)**, its Dubins variant **(DTSP-CP)** and related subproblems: *Travelling Salesperson Problem with Self-deleting graphs* **(TSP-SD)** and *Weak Path-Conforming Circle Placement Problem* **(WPCCP)** *with fixed radius*.
|
|
|
This repository contains algorithms and datasets for the Travelling Salesperson *Problem with Circle Placement* **(TSP-CP)**, its Dubins variant **(DTSP-CP)** and related subproblems: *Travelling Salesperson Problem with Self-deleting graphs* **(TSP-SD)** and *Weak Path-Conforming Circle Placement Problem* **(WPCCP)**.
|
|
|
|
|
|
This wiki contains instructions on installation and example usage.
|
|
|
For further assistance, you can contact the maintainer: [wolledav@cvut.cz](wolledav@cvut.cz)
|
|
|
|
|
|
Download the repository and perform the following steps in its base directory.
|
|
|
|
|
|
# Weak Path-Conforming Circle Placement Problem (WPCCP) with fixed radius
|
|
|
# Weak Path-Conforming Circle Placement Problem (WPCCP)
|
|
|
WPCCP was first introduced in the paper *[Where to place a pile?](https://www.researchgate.net/publication/374246979_Where_to_Place_a_Pile)*.
|
|
|
```
|
|
|
@INPROCEEDINGS{Kulich23,
|
... | ... | @@ -18,7 +18,7 @@ WPCCP was first introduced in the paper *[Where to place a pile?](https://www.re |
|
|
pages={1-7},
|
|
|
doi={10.1109/ECMR59166.2023.10256330}}
|
|
|
```
|
|
|
Only the variant with fixed radius is needed in TSP-CP.
|
|
|
Only the variant with a fixed radius is needed in TSP-CP.
|
|
|
|
|
|
## Installation
|
|
|
|
... | ... | @@ -35,7 +35,7 @@ cmake .. |
|
|
make
|
|
|
```
|
|
|
This will create the executable `./build/circplace_weak`
|
|
|
## Usage
|
|
|
## Usage - fixed radius
|
|
|
|
|
|
In the project base directory, run:
|
|
|
```
|
... | ... | @@ -47,6 +47,13 @@ Parameters: \ |
|
|
-o . . . output directory\
|
|
|
-r . . . required circle radius
|
|
|
|
|
|
## Usage - general WPCCP
|
|
|
|
|
|
Example usage of the WPCCP algorithm is set up in the following script.
|
|
|
```
|
|
|
julia ./scripts_test/run_euclid_circplace_orig.jl
|
|
|
```
|
|
|
|
|
|
## Soft WPCCP variant
|
|
|
|
|
|
This variant returns a solution with the least possible number of collisions between circles and the TSP path. It needs to be compiled to run the TSP-CP algorithm.
|
... | ... | @@ -59,7 +66,7 @@ cd build |
|
|
cmake ..
|
|
|
make
|
|
|
```
|
|
|
Usage:
|
|
|
Usage (fixed radius):
|
|
|
```
|
|
|
circplace_soft/build/circplace_weak -i ./data/circplace/grids/ -p mesh115 -o ./demo_out -r 35
|
|
|
```
|
... | ... | @@ -83,12 +90,26 @@ doi = {https://doi.org/10.1016/j.jocs.2023.102156}, |
|
|
url = {https://www.sciencedirect.com/science/article/pii/S1877750323002168}
|
|
|
}
|
|
|
```
|
|
|
The GRASP TSP-SD algorithm is written in Julia.
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
Follow the instructions to install Julia for your specific system: [https://julialang.org/](https://julialang.org/).
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
Example usage of the GRASP TSP-SD algorithm is set up in the following script.
|
|
|
```
|
|
|
julia ./scripts_test/run_GRASP_small.jl
|
|
|
```
|
|
|
If your julia installation misses any packages, you can install them using the built-in Julia package manager.
|
|
|
|
|
|
# Travelling Salesman Problem with Circle Placement (TSP-CP)
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
According to the preceding instructions, you must have installed both WPCCP variants and Julia.
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
... | ... | |