1 Introduction

Route planning (RP) algorithms have witnessed a swift development in recent years. Geographic information system (GIS) in combination with online libraries for street information has played a significant role in the development of efficient methodologies for addressing the problem of RP. Although a considerable attention has been given to air traffic management [1, 2], transportation [3, 4] and robot navigation [5], a little attention has been given to route planning for supporting the sensitive social groups, such as the elderly, or individuals with disabilities. Outdoor environmental barriers, such as moving obstacles and pavement conditions, cultivate the feeling of loss of independence among aging individuals, or individuals with mobility and vision limitations. The lack of sufficient information concerning the surrounding environment usually results in route plans that fail to meet the user needs for safety and accessibility. To support the navigation of such user groups, novel RP models need to be developed. Such models should enable guidance through safer routes where special facilities, such as routes with a tactile pavement, exist, extending at the same time their application to outdoor cultural spaces for social engagement and networking.

1.1 Route planning and smart assistive systems for individuals with disabilities

Regarding the support of individuals with disabilities and especially the visually impaired individuals (VIIs), smart wearable assistive systems have been proposed [6], including object detection [7] and text recognition systems [8, 9]. However, even though various wearable assistive systems have been developed for safe navigation of VIIs [6], most of them focus on obstacle detection and avoidance [10,11,12]. The majority of them have been applied mainly in indoor environments, whereas only a few of them address RP tasks [13, 14]. Most of the RP approaches considered are based on shortest path algorithms without satisfying at the same time a combination of the aforementioned requirements of individuals with disabilities. To address this issue, in this study a RP multi-objective decision-making framework is proposed to support the existing smart wearable navigation assistive systems.

In this paper, we propose a novel framework based on novel 0–1 integer nonlinear programming (INLP) model that copes with the aforementioned limitations. The INLP model minimizes a multi-objective function composed of a safety term, a physical fatigue term, a route smoothness term and a touring experience term. The safety term aims to minimize the risk of a user to walk on a dangerous path, as it can be characterized by its terrain condition and morphology, prioritizing paths with special installations for individuals with disabilities. The physical fatigue term minimizes the travel time needed for a user to visit the selected points of interest (POIs), to minimize the walking distance for people with disabilities. Therefore, these people will be able to enjoy the tour with limited physical fatigue. Another important term that is being optimized by the INLP model is the route smoothness term. The route smoothness term avoids the abrupt and repetitive route deviations and changes since people with disabilities, such as the VIIs, should always feel safe, walking on as straight routes as possible, making it easier to maintain their orientation [15, 16]. Also, the cultural experience term maximizes the cultural experience of the visitor by penalizing the multiple crossovers of paths, especially of the ones with low cultural value.

It is worth noting that recent studies have shown that it is important for the VIIs to be able to personally visit the cultural spaces [16, 17], as this can provide them with a personal experience through non-visual interactions with the environment, e.g., by touching the marbles of an ancient monument and exploring in person with real-time descriptions the cultural spaces, and thus prevent their marginalization from social activities. It should also be noted that legislations, policies and initiatives toward an inclusive society have been established in the last decades, to reinforce the opportunities of individuals with disabilities for equal participation to social life, education and culture. The visits to cultural spaces can also be considered as a means of lifelong learning, which can be beneficial especially to those who experience difficulties in adapting to formal learning environments, including the VIIs [16, 17]. Τo support the accessibility of the VIIs to cultural information and to allow them to sense the ‘interactive nature’ of a cultural visit, cultural experience aspects have been incorporated in the proposed model. The model considers the cultural value of the paths to guide VIIs to areas where they can experience a cultural visit with their senses. Also, apart from the visually impaired users, the proposed RP framework is suitable for other user groups that need to travel safely and conveniently to enjoy routes with cultural value, including individuals with other types of disabilities, e.g., kinetic disabilities, or the elderly.

The proposed framework is applied for the development of an RP module for a smart wearable assistive system (Fig. 1). This module is developed in accordance with the users’ requirements of visually impaired individuals [16] to provide assistive navigation with emphasis to outdoor cultural spaces, such as the Ancient Market in the Historical Triangle of Athens in Greece. The RP module interacts with another module of the assistive system, dedicated to obstacle detection (OD). The OD module can be based on one of the current methodologies proposed for this purpose, such as [10,11,12]. The RP module generates an optimal route in the area under examination, which can be dynamically updated based on the information on the location of possible unmapped obstacles appearing in the user’s way. Figure 1 illustrates a pair of smart glasses equipped with cameras, as an example of a commonly adopted wearable assistive system for VIIs [6], to illustrate the use of the RP module.

