DOI: 10.5281/zenodo.18722716
title: 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 subfolders terrain_data1 to terrain_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.



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.



Z_diff[map_number].mat:



Content: Contains the variable Z_diff.

Description: Terrain gradient magnitude (steepness) derived from the elevation data.



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.



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.



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.



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.




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) using Z.mat and x0_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 /code folder.




In the command window, type:

matlab

main





To run a different algorithm, edit main.m and 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.