Towards equitable and immersive outdoor orienteering: an artificial intelligence-driven multi-objective route planning framework with augmented sand cat swarm optimization
Description
README: Towards equitable and immersive outdoor orienteering: an artificial intelligence-driven multi-objective route planning framework with augmented sand cat swarm optimization
Description of the data and file structure
This dataset contains all MATLAB source code, simulated terrain data, and optimization results generated for the study "Towards equitable and immersive outdoor orienteering...". Data were generated through computational simulations in MATLAB R2024b. Fifty random terrain maps (6000m × 6000m each) were created by superimposing 2048 randomly placed convex areas to simulate realistic terrain undulations. The code implements five design principles for orienteering route design (ORD) and solves the multi-objective optimization problem using Sand Cat Swarm Optimization (SCSO), compared with Particle Swarm Optimization (PSO) and Dung Beetle Optimizer (DBO) algorithms. Route lengths between checkpoints were calculated using the Artificial Potential Field (APF) method to account for terrain obstacles.
Files and variables
File: Supporting_Information_files.zip
Description:
File Structure and Descriptions
The dataset is organized into the following folders:
/code: Contains all MATLAB source code./terrain_data: Contains all simulated terrain data, organized into subfoldersterrain_data1toterrain_data4(Maps 1-50)./code_results: Contains all raw output results from optimization runs (convergence curves, fitness values, optimal coordinates)./result_data: Contains the curated results used to generate the paper's tables and figures.
Terrain Data Files (/terrain_data)
For each simulated map (numbered 1 to 50), the following files are available. The number in the filename indicates the map index.
Z[map_number].mat:- Content: Contains the variable
Z. - Description: A 2D matrix of elevation values. The matrix size corresponds to a 6000m × 6000m area with a grid resolution defined by 2048 random convex areas.
- Units: meters.
- Content: Contains the variable
x0_node_num[map_number].mat:- Content: Contains the variable
x0. - Description: A matrix of initial checkpoint coordinates used as a starting point for the optimization algorithms. Each row represents a checkpoint's
[x, y]coordinate. - Units: meters.
- Content: Contains the variable
Z_diff[map_number].mat:- Content: Contains the variable
Z_diff. - Description: Terrain gradient magnitude (steepness) derived from the elevation data.
- Content: Contains the variable
Z_diff_uniformization[map_number].mat:- Content: Contains the variable
Z_diff_unif. - Description: Normalized terrain gradient, scaled to a range of 0 to 1, where 0 is flat and 1 is the steepest point.
- Content: Contains the variable
diff[map_number].mat:- Description: Additional terrain derivative data used in path planning calculations.
Results Files (/code_results and /result_data)
Results files follow a consistent naming convention: [data_type]_[algorithm][map_number].mat.
- Data Types:
curve: Convergence curve data.fitness: Final objective function value.x: Optimal checkpoint coordinates.
- Algorithms:
DBO(Dung Beetle Optimizer),PSO(Particle Swarm Optimization),SCSO(Sand Cat Swarm Optimization). curve_[algorithm][map_number].mat:- Content: Contains the variable
convergence_curve. - Description: A vector of length 30 (default max iterations). It records the objective function value at each iteration, showing the optimization progress.
- Content: Contains the variable
fitness_[algorithm][map_number].mat:- Content: Contains the variable
best_fitness. - Description: A single scalar value representing the final objective function value (Equation 11 in the paper). Lower values indicate a better route design, balancing fairness and participant experience.
- Content: Contains the variable
x_[algorithm][map_number].mat:- Content: Contains the variable
best_pos. - Description: A matrix of the optimal checkpoint coordinates found by the algorithm. With 5 routes and 6 checkpoints per route, the matrix has 30 rows. The first 6 rows are the coordinates for Route 1, the next 6 for Route 2, and so on. Columns are
[x, y]coordinates. - Units: meters.
- Content: Contains the variable
Code/software
Software Requirements
- MATLAB Version: R2024b (tested; may work on earlier versions).
- Operating System: Tested on Windows 10/11.
- Required Toolboxes: MATLAB Core is sufficient. Optimization Toolbox and Parallel Computing Toolbox are optional but can enhance performance.
Code Description
All source code is located in the /code folder. Key files include:
main.m: The main entry point to run the optimization. Executing this script will run the SCSO algorithm on the default map (Map 1) usingZ.matandx0_node_num.mat.fobj_8.m: Implements the multi-objective function based on the five design principles.SCSO.m,PSO.m,DBO.m: Implementations of the three optimization algorithms.APF_3.m: The Artificial Potential Field method for calculating realistic path lengths between checkpoints, accounting for terrain obstacles.
Running the Code
-
Launch MATLAB and navigate to the
/codefolder. -
In the command window, type:
matlab
main -
To run a different algorithm, edit
main.mand uncomment the corresponding line (e.g.,% [best_pos, best_fitness, convergence_curve] = PSO(...);). -
To run on a different map, load the corresponding terrain files before running
main:matlab
load('../terrain_data/terrain_data1/Z5.mat'); load('../terrain_data/terrain_data1/x0_node_num5.mat');
Access information
Other publicly accessible locations of the data:
- Not applicable
Data was derived from the following sources:
- All data were generated via MATLAB simulations for this study and are not derived from any external sources.
Files
Supporting Information files.zip
Files
(362.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:c93f767f1ca38e4b65f0f78022421a22
|
362.9 MB | Preview Download |