Fig. 1
figure 1

Example of route planning module applied in the context of wearable assistive system

1.2 Related work for route planning modeling

RP models have been proposed for safe navigation or coordination for risk mitigation. An approach on RP for safe navigation include a mixed integer linear programming (MILP) model and a metaheuristic simulated annealing algorithm [18] to generate an evacuation plan to guide the evacuees through urban streets and crosswalks to safe areas or their destinations. Another study for 3D space evacuation planning was proposed [19] to maximize the utilization of the evacuation that exits and to minimize the whole evacuation delay by using a heuristic greedy binary search algorithm. In [20], a bi-objective integer programming (IP) model was used to guide children from school to their homes via safe walking routes with the minimum risk and distance. In [21], a Dijkstra-based algorithm was proposed for safe RP by taking into account the presence of moving obstacles in the paths and their influence in the road network in case of emergency or disaster. In [22], a RP model and a path planning algorithm based on A* algorithm were developed for minimizing the pedestrian’s exposition to air pollution. An evacuation method for large-scale crowd in cultural museum based on mutation prediction RFID was proposed [23] by dynamically adapting the crowd flow prediction with the tracking speed from RFID. A 0–1 MILP model was proposed in [24], based on the Max-K-Coverage problem [25], for optimizing an aerial vehicle search-path in case of emergency. IP was also used in [26] to coordinate the activities of emergency and repair crews in an optimal way based on the location of the emergency and the scheduling of the repair crews. In most of the above studies, their efficiency in finding the optimal route plan lies on the fact that the time is not a critical factor which makes the case unrealistic in evacuation or disaster scenarios.

RP has also been investigated in the context of tourism. In [27], different mixed integer linear programming (MILP) models were proposed for determining efficient routes of ecotourism targeting to maximize the cultural experience of the visitors through the traveled path. In [28], the Adaptive large neighborhood search method [29] was used to address the RP problem helping tourists to find shopping locations for agricultural products. In [30], the cosine similarity algorithm was adopted for providing sightseeing routes of high cultural interest in Japan. In [31], a 3-stage framework targets on satisfying user preferences for visiting selected POI by generating an optimal personalized route. A tour route planning model was proposed [32] targeting to maximize the tourism experience within a specific budget and time frame by satisfying real-time requirements of Web or mobile users. The method avoids tourists to pass through dangerous zones or areas. A metaheuristic algorithm was proposed in [33] for addressing the tourist trip design problem formulated as a mixed team orienteering problem with time windows. However, most of the above studies are based on prefixed routes, while others do not include in their models tourism attraction congestion or traveling time on the route. Also, the heuristic methods may not provide the best solution trapping into local solutions.

Several studies indicate that RP can be useful for individuals with disabilities or the elderly. Most of them are dedicated to RP for wheelchair users formulated: (1) in a graph-based approach [34] employing a greedy algorithm, Floyd–Warshall algorithm [35], to minimize the average shortest path length by selecting the nearly best shortcut edges to be inserted in the refined graph; (2) in a bottom-up graph approach [36] with integrated geographic information system (GIS) maps; and (3) in a framework incorporating a data model for both indoor and outdoor accessibility, based on modified Dijkstra algorithm [37]. In [38], a working prototype for a mobile RP for people aging with mobility disabilities was presented. The application provides information about the roads and streets, enabling the users to design their routes based on questionnaires. Another similar application, employing Google Directions API [39], was proposed in [40] for generating outdoor routes for visual impaired individuals (VIIs) in order to reach their destination.

A summary of the related work is provided in Table 1. Despite the work that has already been done in this field, there are still several limitations in the current RP solutions. These limitations include the use of predefined and integrated routes and/or to mapped roads and streets based on open navigation services and online libraries, such as Google Directions API, and the JavaScript API Yandex.Map [41]. However, only few of them, such as Routino [42] and OpenTripPlanner [43], provide limited information concerning facilities for people with special needs and failing to guide users in unmapped areas. Also, most of the studies focus only on optimizing with respect to traveled distance or safest distance or duration. In case of individuals with disabilities, such as visual impairment, few studies have been conducted to navigate them not only safely but also by engaging them in social activities, such as visits in outdoor cultural places. It should also be mentioned that most of the studies regarding route planning for individuals with disabilities do not consider route smoothness (with respect to route deviations and changes). To the best of our knowledge, no previous methodology has been implemented for individuals with disabilities to navigate them in outdoor spaces by optimizing a multi-objective function taking into account the safeness of the route, the travel distance, the route smoothness and their preferences with respect to their touring experience, e.g., visiting a tourist area with cultural interest.

