The benchmark datasets are available at the following links:
The dataset is organized in compressed folders to reduce the size of downloads. Each folder contains 50 benchmark examples for the specified number of tasks. Test examples are enumerated as "x_tasks_yz", where yz is a two-digit number representing the example number and ranges from 00 to 49.
For each test example, we defined several files that give the full information of the task planning problem.
First, in spec.yaml, we give a basic information of the test example, namely robot number (k), task number (n), robot and task labels.
k: k_value
n: n_value
robot_labels:
- robot_1
- ...
- robot_k
task_labels:
- task_1
- ...
- task_n
The remaining .csv files contain, for each robot:
task duration*
task cost*
task setup duration
task setup cost
The first two file types (*) contain n values, which represent task duration and cost for the given robot for all n tasks. The latter two contain a (n+1)x(n+1) matrix, which defines duration (cost) of transition between each two pairs of tasks, and the robot's initial state. Values in row i represent the transition cost (duration) between task i and each of other n tasks. The values on the main diagonal are all 0, as tasks can be scheduled only once and therefore self-loops aren't allowed. The first row defines the transition from the robot's initial state to each of the tasks defined by the example.
Example of a simple test example 4_tasks_00. Three types of dataset description files are provided below. First, a yaml specification file gives numbers and labels of robots and tasks.
Next, csv cost and duration files contain for each robot duration and cost of each task. In the given example, for a case of UAV1, task costs are (2109.43, 1444.70, 943.32, 1716.63) for tasks (G1, R1, G2, R3).
Next, setup cost and duration files define transition time and cost for each pair of tasks when performed by specified robot. In the case below, for robot UAV1 transitons are:
from the robot initial state to tasks (G1, R1, G2, R3): (300.67, 101.98, 300.67, 300.67)
from task G1 to tasks (R1, G2, R3): (888.20, 1006.29, 1006.29)
from task R1 to tasks (G1, G2, R3): (888.20, 812.00, 812.00)
from task G2 to tasks (G1, R1, R3): (1006.29, 812.00, 228.88)
from task R3 to tasks (G1, R1, G2): (1006.29, 812.00, 228.88)
spec.yaml
UAV1_cost.csv
UAV1_setup_cost.csv