Table 1 Summary table of literature related work

The rest of this paper unfolds as follows. The next section briefly presents the context of use of the route planning module for a wearable assistive navigation system and defines the RP problem under investigation and the proposed MINLP formulation. Section 3 presents the results obtained from various experiments with discussion, and in Sect. 4 the conclusions and the future work are presented.

2 Materials and methods

This section presents the context of use of the route planning framework in our study for a wearable smart assistive system, emphasizing on the implementation of the route planning module as a 0–1 mixed integer programming model.

2.1 Context of use

The RP module presented in this study is intended for a wearable smart assistive system to guide the individuals with disabilities in outdoor cultural environments. The system aims to navigate the users safely in an area of interest by proposing an optimal route, alerting for obstacles in the path and providing valuable cultural information. Therefore, the proposed mathematical formulation covers the objectives of the system’s operation by constructing a safe, smooth and cultural routes satisfying both the user preferences and needs.

An example of the navigation process of the RP module is illustrated in Fig. 2. Initially, the area of interest should be mapped, and the safety and cultural parameters of the proposed MINLP model can be defined by an in situ observation of the area of interest. Based on this information, an undirected graph is designed, geospatial information is retrieved, and the model parameters are calculated. The safety parameters for each path are computed based on the number of obstacles along the path, the existence of special infrastructure and the terrain type and condition. The cultural parameters are set based on the location of the POIs. Once the geospatial information and the model parameters are set, the user is able to use the system for personalized RP. A MINLP model is proposed for implementing this task (Sect. 4). The user will set the preferred POIs to visit in a specified time frame, and the optimal route will be generated by the RP module. After the route generation, the user, equipped with the wearable assistive system, will be navigated in the area. If an unmapped obstacle in the generated route prevents the user from crossing over the path, the OD module informs the RP module. Then, the obstructed path is excluded from the graph and the parameters are updated so that a new route will be generated to guide the user in the remaining tour.

Fig. 2
figure 2

Example of the use of route planning with a wearable assistive system

2.2 Route planning module

A novel 0–1 integer mixed nonlinear programming (MINLP) with discrete time formulation is proposed for implementing the route planning problem. To satisfy the user requirements of individuals with disabilities, the mathematical model minimizes a multi-objective function based on four objective terms:

  • The safety term that represents how a user can safely walk along a selected path. The collision risk factor is a measure that indicates how dangerous or friendly a path is for the user to traverse, especially in the case of a user with special needs. The lower the value of the collision risk factor, the friendlier and less dangerous the path is for the visitors to travel through it.

    The risk factor is evaluated based on the static objects. Such objects may be predefined or detected by the obstacle detection and recognition system. The risk factor is defined based on the existence of tactile pavements for VIIs and the terrain condition/morphology. Higher values indicate paths with many safety issues, such as static obstacles, e.g., trees, stairs, etc., whereas lower values indicate safer paths, such as paths with special facilities for individuals with disabilities. Based on the value of the collision risk factor, the user should travel the path within a time frame \(\left[ {T_{{\left( {i,j} \right)}}^{ \hbox{min} } ,T_{{\left( {i,j} \right)}}^{ \hbox{max} } } \right]\).

  • The physical fatigue term that minimizes the total walking distance of a user to visit a set of selected POIs. The term considers the weariness of the individuals with disabilities or the elderly when performing prolonged walks, especially in unfamiliar places.

  • The route smoothness term that aims to minimize the number of route deviations and changes in the walking direction of the user. Therefore, the route smoothness term contributes to the generation of routes that are as smooth as possible by not only minimizing the number of turns, but also by prioritizing the turns with a small angle. In Fig. 3, the yellow route illustrates a route that is generated without taking into account the smoothness term resulting in multiple turns and changes in the direction of the user, while the purple line shows the impact of the smoothness term in the route generation.

    Fig. 3
    figure 3

    Example of the impact of the smoothness term on the selection of paths

  • The touring experience term that minimizes the crossings through paths, especially of low interest to the users, e.g., of low cultural interest. Each path is linked with a penalty in order to prioritize the paths with high cultural value and in parallel to avoid traversing the same path multiple times.

Definition 1Node and path representation

The accessible routes of the space under examination are represented as an undirected graph. The nodes represent the discretized routes and the POIs which correspond to specific geographic coordinates. The \({\text{path}}\left( {i,j} \right)\) is the line that connects the \({\text{node}} \,i\) with the \({\text{node}}\, j\) and it represents the permitted routes of the area (Fig. 4).

Fig. 4
figure 4

Example of a network with entrance and exit paths

Definition 2Entrance and exit nodes

The entrance node is represented by two internal nodes: the \(e\) node as the point from where the user enters the network and the \(e_{0}\) node as the point where the user can be equipped with the proposed system. Therefore, the entrance of the user in the network and the beginning of the tour is represented by the entrance \({\text{path}}\left( {e_{0} ,e} \right)\). Respectively, exit node is represented by two internal nodes: the \(x\) node as the node from where the user exits the network and the \(x_{0}\) node as the point where the user can return the navigation system. Therefore, the exit of the user from the network and the end of the tour is represented by the exit \({\text{path}}\left( {x_{0} ,x} \right) ,\) respectively (Fig. 4).

The mathematical model that implements the route planning module, with the sets (Table 2), input parameters (Table 3), decision variables, objective function and constraints is presented below:

Table 2 The sets used in the mathematical modeling
Table 3 The input parameters used in the mathematical modeling

Decision variables

$$X_{{\left( {i,j} \right)}}^{t} = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{if the user is traveling path}}\left( {i,j} \right) {\text{at time period}} t} \hfill \\ {0,} \hfill & {\text{otherwise }} \hfill \\ \end{array} } \right.,\quad \forall \left( {i,j} \right) \in {\mathcal{A}},\text{ }t \in {\mathcal{T}}$$

Artificial variables

Path variables

$$Y_{{\left( {i,j} \right)}} = \left\{ {\begin{array}{*{20}l} {1,} \hfill & { {\text{if the user has traveled path}}\left( {i,j} \right)} \hfill \\ {0,} \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right.,\quad \forall \left( {i,j} \right) \in {\mathcal{A}}$$

POI variables

$$Z_{m} = \left\{ {\begin{array}{*{20}l} {1,} \hfill & { {\text{if the user has visited}} {\text{POI}} m } \hfill \\ {0,} \hfill & {\text{otherwise}} \hfill \\ \end{array} } \right.,\quad \forall m \in {\mathcal{M}}$$

Objective function

The objective function (o.f.) is defined as minimization of the total collision risk of the route, the total duration of walk needed to visit the preferred POIs, the total number of turns in the proposed route and the multiple crossovers from the same paths. The multi-objective function consists of the following terms:

Safety term

$$\mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {o_{{\left( {i,j} \right)}} X_{{\left( {i,j} \right)}}^{t} } \right),\quad \forall t \in {\mathcal{T}}$$
(o.f.1)

The term is expressed in a linear form so that the model penalizes the paths with higher risk factor. Therefore, the model tries to optimize the tour plan by minimizing the total collision risk among the selected paths.

Physical fatigue term

$$\mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {T_{{\left( {i,j} \right)}} Y_{{\left( {i,j} \right)}} } \right) ,\quad \forall t \in {\mathcal{T}}$$
(o.f.2)

The term is expressed in a linear form so that the model minimizes the number of paths that user needs to travel in order to visit the selected POIs.

Route smoothness term

$$\mathop \sum \limits_{{j \in {\mathcal{N}}}} \left( {\mathop \sum \limits_{{\begin{array}{*{20}c} {i \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {i,j} \right)}}^{t - 1} \left( {\mathop \sum \limits_{{\begin{array}{*{20}c} {k \in {\mathcal{N}}:} \\ {\left( {j,k} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {d_{{\left( {i,j,k} \right)}} X_{{\left( {j,k} \right)}}^{t} } \right)} \right)} \right) ,\quad \forall t > 0$$
(o.f.3)

The nonlinear term minimizes the route deviations, so the visually impaired (VI) user will walk a smooth route with minimum number of turns.

Touring experience term

$$\mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} p\left( {i,j} \right)X_{{\left( {i,j} \right)}}^{t} ,\quad \forall t \in {\mathcal{T}}$$
(o.f.4)

So, the objective function is the minimization of the above terms:

$$\arg \hbox{min} \left( {\mathop \sum \limits_{{t \in {\mathcal{T}}}} \mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {o_{{\left( {i,j} \right)}} X_{{\left( {i,j} \right)}}^{t} } \right) + \mathop \sum \limits_{{t \in {\mathcal{T}}}} \mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {T_{{\left( {i,j} \right)}} Y_{{\left( {i,j} \right)}} } \right) + \mathop \sum \limits_{t = 1}^{{ t_{d} }} \mathop \sum \limits_{{j \in {\mathcal{N}}}} \left( {\mathop \sum \limits_{{\begin{array}{*{20}c} {i \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {i,j} \right)}}^{t - 1} \left( {\mathop \sum \limits_{{\begin{array}{*{20}c} {k \in {\mathcal{N}}:} \\ {\left( {j,k} \right) \in {\mathcal{A}}} \\ \end{array} }} d_{{\left( {i,j,k} \right)}} X_{{\left( {j,k} \right)}}^{t} } \right)} \right) + \mathop \sum \limits_{{i \in {\mathcal{N}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {j \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {p\left( {i,j} \right)\mathop \sum \limits_{{t \in {\mathcal{T}}}} X_{{\left( {i,j} \right)}}^{t} } \right)} \right)$$

The model is imposed to the following constraints:

Model constraints

Initial constraint

$$\mathop \sum \limits_{t = 1}^{{t_{0} - 1}} \mathop \sum \limits_{{\begin{array}{*{20}c} {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {i,j} \right)}}^{t} = 0$$
(c.1)

The constraint (c.1) is a computing constraint that sets all the decision variables at zero until the starting time of the tour is reached.

Tour start constraints

$$X_{{\left( {e_{0} ,e} \right)}}^{{t_{0} }} = 1$$
(c.2)

The constraint (c.2) forces the tour to start at the time period \(t_{0}\) from the entrance path \(\left( {e_{0} ,e} \right)\).

$$\mathop \sum \limits_{{t = t_{0} + 1}}^{{t_{d} }} X_{{\left( {e_{0} ,e} \right)}}^{t} = 0$$
(c.3)

The constraint (c.3) is another computing constraint that sets all the decision variables of the entrance path to zero after the entrance of the user in the network.

Tour end constraint

$$\mathop \sum \limits_{{t = t_{0} }}^{{t_{d} }} X_{{\left( {x,x_{0} } \right)}}^{t} = 1$$
(c.4)

The constraint (c.4) forces the tour to end in the time frame from the exit \({\text{path}}(x,x_{0} )\). after the tour has started.

Walking constraint

$$\mathop \sum \limits_{{\begin{array}{*{20}c} {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {i,j} \right)}}^{t} = \mathop \sum \limits_{r = 0}^{t} X_{{\left( {e_{0} ,e} \right)}}^{t} - \mathop \sum \limits_{r = 0}^{t - 1} X_{{\left( {x,x_{0} } \right)}}^{t} ,\quad \forall t \ge t_{0}$$
(c.5)

The constraint (c.5) imposes the user to start walking a path after its entrance to the network and to continue walking until the user exits the network.

Route continuity constraint

$$\mathop \sum \limits_{{\begin{array}{*{20}c} {i \in {\mathcal{N}}:} \\ {\left( {i,j} \right) \in {\mathcal{A}}} \\ \end{array} }} \left( {X_{{\left( {i,j} \right)}}^{t} - X_{{\left( {i,j} \right)}}^{t + 1} } \right) - \mathop \sum \limits_{{\begin{array}{*{20}c} {k \in {\mathcal{N}}:} \\ {\left( {j,k} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {j,k} \right)}}^{t + 1} = 0,\quad \forall j \in {\mathcal{N}},\text{ }\;\forall t \ge t_{0}$$
(c.6)

The constraint (c.6) forces the user to walk a path at a time period. If the user walks in \({\text{path}}\left( {i,j} \right)\) in time period t, then the following period \(t + 1\), the user should walk from an \({\text{path}}\left( {i,j} \right)\) to a \({\text{path}}\left( {j,k} \right)\).

Points of interest constraint

$$\mathop \sum \limits_{{t = t_{0} }}^{{t_{d} }} \mathop \sum \limits_{{\begin{array}{*{20}c} {i \in {\mathcal{N}}:} \\ {\left( {i,m} \right) \in {\mathcal{A}}} \\ \end{array} }} X_{{\left( {i,j} \right)}}^{t} \ge 1 ,\quad \forall \begin{array}{*{20}c} {m \in {\mathcal{M}}} \\ \end{array}$$
(c.7)

The constraint (c.7) that forces the user to pass from all the selected POIs for at least one time (the first time to visit the POI and the following ones in case the user needs to traverse the path for visiting another POI).

Tour duration constraint

$$\mathop \sum \limits_{{t \in {\mathcal{T}}}} \mathop \sum \limits_{{\left( {i,j} \right) \in {\mathcal{A}}}} X_{{\left( {i,j} \right)}}^{t} \le t_{d}$$
(c.8)

The constraint (c.8) imposes the duration of the tour to be less than or equal to the maximum duration of the visit.

Path travel duration constraint

$$Y_{{\left( {i,j} \right)}} T_{{\left( {i,j} \right)}}^{ \hbox{min} } \le \mathop \sum \limits_{{t \in {\mathcal{T}}}} X_{{\left( {i,j} \right)}}^{t} \le T_{{\left( {i,j} \right)}}^{ \hbox{max} } ,\quad \forall \left( {i,j} \right) \in {\mathcal{A}}$$
(c.9)

The constraint (c.9) forces the user to travel a path in a certain amount of time periods.

Artificial variable assignment constraints

$$\frac{1}{{t_{d} }}\mathop \sum \limits_{{t \in {\mathcal{T}}}} X_{{\left( {i,j} \right)}}^{t} \le Y_{{\left( {i,j} \right)}} \le \mathop \sum \limits_{{t \in {\mathcal{T}}}} X_{{\left( {i,j} \right)}}^{t} , \forall \left( {i,j} \right) \in {\mathcal{A}}$$
(c.10)

The constraint (c.10) forces the artificial variable to get the value 1 if the user has traveled \({\text{path}}\left( {i,j} \right)\) ; otherwise, it sets the artificial variable to zero.

$$\frac{1}{{t_{d} }}\mathop \sum \limits_{{t \in {\mathcal{T}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {i \in N:} \\ {\left( {i,m} \right) \in A} \\ \end{array} }} X_{{\left( {i,m} \right)}}^{t} \le Z_{m} \le \mathop \sum \limits_{{t \in {\mathcal{T}}}} \mathop \sum \limits_{{\begin{array}{*{20}c} {i \in N:} \\ {\left( {i,m} \right) \in A} \\ \end{array} }} X_{{\left( {i,m} \right)}}^{t} , \forall m \in {\mathcal{M}}$$
(c.11)

The constraint (c.11) forces the artificial variable to get the value 1 if the user has visited POI \(m\) ; otherwise, it sets the artificial variable to zero.

Variable constraints

$$X_{{\left( {i,j} \right)}}^{t} \in \left\{ {0,1} \right\}, \forall \left( {i,j} \right) \in {\mathcal{A}},\text{ }\forall t \in {\mathcal{T}}$$
(c.12)
$$Y_{{\left( {i,j} \right)}} \in \left\{ {0,1} \right\}, \forall \left( {i,j} \right) \in {\mathcal{A}}$$
(c.13)
$$Z_{m} \in \left\{ {0,1} \right\}, \forall m \in {\mathcal{M}}$$
(c.14)

The above constraints form the field of feasible solutions of the problem. Particularly, the constraint (c.1) gives the value zero to all decision variables until the start of the tour. The constraint (c.2) forces the user to start the tour at the predefined time \(t_{0} .\) The constraint (c.3) is a computing constraint and sets the entrance path equal to zero for all the following time periods after the starting time \(t_{0} .\) The constraint (c.4) forces the user to arrive at the exit gate in the time frame of the user-defined tour duration. The constraint (c.5) imposes the user to keep walking to a path until it reaches the exit. The constraint (c.6) can be explained in the following way: If the user travels at time period \(t\) the \({\text{path}}\left( {i,j} \right)\), then the next time period it should keep traveling the same path or it should move to the consecutive \({\text{path}}\left( {j,n} \right)\). The constraint (c.7) refers to the enforcement of visiting the selected POIs by the user. Constraint (c.8) forces the duration of the tour not to exit the maximum desired duration predefined by the user. Constraints (c.9) force the user to walk a path within specific time periods.

The constraint (c.10) forces the artificial variables to get the values 0 or 1 based on the values of the decision variables. Consecutively, the constraint (c.11) links the artificial variable of POI visit with the decision variable and forces the artificial variables to get the values 0 or 1 based on the values of the decision variables. The constraints (c.12), (c.13) and (c.14) constitute the nonnegativity constraints of the decision variables and artificial variables of the model, respectively.

3 Results and discussion

In this section, the initial validation tests of the model are presented, and comparisons are made with models that have been proposed in the literature regarding route planning for individuals with disabilities (Table 4). Specifically, the following models were adopted for the experimental evaluation: (1) a model that finds the shortest path among the selected POIs (Model 1); (2) a model that finds the safest route for the user to visit the POIs (Model 2); and (3) a model that finds the route that maximizes the cultural experience, in other words, a model that minimizes the loss of cultural interest during a visit (Model 3). Their objective functions that were used in the experimental evaluation are presented in Table 4. Their performance and ability to find an optimal solution was evaluated based on the total collision risk of the generated route, the route duration and the number of turns that the user should perform in order to walk the proposed route.

Table 4 Models used for comparison and their targets

3.1 Evaluation methodology

For the experimental evaluation, we used the simulation network illustrated in Fig. 5 and the graph in Fig. 6. The models and the virtual environment were implemented in Java programming language and solved with IBM ILOG CPLEX solver version 12.6.0.0. The computer used for the tests has 64-bit windows 10 Pro environment, with AMD Ryzen 7 3800X 8-Core Processor 3.89 GHz and 32 GB RAM. Also, the relative MIPGap tolerance of IBM ILOG CPLEX solver was kept as default at 1e-04 and used as stopping criterion.

Fig. 5
figure 5

The virtual space used for the tests based on the topology of Historical Triangle of Athens in Greece

Fig. 6
figure 6

The generated graph derived from the area under examination

In Figs. 5 and 6, the red node represents the entrance node, the yellow one the exit node, the white nodes represent the nodes in the network and the green ones the POI. The paths are represented with brown. The entrance path is the \({\text{path}}\left( {0,1} \right)\) and the exit path is the \({\text{path}}\left( {20,21} \right)\). Also, for each path and initial collision risk weight is given randomly to represent the static obstacles and difficulty of the path to be crossed. In real-case scenarios, these values will be estimated by in situ inspection for the mapping of the area and the obstacle detection subsystem of ENORASI system with which the route planning model will interact. For each experiment, the parameters such as the collision risk factor and the visit duration were given randomly, so the models will be tested under various scenarios.

3.2 Evaluation criteria

Randomly generated scenarios were used as validation tests to examine the proposed model for the efficiency and robustness in solving RP problems. For this purpose, 12 validation scenarios (Table 5) were defined and solved under various user preferences and model parameters such as collision risk values. To compare the performance of the models regarding the generation of routes that satisfy the needs of visually impaired individuals, the following criteria were adopted: (1) the cumulative collision risk of the generated route; (2) the walking duration of the proposed route; and (3) the number of turns/changes that the user should be made in the direction of the proposed paths. The model that generates routes with the lowest cumulative risk, duration and number of direction changes compared to the others will be proven to be the most efficient for TRP. The generated routes are presented in Table 6, and the results of the models over the evaluation criteria are presented in Tables 7 and 8.

Table 5 The randomly generated scenarios under examination
Table 6 The generated routes by each model and scenario
Table 7 Experimental results under various validation scenarios: the cumulative tour collision risk indicates the sum of the collision risk factor of the generated route; the tour duration is given in time periods and shows the duration that the user needs to walk the generated route; and the number of route changes indicates how many times the user should perform a turn while walking the generated route
Table 8 Mean values of the terms under examination with their standard deviation

3.3 Presentation of the results

For the experimental evaluation, we used the simulation area as it is illustrated in Figs. 5 and 6, with the scenarios presented in Table 5. Table 6 presents the generated routes obtained from the different validation scenarios, and Table 7 shows the values of terms under minimization for the generated routes, such as the mean collision risk, the mean duration of the proposed route and the number of changes/turns that the user should perform while walking in the proposed route. For each model, the generated route is presented linked with the cumulative collision risk, total route duration and total number of route changes of the generated route. Overall, the proposed model managed to generate routes with balance trades between the optimality criteria such as route risk, route duration and route changes (Table 8).

As we can see in Fig. 10, our model achieved to find the optimal route with the minimum cumulative collision risk in 8 out of 12 scenarios. The same number of optimal solutions were achieved by Model 2 (Fig. 10), while in 4 scenarios our model and Model 2 found the same optimal route (Table 6). However, although both models succeeded in proposing the route with the minimum cumulative collision risk in 8 scenarios, in the scenarios where the Model 2 prevails (Table 7, scenarios 3, 4, 7 and 10), our model performed better in terms of tour duration and number of route changes, achieving in parallel comparative cumulative collision risk. On the other hand, in the scenarios where our model prevailed (Table 7, scenarios 5, 9, 11 and 12), the Model 2 proved unable to find the optimal route with respect to the optimality criteria (Figs. 7, 8, 9).

Fig. 7
figure 7

Results of total collision risk (CR) factor of the generated routes by each model

Fig. 8
figure 8

Results of total tour duration (TD) of the generated routes by each model

Fig. 9
figure 9

Results of total number of route changes (RC) in the generated routes by each model

Concerning the optimality criterion of route duration, our model succeeded in finding the optimal one in all scenarios. However, in 4 scenarios the same optimal solution was retrieved by other models as well (Table 7). On the other hand, our model found the optimal route in terms of minimizing the number of route changes in 10 out of 12 scenarios (Table 7, Fig. 10), predominating over the other models.

Fig. 10
figure 10

Number of scenarios that each model found the optimal route based on the optimality criteria

As it is mentioned above, in only a few scenarios the solution of our model was comparable with the solution of the other models. For example, a typical case where most of the models generated the same optimal tourist route is scenario 8 (Table 6). We can see that both our model and Model 2 (Table 6, the sequence of the tourist route of model 2 and our model: 0-1-4-3-2-6-7-11-14-17-18-15-16-19-20-21) succeeded in minimizing the cumulative collision risk achieving the same score (7.427). This can be explained by the similarity of the proposed route. However, although different routes were proposed by Model 1 and Model 3 from Model 2 and ours (Table 6, the sequence of the tourist route of models 1 and 3: 0-1-3-2-6-7-11-14-17-18-15-16-19-20-21), all the models achieved the same tour duration (20 time periods) and number of route changes (9). Similar results were taken from different routes due to the small size of the graph that leads to symmetry. The symmetry happened due to the similarity of the random values assigned to the parameters of the graph, such as the collision risk factor. Therefore, although the two proposed routes had different cumulative collision risk and duration, they had the same route changes. On the other hand, exactly the opposite can be observed in scenarios 9, 10, 11 and 12, where each model proposed different tourist routes due to the significant value differences of the graph’s parameters, but also due to the increase in the number of POIs that the users chose to visit (Tables 6, 7).

In summary, our model succeeded in achieving a better tradeoff among the minimization criteria. As it can be noticed in Tables 6 and 7, the generated routes of our model are smoother with significantly fewer route changes (9.727) compared to Model 1 (10.273), Model 2 (12.723) and Model 3 (13.909), while maintaining at the same time the cultural experience level high, since multiple crossovers from the same paths are avoided. Also, the generated tourist routes of our model succeeded in minimizing in parallel the cumulative collision risk of the route (15.284) and the tour duration (30.455) compared to the other three models (Table 8).

4 Conclusions and future work

A 0–1 INLP mathematical model was developed for generating optimal routes based on multi-criteria for outdoor cultural spaces with special notice given to individuals with special needs. The model addresses the TRP problem by minimizing the collision risk of the users with obstacles during the tour in the area, the duration of the walk in order to visit all the desired POIs, the multiple changes in the route so that the VIIs will not lose their direction and by minimizing the loss of cultural interest by penalizing the multiple crossovers from the same areas. Therefore, the users can explore more paths and get a more comprehensive cultural experience. The minimization of the aforementioned terms is realized by meeting in parallel the demands of the users for visiting specific POIs of the area in a user-defined time frame. The motivation for developing the proposed model was the support of user groups that need safer guidance, such as aging people or individuals with disabilities; nevertheless, it can be used by all types of users. Also, the study was applied in outdoor cultural spaces with emphasis on areas with unmapped roads or limited information. However, it can easily be applied to any district area since the methodology is generic.

In the literature, similar approaches focus on developing single or bi-objective models. These approaches target to find the shortest path in terms of duration or distance. Also, in cases of cultural route planning, models focus on maximizing the cultural experience of the tourist, or the profit of the shops in the cultural area based even on prefixed routes. In all the above studies, the user disability factor is not included. Our model fills the gap of the aforementioned limitations by proposing a multi-objective mathematical programming model that takes into account safety, chronical, cultural and disability factors. Overall, the proposed model performed better than the other approaches (Fig. 10) that can be found in the literature, such as the shortest path, in terms of duration or distance, or maximum cultural experience (Tables 1, 4). The results of the experimental evaluation (Tables 6, 7, 8) showed that the methodology is efficient with regard to optimality; therefore, it could sufficiently support navigation in real conditions. The initial results are promising, and thus, further investigation should be realized for networks with more nodes and POIs.

The proposed framework has been implemented as a module to be integrated in the ENORASI system, aiming to the navigation of people with disabilities, such as the VIIs, in outdoor cultural spaces [15, 16]. Future work includes the development of a voice-enabled interface for the interaction of the users with the RP and other modules of the system that combine sonification of the visual information and audio descriptions [44]. Another future direction is the development of a larger network to investigate the scalability of the proposed methodology as the number of nodes increases. To this end also heuristic approaches will be investigated for addressing the routing problems in an efficient computing time. A mathematical model with weighted terms to be minimized will be explored in order to emphasize in the minimization of total collision risk of the generated routes or total number of routes changes based on the preferences of the user. Furthermore, other route planning approaches will be investigated, combining the geographic information of the areas under examination with the information extracted from a computer vision-based localization and obstacle detection system, such as the ones proposed in [11].