Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

The bus sightseeing problem

The bus sightseeing problem IntroductionThe typical challenge for a traveler visiting a touristic destination for a limited period of time is to design a schedule that takes full advantage of the various points of interest (POIs), such as museums, monuments, art galleries, restaurants, etc. Generally, a tourist can be interested in planning his/her sightseeing activities strictly based on his/her personal preferences and on the amount of time and budget available. This problem has been introduced in the literature as the tourist trip design problem (TTDP). Under the TTDP model, a tourist defines his/her individual preferences and interests on specific POIs. The solution is a multiperiod set of personalized tours that maximize the predetermined tourist preference levels. The TTDP can be regarded as a variant of the basic orienteering problem (OP) (Vansteenwegen et al., 2019b; Ruiz‐Meza and Montoya‐Torres, 2022).Alternatively, a tourist can be interested in tours or packages offered by sightseeing or travel companies. The companies generally operate with fixed bus fleets, which are dispatched to a subset of POIs according to the preferences of the tourists on board, under various operational constraints. Motivated from the perspective of these companies, other than that of a tourist as in the TTDP, we introduce the bus sightseeing problem (BSP). Generally speaking, the BSP considers a set of tourist groups and a set of POIs, and each tourist group is composed of several people with specific preferences on the POIs. The objective is to (i) assign tourist groups to buses and (ii) determine the bus tours (POI subset determination and POI visit ordering), to maximize the tourist preferences, while taking into account the operational constraints, that is, bus capacity and opening hours. Figure 1 depicts an example of a BSP solution that maximizes the total preference score over all tourist groups.1FigA BSP example that maximizes tourist preferences.In the BSP, two interconnected decision levels have to be jointly tackled: assignment of tourists to buses and routing of buses to various attractions. This is different from the classical TTDP and vehicle routing problems with profits (VRPP), in which the profits are associated with locations and the total collected profit is computed by the sum of the profits of the visited locations. With respect to the existing literature on VRPP (Section 2), the BSP exhibits a more generalized profit collecting structure. By formally introducing the BSP (Section 3), we show that the BSP generalizes the OP with time windows (OPTW) and the team OPTW (TOPTW).The main aim of this paper is to investigate bounding techniques and an exact method for the BSP. We describe a mathematical formulation for the BSP (Section 4). Based on the formulation, we derive valid dual bounds by solving the linear programming (LP) relaxation of the formulation. The dual bounds are further strengthened by a set of valid inequalities. A branch‐and‐cut (B&C) approach, which uses the valid inequalities and Benders decomposition techniques, is developed to solve the problem to optimality (Section 5). Furthermore, an iterated local search (ILS) based metaheuristic algorithm is developed to efficiently compute primal bounds (Section 6). A key feature of the proposed ILS algorithm is the use of two mixed‐integer programming (MIP) based moves to search neighborhoods. Finally, we perform extensive computational experiments on a set of 576 newly constructed benchmark instances to assess the quality of the proposed solution methods (Section 7). The computational results show that our exact method can optimally solve test instances with up to 20 POIs and 30 tourist groups. Moreover, the results show that the ILS produces improved solutions for the instances not solved to optimality by the exact method, and can effectively compute solutions for larger‐scale instances.Related workThe BSP belongs to the class of VRPP (Archetti et al., 2014; Vansteenwegen et al., 2019b) where, in general, a profit is associated with each location to indicate its attractiveness. However, any BSP route is associated with a cost, as well as a profit value. Another central feature of the VRPP models, which distinguishes them from the basic family of routing models, is that location service is optional and the decision maker is responsible for identifying the location subset to be visited. Variants of VRPP ranging from single to multivehicle models inspired by practical transportation applications can be found in the survey paper of Feillet et al. (2005), the more recent review of Archetti et al. (2014), and the recent book of Vansteenwegen et al. (2019b). To the best of our knowledge, the BSP model has never been studied before. TOPTW is one of the most closely related problems to BSP. Thus, in the following we focus on methods proposed for the TOPTW and some interesting TOPTW applications in the tourism industry.To the best of our knowledge, no exact approaches have been proposed for solving the TOPTW. Regarding its special case with a single vehicle (OPTW), an exact algorithm based on bidirectional dynamic programming is proposed in Righini and Salani (2006). On the other hand, a number of heuristic techniques have been proposed for both TOPTW and OPTW. A guided local search (LS) and an ILS metaheuristic were proposed for the TOPTW in Vansteenwegen et al. (2009). Later, many other metaheuristics have been proposed, such as the hybridized greedy randomized adaptive search procedure (GRASP) with the evolutionary LS (Labadie et al., 2011), the LP‐based variable neighborhood search (VNS) (Labadie et al., 2012), the iterative framework based on LS procedure and simulated annealing (SA) (Hu and Lim, 2014), the iterated LS (ILS), and a hybridization of SA and ILS (Gunawan et al., 2017), to name a few. The reader is referred to Vansteenwegen et al. (2019b) for a comprehensive review of the benchmark instances and the state‐of‐the‐art solution techniques of the OPTW and the TOPTW.We next list some interesting TOPTW applications in the tourism industry.Souffriau et al. (2013) introduced the multiconstraint team OP with multiple time windows (MC‐TOP‐MTW), where a set of POIs is given, each with a service time, one or more time windows (TW), and a profit score. The goal is to maximize the sum of the profits collected by a fixed number of tours. The generated tours are subject to various operational requirements, such as maximum tour duration constraints and hard TW of POIs. The authors provide a mathematical formulation for the MC‐TOP‐MTW, and an ILS equipped with a GRASP. The algorithm was tested on instances involving from 48 to 288 POIs and 1–4 tours. Garcia et al. (2013) introduced the tourist planning problem that integrates public transportation, as the time‐dependent TOPTW (TD‐TOPTW). The problem calls for determining personalized tourist routes in real time. The authors developed and compared two different heuristic approaches for the TD‐TOPTW and reported results for actual data taken from the city of San Sebastian. Malucelli et al. (2015) studied a problem calling for the optimal design of cycle tourist itineraries. It assumes that the profit of nodes or edges can be collected several times but with a decreased rate. An integer programming formulation of the problem based on the OP and the multicommodity network design problem models is described. For a comprehensive overview, the interested reader is referred to the paper of Gavalas et al. (2014) and to Vansteenwegen et al. (2019b).Problem descriptionIn this section, we formally introduce the BSP and discuss its complexity by showing that the OPTW and the TOPTPW are special cases of the BSP.The BSP is defined on a complete digraph G=(V,A)$G = (V, A)$ where V is the vertex set and A is the set of arcs. The vertex set is composed of vertex 0 and a vertex set P representing the various POIs of the examined touristic destination, that is, V={0}∪P$V=\lbrace 0\rbrace \cup P$. Vertex 0 represents a central location, where vehicle or bus routes originate and terminate. Hereafter, we use the terms vehicle or bus interchangeably.Each vertex i∈P$i \in P$ is associated with a hard TW [ei,li]$[e_i, l_i]$, which defines the earliest and latest time for the start of a visit at POI i. In addition, a visit time vi$v_i$ is also considered, representing the time necessary for a POI i visit. Note that if a bus arrives at i before ei$e_i$, tourists must wait until the opening time ei$e_i$ of this particular POI. In real scenarios, POIs have early opening times so waiting times at POIs are generally not an issue. Each arc (i,l)∈A$(i, l)\in A$, i,l∈V$i, l \in V$, i≠l$i \ne l$, is associated with a travel time t̂il$\hat{t}_{il}$. The travel time t̂il$\hat{t}_{il}$ can be modified to include the visit time at vertex i, thus obtaining a modified travel time til$t_{il}$, that is, til=vi+t̂il$t_{il}=v_i+\hat{t}_{il}$. We assume that matrix til$t_{il}$ satisfies the triangle inequality. At the central location 0, a set K of buses is available. With each bus k∈K$k \in K$ is associated a capacity Qk$Q_k$ representing the maximum number of people on board. Moreover, vertex 0 is also associated with a TW [e0,l0]$[e_0, l_0]$, representing a common working time period for all buses in K.The BSP also considers a set of tourist groups T. Each group j∈T$j \in T$ consists of qj$q_j$ people. In addition, each group declares how important it is for this group to visit a particular POI in P. More precisely, with each group j∈T$j \in T$ and vertex i∈P$i \in P$ pair, it is associated a nonnegative profit pji$p_{ji}$, which conveys the satisfaction level (hereafter referred to as profit) enjoyed by j by visiting POI i. If a group j∈T$j \in T$ is assigned to a bus k∈K$k \in K$, which visits vertex i∈P$i \in P$, then the corresponding profit pji$p_{ji}$ is enjoyed (collected) by group j.The aim of the BSP is to jointly decide the assignment of groups to buses, and for each of these buses, design the corresponding route. More precisely, the BSP calls for the group‐vehicle assignment and the routing of vehicles, which maximizes the total profit enjoyed by all groups. The two decision levels are subject to the following constraints:(A)Group‐vehicle assignment.(i)Each tourist group must be assigned to exactly one vehicle.(ii)The total number of people assigned to a vehicle must not exceed the capacity of the vehicle.(B)Routing of vehicles.(i)Each vehicle performs at most one route.(ii)Each vehicle route starts from vertex 0, and terminates at vertex 0.(iii)Each vehicle visits any POI vertex at most once, whereas a POI vertex may be visited at most L times with L≤|K|$L \le |K|$. Since a POI can be visited several times by different vehicles, parameter L sets an upper limit on the number of vehicles that can visit a POI.(iv)Each vehicle may arrive at a POI within the corresponding TW. If it arrives earlier, it must wait for the TW opening.The link between the OPTW/TOPTW and the BSP can be summarized as follows. The OPTW is defined on a complete digraph G′=(V′,A′)$G^{\prime } = (V^{\prime }, A^{\prime })$, where V′$V^{\prime }$ is the vertex set and A′$A^{\prime }$ is the arc set. Vertex 0 represents the depot. Let p¯i$\overline{p}_i$ denote the nonnegative profit associated with i∈V′$i \in V^{\prime }$ (with p¯0=0$\overline{p}_0=0$), and let t¯il$\overline{t}_{il}$ be the nonnegative travel time associated with arc (i,l)∈A′$(i,l) \in A^{\prime }$ that includes the visit time at vertex i. In addition, let [e¯i,l¯i]$[\overline{e}_i,\overline{l}_i]$ be the TW associated with vertex i∈V′$i \in V^{\prime }$. The OPTW calls for the determination of a single route that maximizes the total profit collected, by visiting each vertex in V′∖{0}$V^{\prime } \setminus \lbrace 0\rbrace$ at most once and within its TW.Any OPTW instance can be converted into an equivalent BSP instance as follows:(i)Define graph G=(V,A)$G=(V,A)$ by setting V=V′$V=V^{\prime }$, A=A′$A=A^{\prime }$, P=V′∖{0}$P=V^{\prime } \setminus \lbrace 0\rbrace$ and til=t¯il$t_{il}=\overline{t}_{il}$, ∀(i,l)∈A$\forall (i,l) \in A$.(ii)Define |K|=1$|K|=1$, Q0=1$Q_0=1$ and L=1$L=1$.(iii)Define |T|=1$|T|=1$, q0=1$q_0=1$ and p0i=p¯i$p_{0i}=\overline{p}_i$, ∀i∈V′∖{0}$\forall i \in V^{\prime } \setminus \lbrace 0\rbrace$.(iv)Define [ei,li]=[e¯i,l¯i]$[e_i,l_i]=[\overline{e}_i,\overline{l}_i]$, ∀i∈V$\forall i \in V$.The TOPTW generalizes the OPTW by calling for the determination of m routes maximizing the total profit collected. Any TOPTW instance can be converted into an equivalent BSP instance by generating graph G and the TW as in points (i) and (iv), and the following additional definitions:(i)|K|=m$|K|=m$, Qk=1$Q_k=1$, ∀k∈K$\forall k \in K$, and L=1$L=1$; and(ii)|T|=m$|T|=m$, qj=1$q_j=1$, ∀j∈T$\forall j \in T$, and pji=p¯i$p_{ji}=\overline{p}_i$, ∀j∈T$\forall j \in T$, ∀i∈V′∖{0}$\forall i \in V^{\prime } \setminus \lbrace 0\rbrace$.Because the OPTW is NP$\mathcal {NP}$‐hard, so is the BSP.Link between the TTDP and the BSPIn the literature, the term TTDP is used to refer to a general class of problems associated with the construction of personalized tourist itineraries and no specific problem definition is reported. Indeed, as reported by Vansteenwegen et al. (2019a) and Ruiz‐Meza and Montoya‐Torres (2022), almost all papers in the TTDP literature use the OP (and other extended variants) to formulate the TTDP. Moreover, various extensions of the TTDP can also be formulated as the variants of the TOP, OPTW, or TOPTW. Vansteenwegen et al. (2019a) listed several TTDP variants and Ruiz‐Meza and Montoya‐Torres (2022) gave a classification of different variants and solution techniques. Variants include heterogeneous preferences of tourists, multiple TW, different classes of users, multiobjective function, to name a few. The reader is referred to Vansteenwegen et al. (2019a) and Ruiz‐Meza and Montoya‐Torres (2022) for a comprehensive list of the different variants.As shown above, as an application of the TTDP, our problem generalizes the TOPTW by introducing the following two main characteristics:(i)the vehicle fleet is assumed to be heterogeneous and, most importantly,(ii)the profits are heterogeneous, that is, under the BSP model, the total profit enjoyed depends on the group‐vertex assignments, whereas for the classical OP/TOP, the total profit depends only on the vertices visited.In the literature, TTDP are generally formulated based on OP/TOP/TOPTW mathematical formulations. However, due to the structure of heterogeneous profits of the BSP, existing OP/TOP/TOPTW formulations cannot be used directly to solve the problem, and in the next section we introduce a mathematical formulation for the BSP where additional decision variables are introduced to model the heterogeneous profits.From the methodological point of view, to the best of our knowledge, no exact approaches have been proposed for solving the TOPTW, and existing exact methods for the OP/TOP cannot be easily extended the BSP due to the above two main characteristics. In this paper, we therefore describe a new exact method for the problem (see Section 5) and a metaheuristic (see Section 6). More specifically, the metaheuristic uses an ILS solution framework, widely adopted to effectively solve TTDP variants. In addition, our heuristic algorithm also relies on the solution of OPTW and TOPTW instances in the context of MIP‐based moves used by the LS algorithm.Mathematical formulation and valid inequalitiesThis section provides an MIP formulation for the BSP. It also describes properties of the proposed formulation, together with valid inequalities that can be used to strengthen the dual bounds derived from the LP‐relaxation of the formulation.FormulationA bus route or simply route R=(i0=0,i1,i2,⋯,in−1,in=0)$R=(i_0=0,i_1,i_2,\dots ,i_{n-1},i_n=0)$ is defined as a simple circuit in G. It starts at the bus station 0 at time e0 and ends at the station no later than l0. In between, it visits the POI subset represented by vertices V(R)={i1,⋯,in−1}$V(R)=\lbrace i_1,\dots ,i_{n-1}\rbrace$. Route R is feasible if the visit start time τih,∀ih∈V(R)∪{in}$\tau _{i_h}, \forall i_h \in V(R) \cup \lbrace i_n\rbrace$, satisfies max{τih−1+tih−1ih,eih}≤τih≤lih$\max \lbrace \tau _{i_{h-1}} + t_{i_{h-1}i_h}, e_{i_h} \rbrace \le \tau _{i_h} \le l_{i_h}$, where ih−1$i_{h-1}$ is the vertex visited immediately before ih$i_h$ in route R (and τ0=e0$\tau _0 = e_0$).The proposed BSP formulation uses the following decision variables:yjik$y^k_{ji}$: binary variables, equal to 1, if and only if vertex i∈P$i \in P$ is visited by group j∈T$j \in T$ using vehicle k∈K$k \in K$;zjk$z^k_j$: binary variables, equal to 1, if and only if group j∈T$j \in T$ is assigned to vehicle k∈K$k \in K$;sik$s^k_i$: binary variables, equal to 1, if and only if vertex i∈V$i \in V$ is visited by vehicle k∈K$k \in K$;xilk$x_{il}^k$: binary variables, equal to 1 if and only if arc (i,l)∈A$(i,l) \in A$ is traversed by vehicle k∈K$k \in K$;δik$\delta ^k_i$: nonnegative continuous variables representing the start time at vertex i∈V$i \in V$ visited by vehicle k∈K$k \in K$; if vertex i is not visited by vehicle k, we have δik=0$\delta ^k_i = 0$.We split the BSP constraints into two distinct blocks. The first block handles the assignment of tourist groups to buses and the POI subset determination (which POIs are going to be visited) for each vehicle, whereas the second block addresses the routing of buses. Let X1 denote a set of vectors y∈{0,1}|K|×|T|×|P|$\mathbf {y}\in \lbrace 0,1\rbrace ^{|K|\times |T|\times |P|}$, z∈{0,1}|K|×|T|$\mathbf {z}\in \lbrace 0,1\rbrace ^{|K|\times |T|}$ and s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$, satisfying the following constraints (first constraint block):1a∑k∈Ksik≤L,∀i∈P,$$\begin{equation} \sum _{k \in K} s^k_i \le L, \qquad \forall i \in P , \end{equation}$$1bs0k≥sik,∀i∈P,k∈K,$$\begin{equation} s^k_0 \ge s^k_i, \qquad \forall i \in P, k \in K, \end{equation}$$1cyjik≤sik≤∑h∈Tyhik,∀i∈P,j∈T,k∈K,$$\begin{equation} y^k_{ji} \le s^k_i \le \sum _{h \in T}y^k_{hi}, \qquad \forall i \in P, j \in T, k \in K, \end{equation}$$1dyjik≤zjk≤∑l∈Pyjlk,∀i∈P,j∈T,∀k∈K,$$\begin{equation} y^k_{ji} \le z^k_j \le \sum _{l \in P}y^k_{jl}, \qquad \forall i \in P, j \in T, \forall k \in K, \end{equation}$$1eyjik≥sik+zjk−1,∀i∈P,j∈T,k∈K,$$\begin{equation} y_{ji}^k \ge s_i^k + z_j^k - 1, \qquad \forall i \in P, j \in T, k \in K, \end{equation}$$1f∑j∈Tqjzjk≤Qk,∀k∈K,$$\begin{equation} \sum _{j \in T} q_j z^k_j \le Q_k, \qquad \forall k \in K, \end{equation}$$1g∑k∈Kzjk=1,∀j∈T.$$\begin{equation} \sum _{k \in K} z^k_j = 1, \qquad \forall j \in T. \end{equation}$$Constraints (1a) state that a vertex i∈P$i \in P$ can be visited at most L times by the vehicles whereas constraint (1b) impose that s0k=1$s^k_0=1$ if at least one POI is visited by vehicle k. Constraints (1c)–(1e) are linking constraints among the different set of variables. Constraints (1f) guarantee that the vehicle capacities are not violated. Finally, constraints (1g) force each group j to be assigned to exactly one vehicle.Set X2 is defined as the set of vectors s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$, x∈{0,1}|K|×|A|$\mathbf {x}\in \lbrace 0,1\rbrace ^{|K|\times |A|}$, and δ∈R+|K|×|V|${\boldmath {\delta }}\in \mathbb {R}_+^{|K|\times |V|}$ satisfying the following constraints (second constraint block):2a∑l∈Γi+xilk=sik,∀i∈V,k∈K,$$\begin{equation} \sum _{l \in \Gamma ^+_i} x^k_{il} = s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$2b∑l∈Γi−xlik=sik,∀i∈V,k∈K,$$\begin{equation} \sum _{l \in \Gamma ^-_i} x^k_{li} = s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$2cδik+til−(1−xilk)M≤δlk,∀(i,l)∈A,k∈K,$$\begin{equation} \delta ^k_i + t_{il}-(1-x^k_{il})M \le \delta ^k_l, \qquad \forall (i,l) \in A, k \in K, \end{equation}$$2deisik≤δik≤lisik,∀i∈V,k∈K,$$\begin{equation} e_i s^k_i \le \delta ^k_i \le l_{i} s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$where Γi+={h∈V:(i,h)∈A}$\Gamma ^+_i=\lbrace h \in V: (i,h) \in A\rbrace$ and Γi−={h∈V:(h,i)∈A}$\Gamma ^-_i=\lbrace h \in V: (h,i) \in A\rbrace$ are the sets of successors and predecessors of vertex i∈V$i \in V$ in G, respectively, and M is a sufficiently large constant, for example, M=∑(i,l)∈Atil$M = \sum _{(i,l) \in A} t_{il}$. For a given vertex i and vehicle k such that sik=1$s^k_i=1$, the out‐degree (2a) and in‐degree (2b) constraints ensure that there will be exactly one arc entering and exactly one arc leaving vertex i. Constraints (2c) and (2d) guarantee that the bus routes respect all TW of visited vertices (POIs and bus station). From a different viewpoint, this second constraint block ensures that feasible routes exist for a given vector s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$.Based on the above definitions, the BSP is formulated as the following MIP model:3a(F)z(F)=max∑k∈K∑j∈T∑i∈Ppjiyjik$$\begin{equation} (F)\qquad z(F)= \max \; \sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}y^k_{ji} \end{equation}$$3bs.t.(y,z,s)∈X1,$$\begin{equation} \qquad\qquad\qquad\quad {\rm s.t.} \; (\mathbf {y},\mathbf {z},\mathbf {s}) \in X_1 ,\end{equation}$$3c(s,x,δ)∈X2.$$\begin{equation} \qquad\qquad\qquad\quad (\mathbf {s},\mathbf {x},{\boldmath {\delta }}) \in X_2. \end{equation}$$The objective function (3a) maximizes the total profit enjoyed by all tourist groups. Constraints (3b) and (3c) represent the two blocks of constraints described earlier.Let LF$LF$ denote the LP‐relaxation of formulation F and let z(LF)$z(LF)$ represent its optimal solution cost. The following property holds about F and LF$LF$.1PropositionIn any optimal LF$LF$ solution (y,z,s,x,δ)$(\mathbf {y},\mathbf {z},\mathbf {s},\mathbf {x},{\boldmath {\delta }})$ we have4yjik=min{sik,zjk},∀i∈P,j∈T,k∈K.$$\begin{equation} y^k_{ji}=\min \lbrace s^k_i, z^k_j\rbrace , \; \forall i \in P, j \in T, k \in K. \end{equation}$$ProofFrom constraints (1c) to (1e) we have5max{sik+zjk−1,0}≤yjik≤min{sik,zjk},∀i∈P,j∈T,k∈K.$$\begin{equation} \max \lbrace s^k_i+z^k_j-1,0\rbrace \le y^k_{ji}\le \min \lbrace s^k_i, z^k_j\rbrace , \; \forall i \in P, j \in T, k \in K. \end{equation}$$Hence, due to the maximization objective of LF$LF$, equations (4) hold.□$\Box$The above property indicates that imposing integrality on variables s$\mathbf {s}$ and z$\mathbf {z}$ suffices to guarantee integrality of variables y$\mathbf {y}$. Thus, variables y$\mathbf {y}$ can be relaxed to continuous variables.Improving relaxation LF$LF$In this section, we describe valid inequalities that can be used to improve the quality of the dual bounds obtained from formulation LF$LF$. The corresponding separation procedures are then described in Section 5.1.Capacity constraintsThe following valid inequalities for LF$LF$ ensure that the capacity of a bus cannot be violated at any vertex visited by the bus.2PropositionThe following inequalities are valid for LF$LF$:6∑j∈Tqjyjik≤Qksik,∀i∈P,k∈K.$$\begin{equation} \sum _{j \in T} q_j y^k_{ji} \le Q_k s^k_i, \; \forall i \in P, k \in K . \end{equation}$$ProofWe have the following two cases:(i)If sik=1$s_i^{k} = 1$, then ∑j∈Tqjyjik≤∑j∈Tqjzjk≤Qksik=Qk$\sum _{j \in T} q_j y_{ji}^{k} \le \sum _{j \in T} q_j z_j^{k} \le Q_ks_i^{k} = Q_k$.(ii)If sik=0$s_i^{k} = 0$, then ∑j∈Tqjyjik=0≤Qksik$\sum _{j \in T} q_j y_{ji}^{k} = 0 \le Q_k s_i^{k}$.□$\Box$Inequalities from the associated knapsack polytopeWe consider cover and lifted cover inequalities based on knapsack constraints (1f) (Crowder et al., 1983; Nemhauser and Wolsey, 1988). For a given k∈K$k \in K$, let the subset of tourist groups C⊆T$C \subseteq T$ be a cover such that ∑j∈Cqj>Qk$\sum _{j \in C} q_j &gt; Q_k$ and let Ck$\mathcal {C}^k$ be the set of all covers for vehicle k. The following cover inequalities are valid for LF$LF$:7∑j∈Czjk≤|C|−1,∀C∈Ck,k∈K.$$\begin{equation} \sum _{j \in C} z^k_{j} \le |C| - 1, \quad \forall C \in \mathcal {C}^k, k \in K. \end{equation}$$Cover inequalities can be lifted by letting qmax=maxj∈C{qj}$q^{\max } = \max _{j \in C} \lbrace q_j\rbrace$ and T̂={j∈T∖C:qj≥qmax}$\hat{T} = \lbrace j \in T \setminus C: q_j \ge q^{\max } \rbrace$. Then, the following lifted cover inequality is valid for LF$LF$:8∑j∈C∪T̂zjk≤|C|−1,∀C∈Ck,k∈K.$$\begin{equation} \sum _{j \in C \cup \hat{T}} z^k_{j} \le |C| - 1, \quad \forall C \in \mathcal {C}^k, k \in K. \end{equation}$$Infeasible path elimination constraintsThese constraints filter out POI vertex sets that cannot be feasibly visited by a route due to the TW constraints imposed by the BSP. Let D⊆P$D \subseteq P$ denote an infeasible set of vertices such that there does not exist any feasible route containing all D vertices and respecting the TW constraints. Let D$\mathcal {D}$ include all such infeasible sets. The following inequalities are valid for LF$LF$:9∑i∈Dsik≤|D|−1,∀D∈D,k∈K.$$\begin{equation} \sum _{i \in D} s^k_{i} \le |D| - 1, \quad \forall D \in \mathcal {D}, k \in K. \end{equation}$$These constraints can also be expressed in terms of the y$\mathbf {y}$ variables, as shown in the following proposition.3PropositionThe following inequalities are valid for LF$LF$:10∑i∈D∑k∈Kyjik≤|D|−1,∀D∈D,j∈T.$$\begin{equation} \sum _{i \in D} \sum _{k \in K} y_{ji}^k \le |D| - 1, \; \forall D \in \mathcal {D}, j \in T. \end{equation}$$ProofLet wji=∑k∈Kyjik$w_{ji}=\sum _{k \in K}y^k_{ji}$. Obviously, wji∈{0,1}$w_{ji} \in \lbrace 0,1\rbrace$ in any feasible F solution, i.e., wji=1$w_{ji}=1$ if group j visits vertex i, and wji=0$w_{ji}=0$ otherwise. Since D represents an infeasible set of vertices, then ∑i∈Dwji≤|D|−1$\sum _{i \in D}w_{ji}\le |D|-1$ is a valid inequality, and therefore (10) hold.□$\Box$Symmetry breaking constraintsWe also use a set of symmetry breaking inequalities, to avoid equivalent solutions obtained by interchanging index k. These are useful for instances involving buses of equal capacity, that is, Qk1=Qk2$Q_{k_1}=Q_{k_2}$, ∀k1,k2∈K,k1≠k2$\forall k_1, k_2 \in K, k_1 \ne k_2$. Let σ be a permutation of the group set T. We can assume that h(1)≤h(2)≤⋯≤h(|K|)$h(1) \le h(2) \le \dots \le h(|K|)$, where h(k)=min{j∈T:zσ(j)k=1}$h(k)=\min \lbrace j \in T: z^k_{\sigma (j)}=1\rbrace$, k=1,⋯,|K|$k=1,\dots ,|K|$ is the smallest group number (w.r.t. permutation σ) of the groups visited by vehicle k (h(k)=∞$h(k)=\infty$ if vehicle k is not used). Then the following constraints hold:11zσ(1)1=1,zσ(i)k≤∑j∈{1,⋯,i−1}zσ(j)k−1,for allk≥3,k∈K,andi≥2,i∈T.$$\begin{equation} \begin{split} z^1_{\sigma (1)} & = 1, \\ z^k_{\sigma (i)} & \le \sum _{j \in \lbrace 1,\dots ,i-1\rbrace }z^{k-1}_{\sigma (j)}, \; \text{ for all } k \ge 3, k \in K, \text{ and } i\ge 2, i \in T. \end{split} \end{equation}$$In this way, vehicles with smaller indices are assigned to groups with smaller indices.An exact method for the BSPMIP formulations such as formulation F are notoriously very hard to solve by means of general purpose MIP solvers based on B&C approaches. Nevertheless, speedup of some orders of magnitude with respect to the best MIP solvers on the market can be achieved using logic‐based solution methods (Hooker, 2000; Codato and Fischetti, 2006; Zhang et al., 2021). In this section, we describe an exact BSP solution method based on the Benders decomposition, formally developed by Benders (1962) to efficiently solve MIPs. The Benders decomposition partitions the original problem into two problems, that is, an integer master problem (MP$MP$) and a linear slave problem or subproblem (SP$SP$). The MP$MP$ is solved for a decision variable subset, whereas the rest of the values are decided by solving the SP$SP$. If the SP$SP$ is found to be infeasible, new cuts are incorporated in the MP$MP$, which is re‐solved in a cyclic framework. Geoffrion (1972) has extended the Benders decomposition to a larger class of mathematical programming problems. Finally, the works of Hooker (2000) and Hooker and Ottosson (2003) further extend the Benders strategy by considering more general subproblems for generating MP$MP$ cuts. This approach is referred to as a logic‐based Benders decomposition. Later, it was specialized to MIP by Codato and Fischetti (2006) who introduced the so‐called combinatorial Benders cuts.Following a logic‐based Benders approach, the master problem MP$MP$ can be defined as follows:12a(MP)z(MP)=max∑k∈K∑j∈T∑i∈Ppjiyjik$$\begin{equation} (MP)\qquad z(MP)= \max \; \sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}y^k_{ji} \end{equation}$$12bs.t.(y,z,s)∈X1.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ {\rm s.t.} \; (\mathbf {y},\mathbf {z},\mathbf {s}) \in X_1. \end{equation}$$Problem MP$MP$ is NP$\mathcal {NP}$‐hard since it reduces to the generalized assignment problem (GAP) (Martello and Toth, 1990) when variables s$\mathbf {s}$ are fixed. Given a solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ of MP$MP$, problem SP$SP$ is a feasibility or separation subproblem calling for the evaluation of (s¯,x,δ)$(\overline{\mathbf {s}},\mathbf {x},{\boldmath {\delta }})$ such that (s¯,x,δ)∈X2$(\overline{\mathbf {s}},\mathbf {x},{\boldmath {\delta }}) \in X_2$.For a given MP$MP$ solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$, there are two possible outcomes w.r.t. the associated subproblem SP$SP$:(i)Problem SP$SP$ is infeasible for s¯$\overline{s}$. The following infeasibility cut is added to MP$MP$:13∑k∈K∑i∈P:s¯ik=0sik+∑k∈K∑i∈P:s¯ik=1(1−sik)≥1,$$\begin{equation} \sum _{k \in K}\sum _{i \in P: \overline{s}^{k}_i=0}s^k_i + \sum _{k \in K}\sum _{i \in P: \overline{s}^{k}_i=1} (1-s^k_i) \ge 1, \end{equation}$$to render solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ infeasible. Indeed, if s=s¯$s=\overline{s}$ the left‐hand side of inequality (13) is equal to 0, hence the inequality cuts off the point (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ from the master MP$MP$.(ii)Problem SP$SP$ is feasible for s¯$\overline{s}$. Let (x¯,δ¯)$(\overline{\mathbf {x}},\overline{{\boldmath {\delta }}})$ be the solution of SP$SP$. Then, solution (y¯,z¯,s¯,x¯,δ¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}},\overline{\mathbf {x}},\overline{{\boldmath {\delta }}} )$ is an optimal BSP solution of total profit equal to ∑k∈K∑j∈T∑i∈Ppjiy¯jik$\sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}\overline{y}^k_{ji}$.The proposed solution algorithm is summarized by Algorithm 1.1AlgorithmBenders decomposition methodOver the course of the algorithm, UB$UB$ corresponds to a valid dual bound on z(F)$z(F)$ whereas at the end of the algorithm LB=z(F)$LB=z(F)$ (we assume z(F)=−∞$z(F)=-\infty$ if there is no feasible solution).Note that the proposed algorithm terminates with an optimal solution whenever a feasible SP$SP$ solution is found. In addition, if a feasible BSP solution exists, the algorithm terminates after finitely many steps. Indeed, since the domain of MP$MP$ variables (y,z,s)$(\mathbf {y},\mathbf {z},\mathbf {s})$ is finite, only finitely many subproblems can be defined (and corresponding Benders infeasibility cuts can be generated), so that the optimal value is reached after finitely many steps.A branch‐and‐cut implementationIn this section, we propose an alternative method to the exact algorithm described in the previous section that is generally adopted to solve the Benders reformulation (see Vanderbeck and Wolsey, 2010). The proposed method generates infeasibility cuts into a B&C framework for solving problem MP$MP$.The algorithm has been built within the CPLEX 12.8.0 framework using the CPLEX callback functions. Through these functions, the programmer can almost completely customize the general approach embedded into CPLEX. For example, one can choose the next node to explore in the enumeration tree, choose the branching variable, or define a problem‐dependent branching scheme, separate and add his own cutting planes, apply his own heuristic methods, etc. For additional details about the use of the different callback functions, the reader is referred to the documentation of the CPLEX callable library (IBM CPLEX, 2018). The most important implementation issues are discussed below.Infeasibility cutsTo deal with the master problem MP$MP$, function LazyConstraintCallback provided by CPLEX is used to separate the infeasibility cuts and add them to MP$MP$. Whenever an integer solution is obtained by solving the LP‐relaxation of the master problem at a node, the LazyConstraintCallback is invoked by CPLEX to examine its feasibility. That is, when the LP solution (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ of the master problem MP$MP$ is integral, the slave problem SP$SP$ is solved to verify its feasibility (see Section 5.2). If problem SP$SP$ is feasible, then a feasible solution of the BSP has been found. Otherwise, the infeasibility cut associated with solution (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ is added to the master problem using function LazyConstraintCallback.Generally, integer solutions (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ can only be found at the leaf nodes of the enumeration tree associated with problem MP$MP$. To improve the convergence of the method, we generate infeasibility cuts also at the nodes where the solution is not necessarily integer. To this end, we use function UserCutCallback to separate the feasibility cuts and add them to the master problem. Whenever an LP‐relaxation is solved and the node is not pruned, the UserCutCallback is invoked. If sk$\mathbf {s}^k$ is integral for some k∈K$k \in K$, the UserCutCallback separates infeasibility cuts by examining whether a feasible route exists for vehicle k given sk$\mathbf {s}^k$. In this way, the feasibility cuts can be separated early in the search process and help to strengthen the LP‐relaxation of the master problem. Further, additional infeasibility cuts can be added based on the path elimination inequalities (9) and (10). Indeed, given k∈K$k \in K$, let D={i∈P:s¯ik=1}$D = \lbrace i \in P: \bar{s}_i^{k} =1\rbrace$ be the set of vertices visited by vehicle k. If the subproblem SP is infeasible, then D is also an infeasible set of vertices, and the infeasible path elimination inequalities (9) and (10) corresponding to D can be added to problem MP$MP$.Valid inequalitiesThe set of capacity constraints (6) and symmetric breaking constraints (11) are directly added to the initial MP$MP$ at the root node of the enumeration tree. The lifted cover cuts (8) and the infeasible path elimination cuts (9) and (10) are separated using the UserCutCallback function as described in the following.Whenever an LP‐relaxation is solved and the node is not pruned, the values of the variables z$\mathbf {z}$ and s$\mathbf {s}$ in the LP solution are used to separate the cuts. To separate violated lifted cover inequalities, we identify a cover C={j∈T:zjk=1}$C =\lbrace j \in T: z_j^k = 1\rbrace$ such that ∑j∈Cqj≥Qk+1$\sum _{j \in C} q_j \ge Q_k + 1$ for some k∈K$k \in K$ by dynamic programming (DP) (see Nemhauser and Wolsey, 1988). To separate violated infeasible path elimination cuts, we solve subproblem SP$SP$ as shown in Section 5.2.Branching and node selection strategyBased on the results of preliminary experiments, we decided to set a higher branching priority on variables s$\mathbf {s}$. As variables y$\mathbf {y}$ are safely relaxed to continuous according to Proposition 1, only integer variables s$\mathbf {s}$ and z$\mathbf {z}$ are considered as integer variables by CPLEX. Because both the infeasibility cuts and the primal heuristic rely on the integer values of variables s$\mathbf {s}$, the higher branching priority on variables s$\mathbf {s}$ can be helpful in improving both dual and primal bounds, especially in the early exploration of the enumeration tree.Primal heuristicWith the aim of enhancing the computation of primal solutions during the enumeration tree, we apply a heuristic algorithm using the HeuristicCallback CPLEX function.At a generic node of the B&C tree, we first check if the subproblem SP$SP$ is feasible, that is, variables s$\mathbf {s}$ are integral and feasible routes exist for the subproblem SP$SP$. Then the primal heuristic tries to optimally reassign the tourist groups to the vehicles in order to maximize the total profit by solving the following GAP:14(GAP)max∑j∈T∑k∈Kp¯jkzjk$$\begin{equation} (GAP) \quad \max \quad \sum _{j \in T} \sum _{k \in K} \bar{p}^k_{j} z^k_{j} \end{equation}$$15s.t.∑j∈Tqjzjk≤Qk,∀k∈K$$\begin{equation} \qquad\qquad {\rm s.t.} \quad\ \ \sum _{j \in T} q_j z^k_j \le Q_k,\qquad \forall k \in K \end{equation}$$16∑k∈Kzjk=1,∀j∈T$$\begin{equation} \qquad\qquad\qquad\quad\sum _{k \in K} z^k_j = 1, \qquad \forall j \in T \end{equation}$$17zjk∈{0,1},∀j∈T,∀k∈K,$$\begin{equation} \qquad\qquad\qquad\quad z^k_j \in \lbrace 0,1\rbrace ,\qquad \forall j \in T, \forall k \in K, \end{equation}$$where p¯jk=∑i∈Ps¯ikpji$\bar{p}^k_j = \sum _{i \in P} \bar{s}^k_i p_{ji}$ is the profit of assigning group j∈T$j \in T$ to vehicle k∈K$k \in K$. Problem GAP$GAP$ requires that the capacity of each vehicle cannot be violated (15) and each group must be assigned to exactly one vehicle (16). Problem GAP$GAP$ can be conveniently solved using the MIP solver of CPLEX using the current solution z¯$\bar{\mathbf {z}}$ of the master problem as a starting solution, and by initializing the CPLEX primal bound as the cost of the best BSP solution found so far.Solving the subproblemProblem SP$SP$ can be decomposed into |K|$|K|$ feasibility subproblems, each one for determining the TW feasibility of a single bus route. The constraints of each subproblem correspond to the well‐known traveling salesman problem with TW (TSPTW) (Baker, 1983). For each k∈K$k \in K$, solving the subproblem requires to check if a feasible TSPTW solution exists for V¯k$\bar{V}_k$, where V¯k={i∈P:s¯ik=1}$\bar{V}_k = \lbrace i \in P: \bar{s}_i^k = 1\rbrace$ denotes the set of vertices visited by vehicle k. This is a known NP$\mathcal {NP}$‐complete problem (Savelsbergh, 1985). Obviously, if V¯k=∅$\bar{V}_k = \emptyset$ , the corresponding TSPTW is trivially feasible.Instead of considering the individual feasibility problems, we tackle each of them by considering the objective of minimizing the travel time, as for the classical TSPTW. This approach is best suited for the BSP, since a bus route visiting a set of POIs is obviously preferred over another route visiting the same POIs, but requiring a longer travel time. For every vehicle k∈K$k \in K$ such that V¯k≠∅$\bar{V}_k \ne \emptyset$, we formulate the problem as the following MIP model:18minxk∈{0,1}|A|,δk∈R+|V|∑(i,l)∈Atilxilk:(s¯k,xk,δk)∈X2k,$$\begin{equation} \min _{\mathbf {x}^k \in \lbrace 0,1\rbrace ^{|A|}, {\boldmath {{\delta }^k}}\in \mathbb {R}_+^{|V|}} {\left\lbrace \sum _{(i,l)\in A}t_{il}x^k_{il}: (\overline{\mathbf {s}}^k,\mathbf {x}^k,{\boldmath {\delta }}^k) \in X_2^k \right\rbrace} , \end{equation}$$where X2k$X_2^k$ corresponds to the set of constraints (2d) involving vehicle k. To solve problem (18), we use the DP‐based approach proposed by Baldacci et al. (2012), which has been shown to be particularly effective for the TSPTW. In the following, we briefly describe the method and the reader is referred to Baldacci et al. (2012) for additional details.For a given vehicle k∈K$k \in K$, let G¯=(V¯,A¯)$\overline{G}=(\overline{V}, \overline{A})$ be a complete digraph, where V¯=V¯k∪{p,q}$\overline{V}=\bar{V}_k \cup \lbrace p,q\rbrace$, and p and q are two special vertices. A tour is defined as a path in G¯$\overline{G}$ starting from vertex p at time e0, visiting each vertex i∈V¯k$i \in \bar{V}_k$ within its TW, and ending at vertex q before l0. The cost of a tour is equal to the sum of the travel times of the arcs traversed. The TSPTW associated with vehicle k consists of determining the minimum travel time tour, and can be formulated using DP as follows. Define a forward path P=(p,i1,⋯,ik=σ(P))$P=(p,i_1,\dots ,i_k=\sigma (P))$ as an elementary path starting from vertex p at time e0, visiting vertices V(P)={p,i1,⋯,ik}$V(P)=\lbrace p,i_1,\dots ,i_k\rbrace$ within their TW, and ending at vertex σ(P)$\sigma (P)$ at time t(P)$t(P)$ with eσ(P)≤t(P)≤lσ(P)$e_{\sigma (P)} \le t(P) \le l_{\sigma (P)}$. Let P(S,t,i)$\mathcal {P}(S,t,i)$ be the set of all forward paths visiting the subset of vertices S⊆V¯$S \subseteq \bar{V}$ and ending at vertex i at time t. In addition, let g(S,t,i)$g(S,t,i)$ be the minimum travel time path in the set P(S,t,i)$\mathcal {P}(S,t,i)$. The travel time z(TSPTW)$z(\text{TSPTW})$ of the optimal TSPTW solution for vehicle k is as follows:19z(TSPTW)=mine0≤t≤l0{g(V¯,t,q)}.$$\begin{equation} z(\text{TSPTW}) = \min _{e_0 \le t \le l_0} \lbrace g(\overline{V},t,q) \rbrace . \end{equation}$$The g(S,t,i)$g(S,t,i)$ values can be evaluated using DP as follows: define the state set S={(S,t,i):∀S⊆V,∀i∈S,ei≤t≤li}$\mathcal {S} = \lbrace (S,t,i): \forall S \subseteq V, \forall i \in S, e_i \le t \le l_i\rbrace$. Let Ω(t,j,i)$\Omega (t,j,i)$ be the subset of departure times from vertex j to arrive at vertex i at time t, such that ei≤t≤li$e_i \le t \le l_i$, when j is visited immediately before i. Ω(t,j,i)$\Omega (t,j,i)$ is defined as follows: (i) Ω(t,j,i)={t′:ej≤t′≤min{lj,t−tji}}$\Omega (t,j,i)=\lbrace t^{\prime }: e_j \le t^{\prime } \le \min \lbrace l_j,t-t_{ji}\rbrace \, \rbrace$ if t=ei$t = e_i$, and (ii) Ω(t,j,i)={t−tji:ej≤t−tji≤lj}$\Omega (t,j,i)=\lbrace t-t_{ji}: e_j \le t-t_{ji} \le l_j\rbrace$ if ei<t≤li$e_i &lt; t \le l_i$. The DP recursion to evaluate g(S,t,i)$g(S,t,i)$ is as follows:20g(S,t,i)=min(S′,t′,j)∈Ψ−1(S,t,i){g(S′,t′,j)+tji},∀(S,t,i)∈S,$$\begin{equation} g(S,t,i) = \min _{(S^{\prime },t^{\prime },j) \in \Psi ^{-1}(S,t,i)} \lbrace g(S^{\prime },t^{\prime },j)+t_{ji} \rbrace , \quad \forall (S,t,i) \in \mathcal {S}, \end{equation}$$where Ψ−1(S,t,i)={(S∖{i},t′,j):∀t′∈Ω(t,j,i),∀j∈V¯∩(S∖{i})}$\Psi ^{-1}(S,t,i)=\lbrace (S \setminus \lbrace i\rbrace ,t^{\prime },j): \forall t^{\prime } \in \Omega (t,j,i), \; \forall j \in \overline{V} \cap (S \setminus \lbrace i\rbrace )\rbrace$. The following initialization is required: g({p},ep,p)=0$g(\lbrace p\rbrace ,e_p,p)=0$ and g({p},t,p)=∞$g(\lbrace p\rbrace ,t,p)=\infty$, ∀t$\forall t$, ep<t≤lp$e_p&lt; t \le l_p$. The size of the set S$\mathcal {S}$ can be huge, but effective dominance and fathoming rules are described in Baldacci et al. (2012) to remove from S$\mathcal {S}$ any state (S,t,i)$(S,t,i)$ that cannot lead to any feasible or optimal solution, thus speeding up the computation of the optimal TSPTW solution.An iterated local search based metaheuristicTo solve larger BSP instances, we propose an ILS‐based metaheuristic algorithm. The algorithm follows the scheme of ILS algorithms (Baxter, 1981; Lourenço et al., 2019) and employs two diversification mechanisms for shaking the incumbent solutions, followed by a LocalSearch procedure that improves the modified solution. In particular, the applied diversification mechanisms systematically change the neighborhood, in a manner similar to the VNS (Mladenović and Hansen, 1997; Hansen et al., 2019), which has been effectively applied on vehicle routing problems (see, e.g., Wei et al., 2014, 2015).Let S denote a feasible BSP solution and f(S)=M·p(S)−r(S)$f(S)=M\cdot p(S)-r(S)$ where p(S)$p(S)$ is the total profit collected by S, r(S)$r(S)$ is the total travel time required by the solution S and M is a very large positive value. The structure of the proposed ILS algorithm is provided in Algorithm 2.2AlgorithmILS for the BSPThe proposed method starts by constructing an initial solution S, which is improved by the following iterative procedure: Method Shake applies one of the two proposed diversification mechanisms (according to argument h), to produce the modified solution S′$S^{\prime }$. Then, S′$S^{\prime }$ is improved by the proposed LocalSearch method, which employs classical routing and packing LS operators. In addition, it is equipped with MIP‐based operators that are used when locally optimal solutions with respect to the classical operators are encountered. Let S′′$S^{\prime \prime }$ denote the improved solution produced by the LocalSearch method. If f(S′′)>f(S)$f(S^{\prime \prime })&gt;f(S)$, the incumbent solution is set to S′′$S^{\prime \prime }$ and the diversification mechanism to be applied on the next iteration is set to 1 (h⟵1$h \longleftarrow 1$). Otherwise, the method continues by switching the diversification operator for the next iteration. The proposed ILS framework is terminated when a total CPU time Tmax$T_{max}$ is completed, or when Imax$I_{max}$ consecutive nonimproving iterations are performed. In the following paragraphs, the various components of Algorithm 2 are described.Initial solutionThe construction of a feasible BSP solution requires decisions on two levels: (i) assignment of tourist groups to buses and (ii) POI selection and optimal routing for the buses.We use a simple heuristic algorithm to generate an initial solution with the aim of quickly computing a feasible solution as a starting point for the ILS. The heuristic performs two main steps: (i) assigning of tourist groups to buses by disregarding the profit values and (ii) determining bus routes and the POIs to be visited by also taking into account the profit values. The two steps are as follows:(i)Due to the difficulty of obtaining a feasible assignment in some instances with limited buses, the proposed construction heuristic starts off by assigning tourist groups to buses, thus when this assignment is decided no routing decisions have been made. As a result, the profit objective is not taken into account and the algorithm constructs feasible tourist assignments to buses with respect to the bus capacity constraints, by applying the best‐fit decreasing (BFD) heuristic for this 1D bin packing problem. As a safeguard, if BFD fails to produce a feasible assignment due to tight capacity constraints, the GAP models (14)–(17) are solved to optimality by CPLEX with unit profit values.(ii)Once the tourist groups have been assigned to buses, the constructive method determines a feasible route for each bus. For bus k∈K$k \in K$, the profit of each vertex i∈P$i \in P$ is computed as p¯ik=∑j∈Tkpji$\bar{p}^k_{i} = \sum _{j \in T_k} p_{ji}$, where Tk⊆T$T_k \subseteq T$ denotes set of tourist groups assigned to bus k. The bus–vertex pairs (k,i)$(k,\ i)$, k∈K$k \in K$, i∈T$i \in T$, are sorted in descending profit p¯ik$\bar{p}^k_{i}$. Then, the construction algorithm iteratively selects the bus–vertex pair (k,i)$(k, i)$ with the highest profit, to insert vertex i into the route traveled by bus k. An insertion is made, if the POI TW and the maximal POI visit constraints are satisfied. If for a POI i multiple feasible positions exist within the route traveled by bus k, vertex i is inserted in the position yielding the minimal travel time increase.It is worth noting that alternative rules are possible to assign POIs to buses and that, in our experience, the quality of the initial solution is not a key factor for the algorithmic performance. Moreover, regarding the importance of handling the profits, our packing and MIP‐based moves described in the following are indeed aimed at improving the groups to POI assignments.Diversification operatorsThe proposed algorithm employs two diversification operators, which as previously mentioned are invoked by method Shake. Both operators apply drastic solution modifications, to drive the search away from local optima encountered. The strength of this behavior is controlled by parameter α, which after tuning experiments was set to21α=max{5,min{0.05×i,0.6}×(|T|+|P|)},$$\begin{equation} \alpha = \max \lbrace 5, \min \lbrace 0.05 \times i, 0.6\rbrace \times (|T| + |P|)\rbrace , \end{equation}$$where i is the number of consecutive nonimproving iterations currently recorded. The role of parameter α is twofold: (a) it strengthens the diversification effect of both operators when the algorithm consistently fails to identify new improved solutions and (b) it eliminates excessive diversification that would drive the search to extremely poor quality solution regions.In the following, the two diversification operators are described:RandomMoves operator randomly performs a sequence of packing or routing moves presented in Section 6.3. To perform each of these moves, one of the seven move types is randomly selected with all move types sharing the same selection probability. Then a move defined by the selected operator is randomly applied, if it respects the model constraints.Destroy&Repair operator removes tourist groups and vertices randomly from the solution. It then reconstructs this partial solution by first reinserting the removed tourist groups to buses. These insertions are iteratively performed: At each iteration, the profit of assigning every removed group j to every bus k∈K$k \in K$ is p¯jk${\bar{p}}_j^k$. If an assignment violates the bus capacity constraints, the associated profit is set to −∞$-\infty$. A regret value rvj=p¯jk1−p¯jk2${rv}_j={\bar{p}}_j^{k_1}-{\bar{p}}_j^{k_2}$ is then evaluated for every unassigned tourist group j, where k1 and k2 denote the buses “offering” the highest and second highest profit for group j, respectively. The method identifies the tourist group maximizing the regret value and assigns it to the bus maximizing the aforementioned profit value. Once all tourist groups have been reassigned to buses, POI vertices are inserted into the solution via the mechanism of POI vertex insertion described for the initial solution construction method (Section 6.1).Local searchIn the BSP, two interconnected decision levels must be jointly tackled: assignment of tourists to buses and routing of buses to the various attractions. With the aim of improving a BSP solution based on both decisions, the LS procedure in the ILS uses various packing moves to optimize the assignment of tourists to the POIs, and routing moves to improve the routes.The LS procedure first employs two basic types of moves: (i) packing moves that modify the assignments of tourist groups to buses and (ii) routing moves that modify the bus routes. If the basic move types fail to identify an improving solution, two rich MIP‐based moves are applied. If the MIP‐based moves succeed in improving the incumbent solution, the method continues by reapplying the basic moves in a cyclic framework. On the contrary, if the MIP‐based moves fail to generate an improving solution, the LocalSearch method terminates by returning the locally optimal solution with respect to the basic operators, as well as the MIP‐based moves. In the following, all employed LS operators are described.Packing movesBy fixing the bus routes of a given BSP solution, BSP reduces to a GAP model that calls for the optimal assignment of tourists to buses. The following moves deal with these assignments. Note that they are only applied if they produce improving and feasible BSP solutions.Group relocation moves relocate a tourist group from the bus currently assigned to, to another bus.Group swap moves swap the buses offering service to a tourist group pair. Obviously, the group swap moves involve only tourist groups that are assigned to different buses (in the incumbent BSP solution).Figure 2 shows an illustrative example of packing moves based on the BSP instance given in Fig. 1.2FigAn example of packing moves.Routing movesBy fixing the tourist groups to bus assignments of a given BSP solution, BSP reduces to a TOPTW variant, where the profit collection depends on the bus routes. In contrast to the basic TOPTW version, each vertex can be visited multiple times limited by L under the BSP model. The LS operators used for applying routing modifications to a BSP solution are based on the ones given by Hu and Lim (2014) for the TOPTW and are presented in the following. As already stated for the packing moves, they are applied only if they produce feasible and improving BSP solutions.Vertex insertion moves insert a POI vertex into a bus route. Obviously, the inserted POI must not be already present in the bus route involved.Vertex exchange moves replace a POI vertex visited by a bus with another POI. First, the removed POI vertex is taken out of the bus route, and then the new POI is inserted into the route position yielding the minimal travel time increase.Vertex relocation moves relocate a POI vertex visited by a bus to another position in the same bus or to another bus.Vertex swap moves swap the visit positions for a pair of POI vertices. This modification can be applied within a single bus or between a bus pair.2‐opt moves replace a pair of arcs from the solution. If both arcs involved belong to the same bus route, this is done by reversing the route segment, lying between the replaced arcs. Otherwise, each of the two bus routes involved in the move are split in their beginning and terminating parts. The beginning part of the first route is connected to the terminating part of the second and vice versa.Note that the last three operators are widely used for routing problems and detailed descriptions are given in Zachariadis and Kiranoudis (2011).The moves defined by the seven presented basic move types are evaluated in a random order. The proposed algorithm applies the first improving move which leads to a feasible BSP solution. Note that as explained earlier an improving solution either increases the solution profit or reduces the total travel time if the profit is not modified.MIP‐based movesIf no improving solution can be identified by the above‐presented basic LS operators, or in other words when the incumbent solution is locally optimal with respect to the basic operators, two MIP‐based moves are performed. Inherently, these moves can directly apply wider solution modifications compared to the basic operators.As illustrated below, the MIP‐based moves are executed with a specific time limit, and they are applied only if no improving solution can be identified by the basic LS operators. Therefore, packing moves are also important to improve the solution. In addition, the MIP‐based moves use a starting point for the MIP solver as the incumbent solution and the incumbent lower bound for pruning, hence the packing moves can reduce the computational effort of the MIP solver.The first MIP‐based move solves GAP models (14)–(17), by fixing all bus routes to their current state. For a given vehicle k∈K$k\in K$, the profit of serving group j∈T$j\in T$ is computed as p¯jk=∑i∈Pkpji${\bar{p}}_j^k=\sum _{i\in P_k} p_{ji}$, where Pk⊆P$P_k\subseteq P$ is the set vertices visited by bus k. The GAP model is solved by CPLEX setting a run time limit of 10 seconds. If a feasible and improved solution is obtained, the LS procedure resumes to the basic moves. Otherwise, the following second MIP‐based move is executed.The second MIP‐based move optimizes bus routes, by fixing tourist group assignments to their current state. If the maximal number of POI visits L does not exceed the number of buses in use, the problem can be decomposed into a set of OPTW models, one for each vehicle. For vehicle k∈K$k\in K$ currently carrying the tourist group set Tk⊆T$T_k\subseteq T$, the profit collected when visiting POI i∈$i\in$ P is p¯ik=∑j∈Tkpji${\bar{p}}_i^k=\sum _{j\in T_k} p_{ji}$. Then, the OPTW associated with vehicle k is formulated as follows:22OPTW(k)max∑i∈Pp¯iksik$$\begin{equation} \text{OPTW}(k) \quad \max \quad \sum _{i \in P} \bar{p}^k_i s^k_i \end{equation}$$23s.tsik∈{0,1},∀i∈P,$$\begin{equation} \qquad\qquad\quad\ \ \text{s.t} \qquad s^k_i \in \lbrace 0, 1\rbrace , \qquad \forall i \in P, \end{equation}$$24(sk,xk,δk)∈X2.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ (\mathbf {s}^k, \mathbf {x}^k, {\boldmath {\delta }}^k) \in X_2. \end{equation}$$The OPTW models are solved by a variant of the B&C implementation of the Benders decomposition method described in Section 5.1, which uses the infeasibility cuts and the LazyConstraintCallback function. To separate the infeasibility cuts, the subproblem is solved as described in Section 5.2.On the contrary, if the number of buses in use exceeds the maximal number of POI visits L, we solve a TOPTW variant formulated as follows:25(TOPTW)max∑k∈K∑i∈Pp¯iksik$$\begin{equation} (\text{TOPTW}) \quad \max \quad \sum _{k \in K}\sum _{i \in P} \bar{p}^k_i s^k_i \end{equation}$$26s.t∑k∈Ksik≤L,∀i∈P,$$\begin{equation} \qquad\qquad\quad\ \ \ \text{s.t} \quad\ \ \ \sum _{k \in K} s^k_i \le L, \qquad \forall i \in P, \end{equation}$$27sik∈{0,1},i∈P,$$\begin{equation} \qquad\qquad\qquad\qquad\ \ s^k_i \in \lbrace 0, 1\rbrace , \qquad i \in P, \end{equation}$$28(s,x,δ)∈X2.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ (\mathbf {s}, \mathbf {x}, {\boldmath {\delta }}) \in X_2. \end{equation}$$The TOPTW is also solved by a variant of the B&C implementation of the Benders decomposition method (Section 5.1).The OPTW model for each vehicle, as well as the TOPTW model are both NP‐hard problems, which are difficult to be solved to optimality within short computational times. To embed the MIP‐based moves that repeatedly solve the aforementioned problems through the search process, CPLEX solver was used with a CPU time bound of 10 seconds. This bound is proved sufficient in improving the incumbent solution, as described in the computational experiments. In addition, to speed up the TOPTW moves, the profit of the incumbent solution (to be improved by the MIP‐based moves) was used as the primal bound to prune unpromising branches in the BranchCallback function of CPLEX.The application of MIP‐based moves requires repetitively solving the relevant GAP, OPTW, and TOPTW models. To improve the efficiency of the proposed metaheuristic, it is essential to avoid any duplicate solver calls for the same model instance. To achieve this, the algorithm keeps track of the individual model instances that have been solved and filters out any unnecessary solver calls. This is done by caching the profit vectors that uniquely define a specific instance of the three models, when this instance is solved for the first time.As already stated, if the MIP‐based moves manage to produce a feasible and improving solution, the LS procedure resumes with the application of the basic moves, in a cyclic manner. Otherwise, the LS procedure is terminated.Computational experimentsThis section reports computational experiments performed with the proposed Benders decomposition and ILS algorithms on newly generated BSP benchmark instances of diverse characteristics. We present extensive experimental analysis with three main aims. First, we evaluate the performance of our algorithms. Second, we conduct experiments to measure the contribution of each main component of the algorithms. Finally, we evaluate the impact of different profit patterns on the obtained solutions.Both methods were coded in C++ and executed on a single core of an Intel(R) Core(TM) CPU i7‐6700 processor clocked at 3.40 GHz. To solve the various MIP problems, IBM ILOG CPLEX 12.8.0 (IBM CPLEX, 2018) was used. Both the newly introduced BSP benchmark instances and detailed computational results are available at http://www.computational‐logistics.org/orlib/bsp.Benchmark instancesAs mentioned in the introduction, the BSP is a new VRPP variant, and no benchmark instances are available in the literature. Moreover, our problem is also motivated by practical TTDPs, but no real‐world BSP data are available. Therefore, we generate a new set of instances based on our experience on related practical applications and on the existing literature (Vansteenwegen et al., 2019b). In particular, we focus on the definition of the profit values to analyze the impact of different profit patterns. Toward this aim, different configurations of the graph, tourist groups, profit values, and bus fleet, were used, as described in the following.Four distinct sets of POI locations were considered to represent four distinct graphs. The sizes of these sets are 10, 20, 30 and 40. Each graph is generated by randomly generating the depot and POIs coordinates in the Euclidean plane. The travel time matrix [t̂il]$[\hat{t}_{il}]$ is generated by setting t̂il=⌊dij+0.5⌋$\hat{t}_{il}=\lfloor d_{ij} + 0.5 \rfloor$, where dij$d_{ij}$ is the Euclidean distance between vertex i and j. For each of these four graphs, two TW configurations were considered: the first one corresponds to four‐hour tours and the second one to eight‐hour tours. Specifically, for the bus station TW, e0=0$e_0 = 0$ and l0 are set to the maximum duration of a complete bus tour (240 minutes or 480 minutes). The TWs and service times of POIs were randomly generated. Thus, in total eight different network configurations were generated. Given a network, the following information is defined in order to construct a complete BSP benchmark instance: tourist groups, bus fleet, and profit table. In terms of the groups, two tourist group sizes were used: 30 groups and 60 groups. The number of people within each group was generated randomly so that the 30‐group problems involve 90 people and the 60‐group problems involve 180 people. Values qj$q_j$ are integers in the interval [1,5]. Regarding the bus fleet, we have used three different configurations for the tourist group sizes considered. These configurations are reported in Table 1. Thus, in total 48 test problems without considering the profit table were generated.1TableConfigurations of tourist groups and bus fleetNumber of tourists groupsVehicle type (VT)Number of buses × Capacity3014 × 30 people(90 people)22 × 60 people34 × 30 people and 1 × 60 people6016 × 30 people(180 people)23 × 60 people33 × 30 people and 2 × 60 peopleA profit table [pji]$[p_{ji}]$ defines the profit enjoyed by tourist group j∈T$j \in T$ visiting POI i∈P$i \in P$. Three different profit tables were generated for each graph and tourist group pair. The rationale was to capture cases of random, dissimilar, and similar preferences of tourists among the POIs of a touristic destination. These three profit tables are called PT, PT‐D, PT‐S, respectively.PT (uniform profits): In this matrix, about 30% of the profit values are set to 0 and the rest of the profit values have been uniformly set into a predefined interval. Then, the various profit values are normalized, so that ∑i∈Ppji=100,∀j∈T$\sum _{i \in P} p_{ji} = 100, \forall j \in T$. This is to ensure that all tourist groups are equally considered in terms of their POIs preference.PT‐D (dissimilar profits): For each j∈T,i∈P$j \in T, i \in P$ pair, the profit enjoyed by tourist group j when visiting POI i is set to pji=sin(θ(j)+ϕ(i))$p_{ji}=sin(\theta (j) + \phi (i))$, where ϕ(i)=2iπ/|P|$\phi (i)=2i\pi /|P|$ and θ(j)=2jπ/|T|$\theta (j)=2j\pi /|T|$. If pji<0$p_{ji}&lt;0$, then we set pji=0$p_{ji}=0$. Again, the final profit matrix is obtained by normalizing the various pji>0$p_{ji}&gt;0$ values, so that the total profit enjoyed by each group over all POIs is equal to 100. Using this strategy, contrasting POI preferences are promoted among tourist groups.PT‐S (similar profits): For the first tourist group j=0$j=0$, we randomly generate uniformly distributed profit values. Given the first row of the profit matrix, the profit values for the rest of the rows pji,0<j<|T|,0≤i<|P|$p_{ji}, 0 &lt; j&lt;|T|, 0 \le i &lt; |P|$ are uniformly distributed within a symmetric interval around p0i$p_{0i}$. Finally, the resulting profits are normalized, as earlier described. This class of profit matrices reflects tourists with similar POI preferences.For each of the 48 test cases, 3 profit matrices are generated as per the abovementioned classes, resulting in a total of 144 instances. Finally, the maximum allowed visits per POI L takes values from {1,3,5,+∞}$\lbrace 1, 3, 5, +\infty \rbrace$, where L=+∞$L=+\infty$ means that no restrictions are imposed on the number of visits of each POI. Thus, in total 576 (i.e., 144 × 4) complete BSP test instances were generated and solved by the proposed methodologies.Results of the proposed Benders decomposition methodOur exact method based on Algorithm 1, called BDM, has been implemented using the B&C solution framework provided by ILOG CPLEX. BDM adds the different valid inequalities, capacity constraints (6), lifted cover cuts (8), infeasible path elimination constraints (9) and (10), by means of the UserCutCallback function of CPLEX. Further, BDM also invokes a primal heuristic using the HeuristicCallback function. To analyze the effectiveness of the different components of BDM, we compare the following variants by computational tests.BDM‐1: only capacity constraints (6) and function HeuristicCallback (HEU) are used, that is, UserCutCallback is not used and thus neither lifted cover cuts nor infeasible path elimination constraints are separated, but HeuristicCallback is enabled.BDM‐2: only capacity constraints (6), lifted cover cuts (8), and HEU are used, that is, only lifted cover inequalities are separated in the UserCutCallback, and also HeuristicCallback is used. No infeasible path elimination constraints are separated.BDM‐3: only capacity constraints (6), lifted cover cuts (8), and infeasible path elimination constraints (9) are used, that is, both lifted cover cuts and infeasible path elimination constraints are separated in the UserCutCallback, but HeuristicCallback is not used.BDM: complete version of the exact method, where capacity constraints (6), lifted cover cuts (8), infeasible path elimination constraints (9) and (10), and HEU are used, that is, both lifted cover cuts and infeasible path elimination constraints are separated in the UserCutCallback and HeuristicCallback is used.The four implementations are tested on instances with 30 tourist groups and up to 20 POIs. A time limit of 7200 seconds was imposed on each run. Further, in our experiments, all CPLEX cuts are switched on.Table 2 shows the results of versions BDM‐1, BDM‐2, and BDM, whereas Table 3 reports the results of BDM‐3 and BDM. In these tables, each row gives the results on eight instances corresponding to two networks graphs and four values of parameter L. Each test set is identified by three columns |P|$|P|$, VT, and PT, which represent the number of POIs, the type of bus fleet (see Table 1), and profit matrix, respectively. In both tables, the percentage gap between the obtained primal LB$LB$ and dual bound UB$UB$ is evaluated as Gap=100.0×UB−LBUB$\mathit {Gap} = 100.0 \times \frac{\mathit {UB} - \mathit {LB}}{\mathit {UB}}$. Columns #opt, g(%)$g(\%)$, #node, t (seconds) under each algorithm version indicate the number of instances solved to optimality, the average percentage gap, the average number of nodes explored by the BC algorithm, and the average computing time in CPU seconds computed over the instances solved to optimality, respectively.2TablePerformance analysis on lifted cover cuts and infeasible path elimination constraints of BDM with |T|=30$|T| = 30$BDM‐1BDM‐2BDM|P|$|P|$VTPT#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)101PT‐D80.007220.421.580.005530.119.380.004129.324.0PT‐S25.56413,866.65424.925.51388,157.15412.451.8596,351.52748.3PT25.81437,362.65414.625.13309,814.65414.051.28178,248.32938.02PT‐D80.00342.40.780.00269.00.680.00217.61.0PT‐S53.67345,679.42745.853.66405,371.12706.180.00576.54.7PT80.0026,460.1144.380.002796.16.480.00638.42.93PT‐D80.001725.44.480.001194.44.080.00890.54.7PT‐S54.69287,819.02715.454.75296,680.42721.980.008595.9104.3PT25.67413,819.45401.334.54346,244.15062.580.0012,382.171.2201PT‐D036.28222,598.37200.3037.11214,690.67200.4030.97155,677.37200.2PT‐S041.04266,417.67200.2040.97233,475.97200.2032.6787,307.37200.2PT049.20274,042.57200.2048.61214,220.37200.3045.81136,807.07200.22PT‐D422.90299,132.83605.5422.72250,837.33605.7417.5869,901.53610.2PT‐S033.43357,732.87200.1031.97304,740.47200.1414.1454,157.63626.7PT428.60229,439.03696.0427.10180,092.93635.4421.47103,456.03628.43PT‐D425.70234,984.64587.3423.11197,284.04180.8415.95122,127.34709.5PT‐S038.04328,218.97200.2033.90267,429.87200.2215.21113,111.96151.3PT040.04361,030.07200.3138.21318,780.97021.7130.52163,867.06675.5All6018.92250,438.42813.56218.18218,756.03060.88512.6472,691.32286.73TablePerformance analysis on heuristic callback of BDM with |T|=30$|T| = 30$BDM‐3BDM|P|$|P|$VTPT#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)101PT‐D80.0012902.950.380.004129.324.0PT‐S52.45126,216.02757.651.8596,351.52748.3PT52.46198,124.62979.051.28178,248.32938.02PT‐D80.00427.00.980.00217.61.0PT‐S80.00712.94.280.00576.54.7PT80.001753.44.180.00638.42.93PT‐D80.001982.16.980.00890.54.7PT‐S80.007814.979.080.008595.9104.3PT51.69358,385.32713.480.0012,382.171.2201PT‐D033.52171,660.47200.2030.97155,677.37200.2PT‐S033.0396,923.07200.2032.6787,307.37200.2PT047.45149,452.17200.2045.81136,807.07200.22PT‐D419.3182,959.13606.4417.5869,901.53610.2PT‐S415.5852,458.63625.9414.1454,157.63626.7PT423.0895,087.43628.0421.47103,456.03628.43PT‐D125.32196,756.06361.0415.95122,127.34709.5PT‐S222.27116,714.05917.3215.21113,111.96151.3PT132.51197,168.06755.4130.52163,867.06675.5All7914.37103,749.92566.08512.6472,691.32286.7The results reported in Table 2 show the effectiveness of the valid inequalities. Indeed, using the lifted cover inequalities, BDM‐2 is able to obtain two more optimal solutions compared to the BDM‐1 version, whereas the average gap of the dual bound is also improved. For the instances solved to optimality by both BDM‐1 and BDM‐2 versions, BDM‐2 significantly reduces the number of nodes explored. The results obtained by the complete BDM version shows that the two sets of infeasible path elimination cuts (9) and (10) are also effective. Indeed, BDM is able to solve 23 more test instances to optimality compared to BDM‐2. Moreover, the average percentage gap is reduced by 5.54%, and the average number of nodes is also reduced by 66.8%. It is worth noting that all CPLEX cuts were used in all the different BDM versions and, in particular, in version BDM‐1. Hence, the addition of the new cuts (8), (9), and (10) in the other BDM versions also achieves improvements with respect to the CPLEX cuts.The results reported in Table 3 indicate that the use of HeuristicCallback is effective in improving the primal bounds, and the overall performance of BDM. With the use of the heuristic callback, BDM outperforms BDM‐3, both on the number of instances solved to optimality and on the quality of the final bounds. The main advantage of using the heuristic callback is that BDM is capable of identifying good primal bounds at the early stages of the enumeration tree exploration.Tables 2 and 3 show that the effectiveness of the exact method owes to the proposed valid inequalities and the primal heuristic, which are helpful in improving the upper and lower bounds, respectively.Table 4 reports detailed results of the BDM version on instances with up to 20 POIs. The following columns are reported in the table: the number of instances of the corresponding group of instances (#inst), number of instances solved to optimality (#opt), the average percentage gap at the root node of the enumeration tree (groot$g_\mathit {root}$ (%)), the final average percentage gap (g (%)), the average computing time (t (seconds)), the average time spent for the lazy constraint callback (tlazy$t_\mathit {lazy}$), the average time spent for separating lifted cover cuts (tcover$t_\mathit {cover}$), the average time spent for separating infeasible path elimination constraints (tp$t_p$), the average time for the heuristic callback function (th$t_h$), the average time spent for solving the TSPTW subproblems (tTSPTW$t_\mathit {TSPTW}$), and the average number of lifted cover cuts and infeasible path elimination constraints identified (#cover and #IPEC, respectively). All computing times are given in seconds.4TableDetailed result of BDM on small‐sized instancesP|T|$|T|$VTPT#inst#optgroot$g_\mathit {root}$ (%)g (%)#nodet (seconds)tlazy$t_\mathit {lazy}$tcover$t_\mathit {cover}$tp$t_p$ttsptw$t_\mathit {tsptw}$th$t_h$#cover#IPEC10301PT‐D8864.330.004129.324.00.15.32.80.30.286.3675.1PT‐S8562.581.8596,351.52748.34.5258.4306.58.63.45840.569,025.1PT8555.341.28178,248.32938.02.3348.8345.710.87.25137.585,107.12PT‐D8843.400.00217.61.00.10.30.20.10.03.652.0PT‐S8855.560.00576.54.70.11.10.60.20.030.6280.0PT8848.250.00638.42.90.11.00.50.20.022.5223.03PT‐D8854.540.00890.54.70.11.20.60.20.130.8167.9PT‐S8839.020.008595.9104.30.816.014.90.80.3944.35074.3PT8852.290.0012,382.171.20.519.113.40.80.5315.35179.010601PT‐D8470.024.2681,592.14325.60.5535.1487.53.49.55204.619,841.5PT‐S8256.605.6550,479.05534.12.2413.3446.33.55.34957.815,555.1PT8169.0612.7290,724.96635.61.2663.0589.04.09.44291.922,546.62PT‐D8864.230.00734.613.20.22.91.40.20.153.5178.4PT‐S8859.990.00830.629.50.13.01.40.10.253.6154.3PT8860.870.0013,268.8234.60.453.941.50.80.7466.15518.83PT‐D8867.120.0053,164.41462.90.5202.273.11.05.31125.04215.3PT‐S8461.381.0266,585.84437.11.9350.4354.23.88.43133.017,465.3PT8266.767.8899,069.35478.42.0673.7645.45.412.71743.535,203.120301PT‐D8083.5630.97155,677.37200.213.4563.71079.1134.811.93663.590,567.9PT‐S8087.9832.6787,307.37200.212.6365.9791.0116.07.52383.566,002.3PT8092.4845.81136,807.07200.29.1579.91103.9122.511.32237.410,9731.62PT‐D8479.1717.5869,901.53610.2266.4639.01308.4430.93.14243.830,1860.3PT‐S8479.9314.1454,157.63626.7141.4515.61025.5326.15.58986.421,7381.5PT8483.2021.47103,456.03628.457.6689.1971.0252.23.411,968.026,9260.43PT‐D8480.0715.95122,127.34709.523.1442.9832.6147.36.03833.4121,056.3PT‐S8280.2515.21113,111.96151.318.5342.8621.1107.46.83713.486,029.0PT8185.7730.52163,867.06675.516.3513.5766.7119.012.34480.1113,779.420601PT‐D8081.5439.1140,514.37200.43.8545.6720.626.45.71100.911,518.1PT‐S8087.5453.0722,171.07200.419.6358.2585.917.05.61583.18825.9PT8088.9450.6531,441.57200.48.1500.8927.831.45.0980.415,196.52PT‐D8482.1019.7784,886.96073.316.4746.91348.8117.63.93842.074,393.5PT‐S8184.5028.1365,872.36659.312.4528.3870.959.94.81777.043,563.0PT8088.3139.1996,351.47200.311.6878.01278.777.511.41535.473,268.93PT‐D8084.1734.2754,532.07200.34.8597.7613.528.314.01193.714,331.5PT‐S8081.3646.5534,710.07200.318.3418.3519.419.711.61021.810,680.8PT8086.4948.7247,700.37200.314.7545.3616.921.911.8721.314,776.3All28813571.0516.5562,740.82933.219.2366.2534.662.05.52614.554,585.0The results of Table 4 indicate that the BSP is a challenging VRP with profits, and that the generated set of benchmark instances represent difficult BSP test cases. Indeed, the average percentage gap at the root node is about 70%. However, the final average gap obtained by BDM is significantly reduced to about 16%, demonstrating the effectiveness of the proposed method. Regarding the different valid inequalities, the table shows that several lifted cover cuts and infeasible path elimination constraints are identified. Their use is effective not only at the root node but also during the enumeration tree. However, the corresponding separation times are relevant as shown by columns tcover$t_\mathit {cover}$ and tp$t_p$. BDM computes optimal solutions for 135 of 288 instances. The CPU time results show that both the heuristic and the TSPTW subproblems can be efficiently solved.Table 5 gives an overview of the results of Table 4 as a function of the profit tables and the vehicle types. The table reports the total number of instances solved to optimality (#opt) and the average of the final gaps computed (g(%)$g(\%)$) for each main parameter. The overview shows that the profit tables based on the uniform profits (variant PT) are more challenging for our method, as testified by the number of instances solved to optimality (37 over 96 instances) and the final average percentage gap equal to 21.5%. Regarding the different vehicle types, the table shows that instances with lower vehicle capacities (capacity equal to 30 people) are more difficult than instances involving larger vehicles (with capacity up to 60 people), as also testified by the final average percentage gaps.5TableResults overview on the small‐sized instancesProfit tables#optg(%)$g (\%)$Vehicle types#optg(%)$g (\%)$PT37/9621.5125/9623.2PT‐D56/9613.5265/9611.7PT‐S42/9616.5345/9616.7Results of the ILS algorithmThis section reports on the computational experiments performed with the use of the proposed ILS metaheuristic. The packing and routing moves (see Section 6.3) are standard solution modification mechanisms that have proven to be effective for BSP‐related problems. Using the aforementioned moves as the basis for comparisons, we perform computational experiments to assess the effectiveness of the MIP‐based moves. We consider the following versions of the ILS algorithm.ILS‐1: the basic implementation of the ILS using only packing and routing moves (without MIP‐based moves);ILS‐2: version ILS‐1 equipped with GAP moves;ILS‐3: version ILS‐1 equipped with OPTW/TOPTW moves;ILS: the complete version of the ILS, equipped with all move types.The four ILS versions were tested on instances with 20 POIs, 60 tourist groups and a maximum bus tour duration of four hours. Each run was terminated after the completion of 600 CPU seconds, or 200 nonimproving iterations, that is, parameters Tmax$T_{max}$ and Imax$I_{max}$ are set equal to 600 and 200 in Algorithm 2, respectively (the values of the parameters were identified as results of preliminary experiments, which were conducted to identify good parameter settings). The obtained results are provided in Table 6. Each row corresponds to a single benchmark instance. For sake of the exposition, we name a benchmark instance as xP‐yT‐zTW‐tVT‐lMV‐mat$mat$ represents a BSP test case that involves x POIs, y tourist groups, z∈{4,8}$z \in \lbrace 4,8\rbrace$ maximum tour duration, t∈{1,2,3}$t \in \lbrace 1,2,3\rbrace$ the vehicle type, l∈{1,3,5,+∞}$l \in \lbrace 1,3,5,+\infty \rbrace$ maximum visits per POI (L), and mat$mat$ type of profit matrix. Column Profit reports the best solution value and column t (seconds) reports the computing time in seconds. For ILS‐2, ILS‐3, and ILS, column impr (%) reports the solution improvement percentage with respect to ILS‐1 solution.6TableAnalysis on the main optimization‐based movesILS‐1ILS‐2ILS‐3ILSInstanceProfitt (seconds)Profitimpr (%)t (seconds)Profitimpr (%)t (seconds)Profitimpr (%)t (seconds)toptw$t_{optw}$ttoptw$t_{toptw}$tgap$t_{gap}$20P‐60T‐4TW‐1VT‐1MV‐PT13740.114032.116.413790.3617.614092.5531.8027.54.220P‐60T‐4TW‐1VT‐1MV‐PT‐D19510.120283.954.120525.1818.420525.1812.409.03.320P‐60T‐4TW‐1VT‐1MV‐PT‐S10860.111203.1316.910991.2081.811324.2470.3065.94.420P‐60T‐4TW‐2VT‐1MV‐PT13890.114202.232.214695.76307.114856.91414.30412.61.620P‐60T‐4TW‐2VT‐1MV‐PT‐D20610.120931.551.121765.5831.421765.5823.6022.60.920P‐60T‐4TW‐2VT‐1MV‐PT‐S12690.212710.162.512690601.812710.16601.10600.40.720P‐60T‐4TW‐3VT‐1MV‐PT14930.11468−1.674.91493047.415161.5453.4050.72.620P‐60T‐4TW‐3VT‐1MV‐PT‐D21750.122111.664.422111.6619.022111.6613.2011.12.120P‐60T‐4TW‐3VT‐1MV‐PT‐S12700.112730.243.412720.16162.612760.47117.80115.22.420P‐60T‐4TW‐1VT‐3MV‐PT16330.116782.765.51631−0.12602.516380.31474.40471.23.120P‐60T‐4TW‐1VT‐3MV‐PT‐D23030.223441.7812.023542.21335.223542.21163.40159.83.420P‐60T‐4TW‐1VT‐3MV‐PT‐S13940.21345−3.527.714030.65579.61379−1.08603.90603.70.220P‐60T‐4TW‐2VT‐3MV‐PT15110.115905.233.916398.47249.116317.94173.5172.401.020P‐60T‐4TW‐2VT‐3MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.400.920P‐60T‐4TW‐2VT‐3MV‐PT‐S12950.113615.102.514249.96159.014249.96142.4141.500.820P‐60T‐4TW‐3VT‐3MV‐PT17180.11689−1.696.117320.81611.81667−2.97605.70605.60.120P‐60T‐4TW‐3VT‐3MV‐PT‐D22530.12190−2.802.023052.31327.723122.62236.80234.82.020P‐60T‐4TW‐3VT‐3MV‐PT‐S14310.114340.212.71421−0.70602.514310608.80608.60.220P‐60T‐4TW‐1VT‐5MV‐PT16450.216832.314.717345.41603.817566.75438.10434.33.720P‐60T‐4TW‐1VT‐5MV‐PT‐D23150.22238−3.333.623541.68408.123541.68417.20414.22.920P‐60T‐4TW‐1VT‐5MV‐PT‐S13710.113800.663.414163.28608.014264.01543.90540.63.320P‐60T‐4TW‐2VT‐5MV‐PT15110.115905.233.916398.47248.616317.94173.2172.101.020P‐60T‐4TW‐2VT‐5MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.400.920P‐60T‐4TW‐2VT‐5MV‐PT‐S12950.113615.102.514249.96159.714249.96142.6141.800.820P‐60T‐4TW‐3VT‐5MV‐PT16910.116980.412.317573.90192.317493.43129.3127.202.020P‐60T‐4TW‐3VT‐5MV‐PT‐D22640.12211−2.342.323162.305.023142.2112.19.702.320P‐60T‐4TW‐3VT‐5MV‐PT‐S14300.11422−0.562.714410.77105.314410.77154.0150.903.020P‐60T‐4TW‐1VT‐∞MV‐PT16740.217132.338.017776.15190.217725.85157.0153.603.320P‐60T‐4TW‐1VT‐∞MV‐PT‐D23370.12193−6.163.423540.738.623540.736.23.003.120P‐60T‐4TW‐1VT‐∞MV‐PT‐S13870.11344−3.104.514353.46119.414383.68122.0118.503.420P‐60T‐4TW‐2VT‐∞MV‐PT15110.115905.233.916398.47248.416317.94173.1172.001.020P‐60T‐4TW‐2VT‐∞MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.301.020P‐60T‐4TW‐2VT‐∞MV‐PT‐S12950.113615.102.514249.96160.114249.96142.1141.300.820P‐60T‐4TW‐3VT‐∞MV‐PT16910.116980.412.317573.90192.417493.43129.1127.002.120P‐60T‐4TW‐3VT‐∞MV‐PT‐D22640.12211−2.342.323162.304.923142.2112.19.702.320P‐60T‐4TW‐3VT‐∞MV‐PT‐S14300.11422−0.562.714410.77105.714410.77153.9150.803.0All61,1010.161,2460.244.163,0813.24225.963,1103.29202.150.3149.72.0For the complete version ILS, column toptw$t_{optw}$, ttoptw$t_{toptw}$, and tbpp$t_{bpp}$ provides the computational time required for solving the OPTW, TOPTW, and GAP models (MIP‐based moves), respectively.In terms of the solution profit, it is evident that the incorporation of the MIP‐moves leads to significant solution improvements. Incorporating the GAP moves (ILS‐2) in the basic scheme (ILS‐1) improves the solution quality obtained for 22 of the 36 test cases, with an average improvement of 0.24%. The required CPU times are significantly increased, however the heuristic remains very fast (about four CPU seconds, on average). The solution improvement effect is stronger for the OPTW/TOPTW moves (ILS‐3). Compared to the basic scheme (ILS‐1), the OPTW/TOPTW moves manage to improve 32 of the 36 solutions, whereas the average improvement is about 3.2%. However, the CPU times required for solving the OPTW and TOPTW models increase the average total run time to about 226 seconds. The complete algorithm version (ILS) outperforms all three other versions, regarding the profit objective for all 36 benchmark instances, with an average total run time of about 202 seconds. This is lower than the ILS‐3 version, since in the complete version half of the MIP‐based moves correspond to the solution of the easier GAP model.To further verify the effectiveness of the ILS moves, we also considered the following versions of the basic implementation ILS‐1 (see also Section 6.3.1):ILS‐1‐a: without group relocation moves;ILS‐1‐b: without the option of reversing a route segment in the 2‐opt moves;ILS‐1‐c: without the packing moves (group relocation and group swap).To verify the impact of the packing moves on algorithm ILS, we also considered an additional version of the algorithm, denoted as ILS‐4, which is obtained by disabling the packing moves.For these experiments, we considered the instances with |P|=20$|P|=20$ and |T|=60$|T|=60$. In particular, we analyze the results obtained by grouping the instances based on the type of TW constraints, that is, four‐hour tours (named 4TW) and eight‐hour tours (8TW), for a total of 36×2=72$36 \times 2 = 72$ instances.The results obtained are summarized in Table 7. For each version of implementations and group of instances (type of TW and profit matrices “PT”), the table shows the average percentage gaps of the different versions with respect to the basic version ILS‐1, that is, g(%)=100×(z(ILS-1)−z(ILS-1-x))/z(ILS-1)$g(\%)=100\times (z(\text{{ILS}-1})-z(\text{{ILS}-1-x}))/z(\text{{ILS}-1)}$, x∈{a,b,c}$x \in \lbrace a,b,c\rbrace$, where z(ILS-1)$z(\text{{ILS}-1})$ and z(ILS-1-x)$z(\text{{ILS}-1-x})$ are the total sum of the profits of the instances in the group for ILS‐1 and ILS‐1‐x, respectively. For version ILS‐4, column g(%)$g(\%)$ gives the average gaps of algorithms ILS and ILS‐4. For all the algorithm versions considered, columns t(%)$t(\%)$ report the average percentage gap of computing times. The last line of the table reports the average gaps computed over the different group of instances. In the table, because of the maximization objective, a gap g(%)$g(\%)$ greater than zero indicates that the corresponding version shows worse average performance with respect to the reference version. Conversely, regarding columns t(%)$t(\%)$, a gap greater than zero indicates that the corresponding version has improved average performance with respect to the reference version.7TableAnalysis on the optimization‐based moves: relocation, 2‐opt, and packing movesILS‐1‐aILS‐1‐bILS‐1‐cILS‐4TWPTg(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$4TWPT−0.2816.60.483.218.7745.0−0.1120.9PT‐D1.1214.20.36−0.335.1433.50.1137.8PT‐S0.6924.5−0.500.66.6538.3−0.0723.28TWPT1.7412.82.335.314.0628.0−0.085.1PT‐D1.51−8.10.68−12.935.7133.10.0727.6PT‐S1.994.51.020.75.3620.3−0.042.71.2810.70.86−0.521.6332.8−0.0112.1The results obtained can be summarized as follows:The results of version ILS‐1‐c shows that the packing moves greatly play a key role in improving the quality of the solutions of the basic version ILS‐1 and that the additional computational times is worth it. The moves are particularly useful for profit matrices PT‐D showing dissimilar preferences of tourists among the POIs, a case close to the practice.The comparison between ILS‐1‐a and ILS‐1‐c shows that the main source of the improvements of ILS‐1‐c can be attributed to the group swap moves. Regarding the group relocation moves, because the size of a group ranges in [1, 5] which is relatively small compared to the vehicle capacity (30 and 60), this type of move could be useful being the group sizes small. Indeed, the group relocation moves are useful if some buses have some empty seats in a BSP solution, that is, if ∑k∈KQk>∑j∈Tqj$\sum _{k \in K} Q_k &gt; \sum _{j \in T} q_j$. For example, as shown in Table 1, for the instances with 30 groups, the total number of available seats is a bit larger than the number of people.The analysis of version ILS‐1‐b shows that removing the reversing of a route segment produces on average worse solutions as shown by the average gap equal to about 1%. This is particularly true for the instances with eight‐hour tours (8TW) showing weaker TW constraints than the 4TW group of instances.The results of version ILS‐4 indicate that ILS‐4 produces on average slightly improved solutions than ILS, at a slightly lower average computing time. However, it is worth noting that on the profit matrices of type PT‐D, ILS‐4 obtains on average worse results than ILS, thus showing the importance of using the packing moves for profit matrices of type PT‐D.Table 8 reports a comparison between the exact method BDM and the ILS algorithm on the set of instances involving up to 20 POIs and 30 groups. For sake of the comparison, five ILS executions were made, each using a different seed value for the various random decisions. Each row of Table 8 corresponds to a set of eight benchmark instances (four L values and two bus tour duration limits). Average values over the eight instances are given as follows: Column Profit reports the average total profits and column t (seconds) provides the average CPU time in seconds. Since ILS was run five times for each test set, columns Best profit, Avg profit, Best impr (%), and Avg impr (%) provide the total profit of the best solutions found (over the five runs), the average profit value (over the five runs), the percentage of profit improvement of the best ILS solutions with respect to the BDM solutions, the percentage of profit improvement of the average ILS solutions (over the five runs) with respect to the BDM solutions.8TableComparison results on small‐sized instancesBDMILS|P|$|P|$|T|$|T|$VTPTProfitt (seconds)Best profitAvg profitBest impr (%)Avg impr (%)t (seconds)10301PT‐D18,07824.018,07818,0780.000.001.5PT‐S13,5592748.313,56513,5650.040.043.5PT14,7362938.014,75514,748.60.130.094.42PT‐D16,8011.016,80116,8010.000.000.7PT‐S14,3084.714,30814,307.40.000.001.3PT14,7012.914,70114,698.60.00−0.021.23PT‐D18,0244.718,02818,0280.020.021.1PT‐S14,398104.314,39814,3980.000.002.3PT15,18971.215,18915,1720.00−0.112.710601PT‐D34,0974325.634,12034,1200.070.075.3PT‐S27,0615534.127,10827,102.20.170.1512.7PT28,3126635.628,64328,585.21.170.9611.72PT‐D35,58013.235,58035,5800.000.001.4PT‐S30,50829.530,50830,421.60.00−0.282.6PT29,758234.629,75829,7240.00−0.113.23PT‐D35,9231462.935,90835,848.2−0.04−0.214.5PT‐S30,2254437.130,22730,226.80.010.018.0PT30,2285478.430,28730,196.80.20−0.107.220301PT‐D11,0237200.212,22712,19010.9210.5927.8PT‐S97127200.2984298201.341.11388.6PT84257200.290478975.87.386.54238.52PT‐D97763610.210,18810,150.24.213.83244.9PT‐S10,1023626.710,26210,206.81.581.04340.6PT82353628.485548425.23.872.31307.63PT‐D10,9474709.511,66611,664.86.576.56133.2PT‐S10,2296151.310,29810,257.20.670.28353.2PT84616675.588858805.45.014.07295.920601PT‐D17,6227200.424,22024,185.437.4437.25116.8PT‐S11,4737200.414,63514,49027.5626.30453.9PT15,4527200.416,89316,700.49.338.08352.42PT‐D20,8446073.323,25323,25311.5611.56202.2PT‐S14,7806659.315,74415,642.86.525.84430.4PT15,7217200.316,87216,554.27.325.30440.93PT‐D15,7007200.324,89124,776.658.5457.8158.4PT‐S96727200.315,66915,612.462.0061.42436.9PT11,0957200.317,48617,244.657.6055.43365.1All640,7552933.2682,594680,556.26.536.21146.2The obtained results demonstrate that the proposed ILS method is effective for the BSP model. For the instances with just 10 POIs (the majority of which were optimally solved by BDM) ILS matched or improved the obtained BDM solutions. ILS improves BDM solution objectives for 8 of 18 test sets and the average improvement is about 0.09%. In addition, ILS appears to be significantly faster than BDM. For the instances of 20 POIs, ILS superiority is particularly striking. Indeed, ILS outperforms BDM both in terms of solution profit and computing times. Overall, the ILS computed slightly worse solutions only for two instances. The average solution profit increase managed by the ILS method compared to the BDM is about 6.53% over all the test instances considered in Table 8.Finally, Table 9 provides the results obtained by applying the proposed ILS method on larger BSP instances, involving up to 40 POIs and 60 groups, where again 5 ILS executions were made in order to attest its effectiveness over repeated runs. The same instance grouping and columns as in Table 8 are used. The results reported serve as a basis for future algorithmic comparisons.9TableILS results on instances with up to 40 POIs and 60 groups|P|$|P|$|T|$|T|$VTPTBest profitAvg profitt (seconds)|P|$|P|$|T|$|T|$VTPTBest profitAvg profitt (seconds)30301VTPT‐D11,01410,863.687.640301VTPT‐D77597559.2101.6PT‐S81138016.8475.1PT‐S53265216.4282.3PT80667851.4307.4PT56615523.4214.12VTPT‐D95369372.8338.82VTPT‐D67896560.2214.1PT‐S83578211.6554.6PT‐S53855253.4416.4PT77497622481.7PT55035370378.03VTPT‐D10,65610,552196.63VTPT‐D75247292.4116.9PT‐S83648280.2509.0PT‐S54425373.8389.9PT81017957.6434.4PT57105638.6274.830601VTPT‐D22,04121,759.6194.940601VTPT‐D15,61615,314.2212.0PT‐S15,95515,674471.4PT‐S10,48310,346.4382.7PT15,48215,185.4328.0PT10,38010,160.8316.82VTPT‐D21,21421,105.2507.62VTPT‐D1473114274.2346.3PT‐S17,74217,474.6600.9PT‐S11,40011,095.2590.2PT15,78315,376.8584.6PT10,37710,075.8573.03VTPT‐D22,35722,236.2290.93VTPT‐D15,61015,297.8257.3PT‐S17,50317,275.6547.7PT‐S11,38111,173.2504.8PT16,09115,756.4490.9PT10,67310,399.6422.9Both BDM and ILS algorithms could be useful in supporting the decision‐making in a sightseeing or travel company. As mentioned above, the BSP deals with a tactical problem faced by a company that wants to plan its bus tours and activities in anticipation. The designed bus routes can be part of sightseeing packages which are offered directly to tourists or sell to travel agencies as a proposal for touristic packages. According to the performance of BDM and ILS, the computational times can be compatible with the operational requirements. For small‐sized instances, BDM can find optimal solutions within a limited amount of computing time. For larger instances, the ILS is also applicable and its computing time can be tailored depending on the operational requirements. Also, in some situation where last‐minute requests are encountered or some requirements are changed, a new solution can be efficiently obtained by performing local changes to an existing plan.Conclusions and future researchIn this paper, a new VRPP is introduced, called the BSP. The BSP calls for the determination of bus routes that maximize the collected profit enjoyed by tourists on board. To do so, decisions for two levels have to be jointly made: assignment of tourists to bus routes, routing of bus routes to POIs offered by the touristic destination considered. The BSP model generalizes the known challenging VRPP, such as the team OP with TW. In particular, it can be viewed as a generalization of the TTDP by considering multiple tours and different tourist preferences on the POI locations.The paper proposes a BSP mathematical formulation. Based on this formulation, an exact logic‐based Benders decomposition methodology is designed and presented. In addition, a metaheuristic algorithm based on an ILS framework is proposed, equipped with move types which solve MIP subproblems. The exact and heuristic algorithms are extensively assessed on a set of 576 newly constructed BSP benchmark instances. These test instances have been constructed to represent challenging BSP instances of diverse characteristics regarding several aspects of the problem, such as the size of POI and tourist group sets, composition of the bus fleet, duration of the sightseeing tours and preferences of tourists to POIs. Several experiments aimed at testing the effectiveness of the various algorithmic components are performed and reported. The obtained results demonstrate that BSP instances with up to 20 POIs and 30 tourist groups can be consistently solved to optimality by the proposed exact method. In addition, high‐quality solutions can be obtained by the proposed metaheuristic algorithm for instances involving up to 20 POIs and 60 groups and instances with up to 40 POIs and 60 tourist groups were solved by the metaheuristic algorithm.We see two main topics for future research. First, we aim to investigate alternative mathematical formulations, from which deriving new dual bounds. In particular, we want to investigate set partitioning like formulations strengthened by adding valid inequalities and corresponding dual bounds computed in a column generation fashion. It is worth noting that, due to the structure of the BSP objective function, the classical set‐partitioning formulation adopted to solve several variants of the vehicle routing problem (including problems with profits) cannot be used directly to model the BSP. Moreover, as pointed out also by Gavalas et al. (2014), TTDPs might have additional, complex operational requirements and constraints, such as accessibility features of sites, each bus can perform multiple routes during its working period, multiple TW, mandatory POIs preferences, to name a few. Hence, further work will be needed to investigate how these additional requirements can be embedded into our solution approaches. Furthermore, to further test the solution algorithms, future work will also focus on collecting data from real‐world applications of the BSP.AcknowledgmentsWe thank the associate editor and the anonymous reviewers whose constructive comments helped to improve the original version of this paper. The first two authors were financially supported by the National Natural Science Foundation of China (grant nos. 72101187, 72021002, and 72171111) and the Fundamental Research Funds for the Central Universities.Open Access funding provided by the Qatar National Library.ReferencesArchetti, C., Speranza, M.G., Vigo, D., 2014. Vehicle routing problems with profits. In Toth, P., Vigo, D. (eds) Vehicle Routing: Problems, Methods, and Applications, Vol. 18. SIAM, Philadelphia, PA, pp. 273–297.Baker, E., 1983. An exact algorithm for the time‐constrained traveling salesman problem. Operations Research 31, 5, 938–945.Baldacci, R., Mingozzi, A., Roberti, R., 2012. New state‐space relaxations for solving the traveling salesman problem with time windows. INFORMS Journal on Computing 24, 3, 356–371.Baxter, J., 1981. Local optima avoidance in depot location. The Journal of the Operational Research Society 32, 9, 815–819.Benders, J.F., 1962. Partitioning procedures for solving mixed‐variables programming problems. Numerische Mathematik 4, 1, 238–252.Codato, G., Fischetti, M., 2006. Combinatorial Benders' cuts for mixed‐integer linear programming. Operations Research 54, 4, 756–766.Crowder, H., Johnson, E.L., Padberg, M., 1983. Solving large‐scale zero‐one linear programming problems. Operations Research 31, 5, 803–834.Feillet, D., Dejax, P., Gendreau, M., 2005. Traveling salesman problems with profits. Transportation Science 39, 2, 188–205.Garcia, A., Vansteenwegen, P., Arbelaitz, O., Souffriau, W., Linaza, M.T., 2013. Integrating public transportation in personalised electronic tourist guides. Computers & Operations Research 40, 3, 758–774.Gavalas, D., Konstantopoulos, C., Mastakas, K., Pantziou, G., 2014. A survey on algorithmic approaches for solving tourist trip design problems. Journal of Heuristics 20, 3, 291–328.Geoffrion, A.M., 1972. Generalized Benders decomposition. Journal of Optimization Theory and Applications 10, 4, 237–260.Gunawan, A., Lau, H.C., Vansteenwegen, P., Lu, K., 2017. Well‐tuned algorithms for the team orienteering problem with time windows. Journal of the Operational Research Society 68, 8, 861–876.Hansen, P., Mladenovié, N., Brimberg, J., Pérez, J.A.M., 2019. Variable neighborhood search. In Gendreau, M., Potvin, J.Y. (eds) Handbook of Metaheuristics. Springer International, Cham, pp. 57–97.Hooker, J.N., 2000. Logic‐Based Methods for Optimization. John Wiley & Sons, Hoboken, NJ.Hooker, J.N., Ottosson, G., 2003. Logic‐based Benders decomposition. Mathematical Programming 96, 1, 33–60.Hu, Q., Lim, A., 2014. An iterative three‐component heuristic for the team orienteering problem with time windows. European Journal of Operational Research 232, 2, 276–286.IBM CPLEX, 2018. IBM ILOG CPLEX 12.8.0 callable library. Available at https://www.ibm.com/support/pages/detailed‐system‐requirements‐ibm‐ilog‐cplex‐optimization‐studio.Labadie, N., Mansini, R., Melechovský, R. J. Wolfler Calvo, 2012. The team orienteering problem with time windows: an LP‐based granular variable neighborhood search. European Journal of Operational Research 220, 1, 15–27.Labadie, N., Melechovský, J., Wolfler Calvo, R., 2011. Hybridized evolutionary local search algorithm for the team orienteering problem with time windows. Journal of Heuristics 17, 6, 729–753.Lourenço, H.R., Martin, O.C., Stützle, T., 2019. Iterated Local Search: Framework and Applications. Springer International, Cham. pp. 129–168.Malucelli, F., Giovannini, A., Nonato, M., 2015. Designing single origin‐destination itineraries for several classes of cycle‐tourists. Transportation Research Procedia 10, 413–422.Martello, S., Toth, P., 1990. Knapsack Problems: Algorithms and Computer Implementations. John Wiley & Sons, Chichester.Mladenović, N., Hansen, P., 1997. Variable neighborhood search. Computers & Operations Research 24, 11, 1097–1100.Nemhauser, G.L., Wolsey, L.A., 1988. Integer and Combinatorial Optimization. Wiley Interscience, New York, NY.Righini, G., Salani, M., 2006. Dynamic programming for the orienteering problem with time windows. Working Paper. University of Milan.Ruiz‐Meza, J., Montoya‐Torres, J.R., 2022. A systematic literature review for the tourist trip design problem: extensions, solution techniques and future research lines. Operations Research Perspectives 9, 100228.Savelsbergh, M.W.P., 1985. Local search in routing problems with time windows. Annals of Operations Research 4, 1, 285–305.Souffriau, W., Vansteenwegen, P., Vanden Berghe, G., Van Oudheusden, D., 2013. The multiconstraint team orienteering problem with multiple time windows. Transportation Science 47, 1, 53–63.Vanderbeck, F., Wolsey, L.A., 2010. Reformulation and decomposition of integer programs. In Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds) 50 Years of Integer Programming 1958‐2008: From the Early Years to the State‐of‐the‐Art. Springer, Berlin, pp. 431–502.Vansteenwegen, P., Gunawan, A., Vansteenwegen, P., Gunawan, A., 2019a. Applications of the OP. In Orienteering Problems: Models and Algorithms for Vehicle Routing Problems with Profits. Springer International, Cham, pp. 83–93.Vansteenwegen, P., Gunawan, A., Vansteenwegen, P., Gunawan, A., 2019b. State‐of‐the‐art solution techniques for OPTW and TOPTW. In Orienteering Problems: Models and Algorithms for Vehicle Routing Problems with Profits. Springer International, Cham, pp. 67–81.Vansteenwegen, P., Souffriau, W., Berghe, G.V., Oudheusden, D.V., 2009. A guided local search metaheuristic for the team orienteering problem. European Journal of Operational Research 196, 1, 118–127.Wei, L., Zhang, Z., Lim, A., 2014. An adaptive variable neighborhood search for a heterogeneous fleet vehicle routing problem with three‐dimensional loading constraints. IEEE Computational Intelligence Magazine 9, 4, 18–30.Wei, L., Zhang, Z., Zhang, D., Lim, A., 2015. A variable neighborhood search for the capacitated vehicle routing problem with two‐dimensional loading constraints. European Journal of Operational Research 243, 3, 798–814.Zachariadis, E., Kiranoudis, C., 2011. A local search metaheuristic algorithm for the vehicle routing problem with simultaneous pick‐ups and deliveries. Expert Systems With Applications 38, 2717–2726.Zhang, Z., Luo, Z., Baldacci, R., Lim, A., 2021. A Benders decomposition approach for the multi‐vehicle production routing problem with order‐up‐to‐level policy. Transportation Science 55, 1, 160–178. http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png International Transactions in Operational Research Wiley

Loading next page...
 
/lp/wiley/the-bus-sightseeing-problem-f5Ae2Q8Zrb

References (28)

Publisher
Wiley
Copyright
© 2023 The Authors.
ISSN
0969-6016
eISSN
1475-3995
DOI
10.1111/itor.13160
Publisher site
See Article on Publisher Site

Abstract

IntroductionThe typical challenge for a traveler visiting a touristic destination for a limited period of time is to design a schedule that takes full advantage of the various points of interest (POIs), such as museums, monuments, art galleries, restaurants, etc. Generally, a tourist can be interested in planning his/her sightseeing activities strictly based on his/her personal preferences and on the amount of time and budget available. This problem has been introduced in the literature as the tourist trip design problem (TTDP). Under the TTDP model, a tourist defines his/her individual preferences and interests on specific POIs. The solution is a multiperiod set of personalized tours that maximize the predetermined tourist preference levels. The TTDP can be regarded as a variant of the basic orienteering problem (OP) (Vansteenwegen et al., 2019b; Ruiz‐Meza and Montoya‐Torres, 2022).Alternatively, a tourist can be interested in tours or packages offered by sightseeing or travel companies. The companies generally operate with fixed bus fleets, which are dispatched to a subset of POIs according to the preferences of the tourists on board, under various operational constraints. Motivated from the perspective of these companies, other than that of a tourist as in the TTDP, we introduce the bus sightseeing problem (BSP). Generally speaking, the BSP considers a set of tourist groups and a set of POIs, and each tourist group is composed of several people with specific preferences on the POIs. The objective is to (i) assign tourist groups to buses and (ii) determine the bus tours (POI subset determination and POI visit ordering), to maximize the tourist preferences, while taking into account the operational constraints, that is, bus capacity and opening hours. Figure 1 depicts an example of a BSP solution that maximizes the total preference score over all tourist groups.1FigA BSP example that maximizes tourist preferences.In the BSP, two interconnected decision levels have to be jointly tackled: assignment of tourists to buses and routing of buses to various attractions. This is different from the classical TTDP and vehicle routing problems with profits (VRPP), in which the profits are associated with locations and the total collected profit is computed by the sum of the profits of the visited locations. With respect to the existing literature on VRPP (Section 2), the BSP exhibits a more generalized profit collecting structure. By formally introducing the BSP (Section 3), we show that the BSP generalizes the OP with time windows (OPTW) and the team OPTW (TOPTW).The main aim of this paper is to investigate bounding techniques and an exact method for the BSP. We describe a mathematical formulation for the BSP (Section 4). Based on the formulation, we derive valid dual bounds by solving the linear programming (LP) relaxation of the formulation. The dual bounds are further strengthened by a set of valid inequalities. A branch‐and‐cut (B&C) approach, which uses the valid inequalities and Benders decomposition techniques, is developed to solve the problem to optimality (Section 5). Furthermore, an iterated local search (ILS) based metaheuristic algorithm is developed to efficiently compute primal bounds (Section 6). A key feature of the proposed ILS algorithm is the use of two mixed‐integer programming (MIP) based moves to search neighborhoods. Finally, we perform extensive computational experiments on a set of 576 newly constructed benchmark instances to assess the quality of the proposed solution methods (Section 7). The computational results show that our exact method can optimally solve test instances with up to 20 POIs and 30 tourist groups. Moreover, the results show that the ILS produces improved solutions for the instances not solved to optimality by the exact method, and can effectively compute solutions for larger‐scale instances.Related workThe BSP belongs to the class of VRPP (Archetti et al., 2014; Vansteenwegen et al., 2019b) where, in general, a profit is associated with each location to indicate its attractiveness. However, any BSP route is associated with a cost, as well as a profit value. Another central feature of the VRPP models, which distinguishes them from the basic family of routing models, is that location service is optional and the decision maker is responsible for identifying the location subset to be visited. Variants of VRPP ranging from single to multivehicle models inspired by practical transportation applications can be found in the survey paper of Feillet et al. (2005), the more recent review of Archetti et al. (2014), and the recent book of Vansteenwegen et al. (2019b). To the best of our knowledge, the BSP model has never been studied before. TOPTW is one of the most closely related problems to BSP. Thus, in the following we focus on methods proposed for the TOPTW and some interesting TOPTW applications in the tourism industry.To the best of our knowledge, no exact approaches have been proposed for solving the TOPTW. Regarding its special case with a single vehicle (OPTW), an exact algorithm based on bidirectional dynamic programming is proposed in Righini and Salani (2006). On the other hand, a number of heuristic techniques have been proposed for both TOPTW and OPTW. A guided local search (LS) and an ILS metaheuristic were proposed for the TOPTW in Vansteenwegen et al. (2009). Later, many other metaheuristics have been proposed, such as the hybridized greedy randomized adaptive search procedure (GRASP) with the evolutionary LS (Labadie et al., 2011), the LP‐based variable neighborhood search (VNS) (Labadie et al., 2012), the iterative framework based on LS procedure and simulated annealing (SA) (Hu and Lim, 2014), the iterated LS (ILS), and a hybridization of SA and ILS (Gunawan et al., 2017), to name a few. The reader is referred to Vansteenwegen et al. (2019b) for a comprehensive review of the benchmark instances and the state‐of‐the‐art solution techniques of the OPTW and the TOPTW.We next list some interesting TOPTW applications in the tourism industry.Souffriau et al. (2013) introduced the multiconstraint team OP with multiple time windows (MC‐TOP‐MTW), where a set of POIs is given, each with a service time, one or more time windows (TW), and a profit score. The goal is to maximize the sum of the profits collected by a fixed number of tours. The generated tours are subject to various operational requirements, such as maximum tour duration constraints and hard TW of POIs. The authors provide a mathematical formulation for the MC‐TOP‐MTW, and an ILS equipped with a GRASP. The algorithm was tested on instances involving from 48 to 288 POIs and 1–4 tours. Garcia et al. (2013) introduced the tourist planning problem that integrates public transportation, as the time‐dependent TOPTW (TD‐TOPTW). The problem calls for determining personalized tourist routes in real time. The authors developed and compared two different heuristic approaches for the TD‐TOPTW and reported results for actual data taken from the city of San Sebastian. Malucelli et al. (2015) studied a problem calling for the optimal design of cycle tourist itineraries. It assumes that the profit of nodes or edges can be collected several times but with a decreased rate. An integer programming formulation of the problem based on the OP and the multicommodity network design problem models is described. For a comprehensive overview, the interested reader is referred to the paper of Gavalas et al. (2014) and to Vansteenwegen et al. (2019b).Problem descriptionIn this section, we formally introduce the BSP and discuss its complexity by showing that the OPTW and the TOPTPW are special cases of the BSP.The BSP is defined on a complete digraph G=(V,A)$G = (V, A)$ where V is the vertex set and A is the set of arcs. The vertex set is composed of vertex 0 and a vertex set P representing the various POIs of the examined touristic destination, that is, V={0}∪P$V=\lbrace 0\rbrace \cup P$. Vertex 0 represents a central location, where vehicle or bus routes originate and terminate. Hereafter, we use the terms vehicle or bus interchangeably.Each vertex i∈P$i \in P$ is associated with a hard TW [ei,li]$[e_i, l_i]$, which defines the earliest and latest time for the start of a visit at POI i. In addition, a visit time vi$v_i$ is also considered, representing the time necessary for a POI i visit. Note that if a bus arrives at i before ei$e_i$, tourists must wait until the opening time ei$e_i$ of this particular POI. In real scenarios, POIs have early opening times so waiting times at POIs are generally not an issue. Each arc (i,l)∈A$(i, l)\in A$, i,l∈V$i, l \in V$, i≠l$i \ne l$, is associated with a travel time t̂il$\hat{t}_{il}$. The travel time t̂il$\hat{t}_{il}$ can be modified to include the visit time at vertex i, thus obtaining a modified travel time til$t_{il}$, that is, til=vi+t̂il$t_{il}=v_i+\hat{t}_{il}$. We assume that matrix til$t_{il}$ satisfies the triangle inequality. At the central location 0, a set K of buses is available. With each bus k∈K$k \in K$ is associated a capacity Qk$Q_k$ representing the maximum number of people on board. Moreover, vertex 0 is also associated with a TW [e0,l0]$[e_0, l_0]$, representing a common working time period for all buses in K.The BSP also considers a set of tourist groups T. Each group j∈T$j \in T$ consists of qj$q_j$ people. In addition, each group declares how important it is for this group to visit a particular POI in P. More precisely, with each group j∈T$j \in T$ and vertex i∈P$i \in P$ pair, it is associated a nonnegative profit pji$p_{ji}$, which conveys the satisfaction level (hereafter referred to as profit) enjoyed by j by visiting POI i. If a group j∈T$j \in T$ is assigned to a bus k∈K$k \in K$, which visits vertex i∈P$i \in P$, then the corresponding profit pji$p_{ji}$ is enjoyed (collected) by group j.The aim of the BSP is to jointly decide the assignment of groups to buses, and for each of these buses, design the corresponding route. More precisely, the BSP calls for the group‐vehicle assignment and the routing of vehicles, which maximizes the total profit enjoyed by all groups. The two decision levels are subject to the following constraints:(A)Group‐vehicle assignment.(i)Each tourist group must be assigned to exactly one vehicle.(ii)The total number of people assigned to a vehicle must not exceed the capacity of the vehicle.(B)Routing of vehicles.(i)Each vehicle performs at most one route.(ii)Each vehicle route starts from vertex 0, and terminates at vertex 0.(iii)Each vehicle visits any POI vertex at most once, whereas a POI vertex may be visited at most L times with L≤|K|$L \le |K|$. Since a POI can be visited several times by different vehicles, parameter L sets an upper limit on the number of vehicles that can visit a POI.(iv)Each vehicle may arrive at a POI within the corresponding TW. If it arrives earlier, it must wait for the TW opening.The link between the OPTW/TOPTW and the BSP can be summarized as follows. The OPTW is defined on a complete digraph G′=(V′,A′)$G^{\prime } = (V^{\prime }, A^{\prime })$, where V′$V^{\prime }$ is the vertex set and A′$A^{\prime }$ is the arc set. Vertex 0 represents the depot. Let p¯i$\overline{p}_i$ denote the nonnegative profit associated with i∈V′$i \in V^{\prime }$ (with p¯0=0$\overline{p}_0=0$), and let t¯il$\overline{t}_{il}$ be the nonnegative travel time associated with arc (i,l)∈A′$(i,l) \in A^{\prime }$ that includes the visit time at vertex i. In addition, let [e¯i,l¯i]$[\overline{e}_i,\overline{l}_i]$ be the TW associated with vertex i∈V′$i \in V^{\prime }$. The OPTW calls for the determination of a single route that maximizes the total profit collected, by visiting each vertex in V′∖{0}$V^{\prime } \setminus \lbrace 0\rbrace$ at most once and within its TW.Any OPTW instance can be converted into an equivalent BSP instance as follows:(i)Define graph G=(V,A)$G=(V,A)$ by setting V=V′$V=V^{\prime }$, A=A′$A=A^{\prime }$, P=V′∖{0}$P=V^{\prime } \setminus \lbrace 0\rbrace$ and til=t¯il$t_{il}=\overline{t}_{il}$, ∀(i,l)∈A$\forall (i,l) \in A$.(ii)Define |K|=1$|K|=1$, Q0=1$Q_0=1$ and L=1$L=1$.(iii)Define |T|=1$|T|=1$, q0=1$q_0=1$ and p0i=p¯i$p_{0i}=\overline{p}_i$, ∀i∈V′∖{0}$\forall i \in V^{\prime } \setminus \lbrace 0\rbrace$.(iv)Define [ei,li]=[e¯i,l¯i]$[e_i,l_i]=[\overline{e}_i,\overline{l}_i]$, ∀i∈V$\forall i \in V$.The TOPTW generalizes the OPTW by calling for the determination of m routes maximizing the total profit collected. Any TOPTW instance can be converted into an equivalent BSP instance by generating graph G and the TW as in points (i) and (iv), and the following additional definitions:(i)|K|=m$|K|=m$, Qk=1$Q_k=1$, ∀k∈K$\forall k \in K$, and L=1$L=1$; and(ii)|T|=m$|T|=m$, qj=1$q_j=1$, ∀j∈T$\forall j \in T$, and pji=p¯i$p_{ji}=\overline{p}_i$, ∀j∈T$\forall j \in T$, ∀i∈V′∖{0}$\forall i \in V^{\prime } \setminus \lbrace 0\rbrace$.Because the OPTW is NP$\mathcal {NP}$‐hard, so is the BSP.Link between the TTDP and the BSPIn the literature, the term TTDP is used to refer to a general class of problems associated with the construction of personalized tourist itineraries and no specific problem definition is reported. Indeed, as reported by Vansteenwegen et al. (2019a) and Ruiz‐Meza and Montoya‐Torres (2022), almost all papers in the TTDP literature use the OP (and other extended variants) to formulate the TTDP. Moreover, various extensions of the TTDP can also be formulated as the variants of the TOP, OPTW, or TOPTW. Vansteenwegen et al. (2019a) listed several TTDP variants and Ruiz‐Meza and Montoya‐Torres (2022) gave a classification of different variants and solution techniques. Variants include heterogeneous preferences of tourists, multiple TW, different classes of users, multiobjective function, to name a few. The reader is referred to Vansteenwegen et al. (2019a) and Ruiz‐Meza and Montoya‐Torres (2022) for a comprehensive list of the different variants.As shown above, as an application of the TTDP, our problem generalizes the TOPTW by introducing the following two main characteristics:(i)the vehicle fleet is assumed to be heterogeneous and, most importantly,(ii)the profits are heterogeneous, that is, under the BSP model, the total profit enjoyed depends on the group‐vertex assignments, whereas for the classical OP/TOP, the total profit depends only on the vertices visited.In the literature, TTDP are generally formulated based on OP/TOP/TOPTW mathematical formulations. However, due to the structure of heterogeneous profits of the BSP, existing OP/TOP/TOPTW formulations cannot be used directly to solve the problem, and in the next section we introduce a mathematical formulation for the BSP where additional decision variables are introduced to model the heterogeneous profits.From the methodological point of view, to the best of our knowledge, no exact approaches have been proposed for solving the TOPTW, and existing exact methods for the OP/TOP cannot be easily extended the BSP due to the above two main characteristics. In this paper, we therefore describe a new exact method for the problem (see Section 5) and a metaheuristic (see Section 6). More specifically, the metaheuristic uses an ILS solution framework, widely adopted to effectively solve TTDP variants. In addition, our heuristic algorithm also relies on the solution of OPTW and TOPTW instances in the context of MIP‐based moves used by the LS algorithm.Mathematical formulation and valid inequalitiesThis section provides an MIP formulation for the BSP. It also describes properties of the proposed formulation, together with valid inequalities that can be used to strengthen the dual bounds derived from the LP‐relaxation of the formulation.FormulationA bus route or simply route R=(i0=0,i1,i2,⋯,in−1,in=0)$R=(i_0=0,i_1,i_2,\dots ,i_{n-1},i_n=0)$ is defined as a simple circuit in G. It starts at the bus station 0 at time e0 and ends at the station no later than l0. In between, it visits the POI subset represented by vertices V(R)={i1,⋯,in−1}$V(R)=\lbrace i_1,\dots ,i_{n-1}\rbrace$. Route R is feasible if the visit start time τih,∀ih∈V(R)∪{in}$\tau _{i_h}, \forall i_h \in V(R) \cup \lbrace i_n\rbrace$, satisfies max{τih−1+tih−1ih,eih}≤τih≤lih$\max \lbrace \tau _{i_{h-1}} + t_{i_{h-1}i_h}, e_{i_h} \rbrace \le \tau _{i_h} \le l_{i_h}$, where ih−1$i_{h-1}$ is the vertex visited immediately before ih$i_h$ in route R (and τ0=e0$\tau _0 = e_0$).The proposed BSP formulation uses the following decision variables:yjik$y^k_{ji}$: binary variables, equal to 1, if and only if vertex i∈P$i \in P$ is visited by group j∈T$j \in T$ using vehicle k∈K$k \in K$;zjk$z^k_j$: binary variables, equal to 1, if and only if group j∈T$j \in T$ is assigned to vehicle k∈K$k \in K$;sik$s^k_i$: binary variables, equal to 1, if and only if vertex i∈V$i \in V$ is visited by vehicle k∈K$k \in K$;xilk$x_{il}^k$: binary variables, equal to 1 if and only if arc (i,l)∈A$(i,l) \in A$ is traversed by vehicle k∈K$k \in K$;δik$\delta ^k_i$: nonnegative continuous variables representing the start time at vertex i∈V$i \in V$ visited by vehicle k∈K$k \in K$; if vertex i is not visited by vehicle k, we have δik=0$\delta ^k_i = 0$.We split the BSP constraints into two distinct blocks. The first block handles the assignment of tourist groups to buses and the POI subset determination (which POIs are going to be visited) for each vehicle, whereas the second block addresses the routing of buses. Let X1 denote a set of vectors y∈{0,1}|K|×|T|×|P|$\mathbf {y}\in \lbrace 0,1\rbrace ^{|K|\times |T|\times |P|}$, z∈{0,1}|K|×|T|$\mathbf {z}\in \lbrace 0,1\rbrace ^{|K|\times |T|}$ and s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$, satisfying the following constraints (first constraint block):1a∑k∈Ksik≤L,∀i∈P,$$\begin{equation} \sum _{k \in K} s^k_i \le L, \qquad \forall i \in P , \end{equation}$$1bs0k≥sik,∀i∈P,k∈K,$$\begin{equation} s^k_0 \ge s^k_i, \qquad \forall i \in P, k \in K, \end{equation}$$1cyjik≤sik≤∑h∈Tyhik,∀i∈P,j∈T,k∈K,$$\begin{equation} y^k_{ji} \le s^k_i \le \sum _{h \in T}y^k_{hi}, \qquad \forall i \in P, j \in T, k \in K, \end{equation}$$1dyjik≤zjk≤∑l∈Pyjlk,∀i∈P,j∈T,∀k∈K,$$\begin{equation} y^k_{ji} \le z^k_j \le \sum _{l \in P}y^k_{jl}, \qquad \forall i \in P, j \in T, \forall k \in K, \end{equation}$$1eyjik≥sik+zjk−1,∀i∈P,j∈T,k∈K,$$\begin{equation} y_{ji}^k \ge s_i^k + z_j^k - 1, \qquad \forall i \in P, j \in T, k \in K, \end{equation}$$1f∑j∈Tqjzjk≤Qk,∀k∈K,$$\begin{equation} \sum _{j \in T} q_j z^k_j \le Q_k, \qquad \forall k \in K, \end{equation}$$1g∑k∈Kzjk=1,∀j∈T.$$\begin{equation} \sum _{k \in K} z^k_j = 1, \qquad \forall j \in T. \end{equation}$$Constraints (1a) state that a vertex i∈P$i \in P$ can be visited at most L times by the vehicles whereas constraint (1b) impose that s0k=1$s^k_0=1$ if at least one POI is visited by vehicle k. Constraints (1c)–(1e) are linking constraints among the different set of variables. Constraints (1f) guarantee that the vehicle capacities are not violated. Finally, constraints (1g) force each group j to be assigned to exactly one vehicle.Set X2 is defined as the set of vectors s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$, x∈{0,1}|K|×|A|$\mathbf {x}\in \lbrace 0,1\rbrace ^{|K|\times |A|}$, and δ∈R+|K|×|V|${\boldmath {\delta }}\in \mathbb {R}_+^{|K|\times |V|}$ satisfying the following constraints (second constraint block):2a∑l∈Γi+xilk=sik,∀i∈V,k∈K,$$\begin{equation} \sum _{l \in \Gamma ^+_i} x^k_{il} = s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$2b∑l∈Γi−xlik=sik,∀i∈V,k∈K,$$\begin{equation} \sum _{l \in \Gamma ^-_i} x^k_{li} = s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$2cδik+til−(1−xilk)M≤δlk,∀(i,l)∈A,k∈K,$$\begin{equation} \delta ^k_i + t_{il}-(1-x^k_{il})M \le \delta ^k_l, \qquad \forall (i,l) \in A, k \in K, \end{equation}$$2deisik≤δik≤lisik,∀i∈V,k∈K,$$\begin{equation} e_i s^k_i \le \delta ^k_i \le l_{i} s^k_i, \qquad \forall i \in V, k \in K, \end{equation}$$where Γi+={h∈V:(i,h)∈A}$\Gamma ^+_i=\lbrace h \in V: (i,h) \in A\rbrace$ and Γi−={h∈V:(h,i)∈A}$\Gamma ^-_i=\lbrace h \in V: (h,i) \in A\rbrace$ are the sets of successors and predecessors of vertex i∈V$i \in V$ in G, respectively, and M is a sufficiently large constant, for example, M=∑(i,l)∈Atil$M = \sum _{(i,l) \in A} t_{il}$. For a given vertex i and vehicle k such that sik=1$s^k_i=1$, the out‐degree (2a) and in‐degree (2b) constraints ensure that there will be exactly one arc entering and exactly one arc leaving vertex i. Constraints (2c) and (2d) guarantee that the bus routes respect all TW of visited vertices (POIs and bus station). From a different viewpoint, this second constraint block ensures that feasible routes exist for a given vector s∈{0,1}|K|×|V|$\mathbf {s}\in \lbrace 0,1\rbrace ^{|K|\times |V|}$.Based on the above definitions, the BSP is formulated as the following MIP model:3a(F)z(F)=max∑k∈K∑j∈T∑i∈Ppjiyjik$$\begin{equation} (F)\qquad z(F)= \max \; \sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}y^k_{ji} \end{equation}$$3bs.t.(y,z,s)∈X1,$$\begin{equation} \qquad\qquad\qquad\quad {\rm s.t.} \; (\mathbf {y},\mathbf {z},\mathbf {s}) \in X_1 ,\end{equation}$$3c(s,x,δ)∈X2.$$\begin{equation} \qquad\qquad\qquad\quad (\mathbf {s},\mathbf {x},{\boldmath {\delta }}) \in X_2. \end{equation}$$The objective function (3a) maximizes the total profit enjoyed by all tourist groups. Constraints (3b) and (3c) represent the two blocks of constraints described earlier.Let LF$LF$ denote the LP‐relaxation of formulation F and let z(LF)$z(LF)$ represent its optimal solution cost. The following property holds about F and LF$LF$.1PropositionIn any optimal LF$LF$ solution (y,z,s,x,δ)$(\mathbf {y},\mathbf {z},\mathbf {s},\mathbf {x},{\boldmath {\delta }})$ we have4yjik=min{sik,zjk},∀i∈P,j∈T,k∈K.$$\begin{equation} y^k_{ji}=\min \lbrace s^k_i, z^k_j\rbrace , \; \forall i \in P, j \in T, k \in K. \end{equation}$$ProofFrom constraints (1c) to (1e) we have5max{sik+zjk−1,0}≤yjik≤min{sik,zjk},∀i∈P,j∈T,k∈K.$$\begin{equation} \max \lbrace s^k_i+z^k_j-1,0\rbrace \le y^k_{ji}\le \min \lbrace s^k_i, z^k_j\rbrace , \; \forall i \in P, j \in T, k \in K. \end{equation}$$Hence, due to the maximization objective of LF$LF$, equations (4) hold.□$\Box$The above property indicates that imposing integrality on variables s$\mathbf {s}$ and z$\mathbf {z}$ suffices to guarantee integrality of variables y$\mathbf {y}$. Thus, variables y$\mathbf {y}$ can be relaxed to continuous variables.Improving relaxation LF$LF$In this section, we describe valid inequalities that can be used to improve the quality of the dual bounds obtained from formulation LF$LF$. The corresponding separation procedures are then described in Section 5.1.Capacity constraintsThe following valid inequalities for LF$LF$ ensure that the capacity of a bus cannot be violated at any vertex visited by the bus.2PropositionThe following inequalities are valid for LF$LF$:6∑j∈Tqjyjik≤Qksik,∀i∈P,k∈K.$$\begin{equation} \sum _{j \in T} q_j y^k_{ji} \le Q_k s^k_i, \; \forall i \in P, k \in K . \end{equation}$$ProofWe have the following two cases:(i)If sik=1$s_i^{k} = 1$, then ∑j∈Tqjyjik≤∑j∈Tqjzjk≤Qksik=Qk$\sum _{j \in T} q_j y_{ji}^{k} \le \sum _{j \in T} q_j z_j^{k} \le Q_ks_i^{k} = Q_k$.(ii)If sik=0$s_i^{k} = 0$, then ∑j∈Tqjyjik=0≤Qksik$\sum _{j \in T} q_j y_{ji}^{k} = 0 \le Q_k s_i^{k}$.□$\Box$Inequalities from the associated knapsack polytopeWe consider cover and lifted cover inequalities based on knapsack constraints (1f) (Crowder et al., 1983; Nemhauser and Wolsey, 1988). For a given k∈K$k \in K$, let the subset of tourist groups C⊆T$C \subseteq T$ be a cover such that ∑j∈Cqj>Qk$\sum _{j \in C} q_j &gt; Q_k$ and let Ck$\mathcal {C}^k$ be the set of all covers for vehicle k. The following cover inequalities are valid for LF$LF$:7∑j∈Czjk≤|C|−1,∀C∈Ck,k∈K.$$\begin{equation} \sum _{j \in C} z^k_{j} \le |C| - 1, \quad \forall C \in \mathcal {C}^k, k \in K. \end{equation}$$Cover inequalities can be lifted by letting qmax=maxj∈C{qj}$q^{\max } = \max _{j \in C} \lbrace q_j\rbrace$ and T̂={j∈T∖C:qj≥qmax}$\hat{T} = \lbrace j \in T \setminus C: q_j \ge q^{\max } \rbrace$. Then, the following lifted cover inequality is valid for LF$LF$:8∑j∈C∪T̂zjk≤|C|−1,∀C∈Ck,k∈K.$$\begin{equation} \sum _{j \in C \cup \hat{T}} z^k_{j} \le |C| - 1, \quad \forall C \in \mathcal {C}^k, k \in K. \end{equation}$$Infeasible path elimination constraintsThese constraints filter out POI vertex sets that cannot be feasibly visited by a route due to the TW constraints imposed by the BSP. Let D⊆P$D \subseteq P$ denote an infeasible set of vertices such that there does not exist any feasible route containing all D vertices and respecting the TW constraints. Let D$\mathcal {D}$ include all such infeasible sets. The following inequalities are valid for LF$LF$:9∑i∈Dsik≤|D|−1,∀D∈D,k∈K.$$\begin{equation} \sum _{i \in D} s^k_{i} \le |D| - 1, \quad \forall D \in \mathcal {D}, k \in K. \end{equation}$$These constraints can also be expressed in terms of the y$\mathbf {y}$ variables, as shown in the following proposition.3PropositionThe following inequalities are valid for LF$LF$:10∑i∈D∑k∈Kyjik≤|D|−1,∀D∈D,j∈T.$$\begin{equation} \sum _{i \in D} \sum _{k \in K} y_{ji}^k \le |D| - 1, \; \forall D \in \mathcal {D}, j \in T. \end{equation}$$ProofLet wji=∑k∈Kyjik$w_{ji}=\sum _{k \in K}y^k_{ji}$. Obviously, wji∈{0,1}$w_{ji} \in \lbrace 0,1\rbrace$ in any feasible F solution, i.e., wji=1$w_{ji}=1$ if group j visits vertex i, and wji=0$w_{ji}=0$ otherwise. Since D represents an infeasible set of vertices, then ∑i∈Dwji≤|D|−1$\sum _{i \in D}w_{ji}\le |D|-1$ is a valid inequality, and therefore (10) hold.□$\Box$Symmetry breaking constraintsWe also use a set of symmetry breaking inequalities, to avoid equivalent solutions obtained by interchanging index k. These are useful for instances involving buses of equal capacity, that is, Qk1=Qk2$Q_{k_1}=Q_{k_2}$, ∀k1,k2∈K,k1≠k2$\forall k_1, k_2 \in K, k_1 \ne k_2$. Let σ be a permutation of the group set T. We can assume that h(1)≤h(2)≤⋯≤h(|K|)$h(1) \le h(2) \le \dots \le h(|K|)$, where h(k)=min{j∈T:zσ(j)k=1}$h(k)=\min \lbrace j \in T: z^k_{\sigma (j)}=1\rbrace$, k=1,⋯,|K|$k=1,\dots ,|K|$ is the smallest group number (w.r.t. permutation σ) of the groups visited by vehicle k (h(k)=∞$h(k)=\infty$ if vehicle k is not used). Then the following constraints hold:11zσ(1)1=1,zσ(i)k≤∑j∈{1,⋯,i−1}zσ(j)k−1,for allk≥3,k∈K,andi≥2,i∈T.$$\begin{equation} \begin{split} z^1_{\sigma (1)} & = 1, \\ z^k_{\sigma (i)} & \le \sum _{j \in \lbrace 1,\dots ,i-1\rbrace }z^{k-1}_{\sigma (j)}, \; \text{ for all } k \ge 3, k \in K, \text{ and } i\ge 2, i \in T. \end{split} \end{equation}$$In this way, vehicles with smaller indices are assigned to groups with smaller indices.An exact method for the BSPMIP formulations such as formulation F are notoriously very hard to solve by means of general purpose MIP solvers based on B&C approaches. Nevertheless, speedup of some orders of magnitude with respect to the best MIP solvers on the market can be achieved using logic‐based solution methods (Hooker, 2000; Codato and Fischetti, 2006; Zhang et al., 2021). In this section, we describe an exact BSP solution method based on the Benders decomposition, formally developed by Benders (1962) to efficiently solve MIPs. The Benders decomposition partitions the original problem into two problems, that is, an integer master problem (MP$MP$) and a linear slave problem or subproblem (SP$SP$). The MP$MP$ is solved for a decision variable subset, whereas the rest of the values are decided by solving the SP$SP$. If the SP$SP$ is found to be infeasible, new cuts are incorporated in the MP$MP$, which is re‐solved in a cyclic framework. Geoffrion (1972) has extended the Benders decomposition to a larger class of mathematical programming problems. Finally, the works of Hooker (2000) and Hooker and Ottosson (2003) further extend the Benders strategy by considering more general subproblems for generating MP$MP$ cuts. This approach is referred to as a logic‐based Benders decomposition. Later, it was specialized to MIP by Codato and Fischetti (2006) who introduced the so‐called combinatorial Benders cuts.Following a logic‐based Benders approach, the master problem MP$MP$ can be defined as follows:12a(MP)z(MP)=max∑k∈K∑j∈T∑i∈Ppjiyjik$$\begin{equation} (MP)\qquad z(MP)= \max \; \sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}y^k_{ji} \end{equation}$$12bs.t.(y,z,s)∈X1.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ {\rm s.t.} \; (\mathbf {y},\mathbf {z},\mathbf {s}) \in X_1. \end{equation}$$Problem MP$MP$ is NP$\mathcal {NP}$‐hard since it reduces to the generalized assignment problem (GAP) (Martello and Toth, 1990) when variables s$\mathbf {s}$ are fixed. Given a solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ of MP$MP$, problem SP$SP$ is a feasibility or separation subproblem calling for the evaluation of (s¯,x,δ)$(\overline{\mathbf {s}},\mathbf {x},{\boldmath {\delta }})$ such that (s¯,x,δ)∈X2$(\overline{\mathbf {s}},\mathbf {x},{\boldmath {\delta }}) \in X_2$.For a given MP$MP$ solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$, there are two possible outcomes w.r.t. the associated subproblem SP$SP$:(i)Problem SP$SP$ is infeasible for s¯$\overline{s}$. The following infeasibility cut is added to MP$MP$:13∑k∈K∑i∈P:s¯ik=0sik+∑k∈K∑i∈P:s¯ik=1(1−sik)≥1,$$\begin{equation} \sum _{k \in K}\sum _{i \in P: \overline{s}^{k}_i=0}s^k_i + \sum _{k \in K}\sum _{i \in P: \overline{s}^{k}_i=1} (1-s^k_i) \ge 1, \end{equation}$$to render solution (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ infeasible. Indeed, if s=s¯$s=\overline{s}$ the left‐hand side of inequality (13) is equal to 0, hence the inequality cuts off the point (y¯,z¯,s¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}})$ from the master MP$MP$.(ii)Problem SP$SP$ is feasible for s¯$\overline{s}$. Let (x¯,δ¯)$(\overline{\mathbf {x}},\overline{{\boldmath {\delta }}})$ be the solution of SP$SP$. Then, solution (y¯,z¯,s¯,x¯,δ¯)$(\overline{\mathbf {y}},\overline{\mathbf {z}},\overline{\mathbf {s}},\overline{\mathbf {x}},\overline{{\boldmath {\delta }}} )$ is an optimal BSP solution of total profit equal to ∑k∈K∑j∈T∑i∈Ppjiy¯jik$\sum _{k \in K}\sum _{j \in T}\sum _{i \in P} p_{ji}\overline{y}^k_{ji}$.The proposed solution algorithm is summarized by Algorithm 1.1AlgorithmBenders decomposition methodOver the course of the algorithm, UB$UB$ corresponds to a valid dual bound on z(F)$z(F)$ whereas at the end of the algorithm LB=z(F)$LB=z(F)$ (we assume z(F)=−∞$z(F)=-\infty$ if there is no feasible solution).Note that the proposed algorithm terminates with an optimal solution whenever a feasible SP$SP$ solution is found. In addition, if a feasible BSP solution exists, the algorithm terminates after finitely many steps. Indeed, since the domain of MP$MP$ variables (y,z,s)$(\mathbf {y},\mathbf {z},\mathbf {s})$ is finite, only finitely many subproblems can be defined (and corresponding Benders infeasibility cuts can be generated), so that the optimal value is reached after finitely many steps.A branch‐and‐cut implementationIn this section, we propose an alternative method to the exact algorithm described in the previous section that is generally adopted to solve the Benders reformulation (see Vanderbeck and Wolsey, 2010). The proposed method generates infeasibility cuts into a B&C framework for solving problem MP$MP$.The algorithm has been built within the CPLEX 12.8.0 framework using the CPLEX callback functions. Through these functions, the programmer can almost completely customize the general approach embedded into CPLEX. For example, one can choose the next node to explore in the enumeration tree, choose the branching variable, or define a problem‐dependent branching scheme, separate and add his own cutting planes, apply his own heuristic methods, etc. For additional details about the use of the different callback functions, the reader is referred to the documentation of the CPLEX callable library (IBM CPLEX, 2018). The most important implementation issues are discussed below.Infeasibility cutsTo deal with the master problem MP$MP$, function LazyConstraintCallback provided by CPLEX is used to separate the infeasibility cuts and add them to MP$MP$. Whenever an integer solution is obtained by solving the LP‐relaxation of the master problem at a node, the LazyConstraintCallback is invoked by CPLEX to examine its feasibility. That is, when the LP solution (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ of the master problem MP$MP$ is integral, the slave problem SP$SP$ is solved to verify its feasibility (see Section 5.2). If problem SP$SP$ is feasible, then a feasible solution of the BSP has been found. Otherwise, the infeasibility cut associated with solution (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ is added to the master problem using function LazyConstraintCallback.Generally, integer solutions (y,z,s)$(\mathbf {y}, \mathbf {z}, \mathbf {s})$ can only be found at the leaf nodes of the enumeration tree associated with problem MP$MP$. To improve the convergence of the method, we generate infeasibility cuts also at the nodes where the solution is not necessarily integer. To this end, we use function UserCutCallback to separate the feasibility cuts and add them to the master problem. Whenever an LP‐relaxation is solved and the node is not pruned, the UserCutCallback is invoked. If sk$\mathbf {s}^k$ is integral for some k∈K$k \in K$, the UserCutCallback separates infeasibility cuts by examining whether a feasible route exists for vehicle k given sk$\mathbf {s}^k$. In this way, the feasibility cuts can be separated early in the search process and help to strengthen the LP‐relaxation of the master problem. Further, additional infeasibility cuts can be added based on the path elimination inequalities (9) and (10). Indeed, given k∈K$k \in K$, let D={i∈P:s¯ik=1}$D = \lbrace i \in P: \bar{s}_i^{k} =1\rbrace$ be the set of vertices visited by vehicle k. If the subproblem SP is infeasible, then D is also an infeasible set of vertices, and the infeasible path elimination inequalities (9) and (10) corresponding to D can be added to problem MP$MP$.Valid inequalitiesThe set of capacity constraints (6) and symmetric breaking constraints (11) are directly added to the initial MP$MP$ at the root node of the enumeration tree. The lifted cover cuts (8) and the infeasible path elimination cuts (9) and (10) are separated using the UserCutCallback function as described in the following.Whenever an LP‐relaxation is solved and the node is not pruned, the values of the variables z$\mathbf {z}$ and s$\mathbf {s}$ in the LP solution are used to separate the cuts. To separate violated lifted cover inequalities, we identify a cover C={j∈T:zjk=1}$C =\lbrace j \in T: z_j^k = 1\rbrace$ such that ∑j∈Cqj≥Qk+1$\sum _{j \in C} q_j \ge Q_k + 1$ for some k∈K$k \in K$ by dynamic programming (DP) (see Nemhauser and Wolsey, 1988). To separate violated infeasible path elimination cuts, we solve subproblem SP$SP$ as shown in Section 5.2.Branching and node selection strategyBased on the results of preliminary experiments, we decided to set a higher branching priority on variables s$\mathbf {s}$. As variables y$\mathbf {y}$ are safely relaxed to continuous according to Proposition 1, only integer variables s$\mathbf {s}$ and z$\mathbf {z}$ are considered as integer variables by CPLEX. Because both the infeasibility cuts and the primal heuristic rely on the integer values of variables s$\mathbf {s}$, the higher branching priority on variables s$\mathbf {s}$ can be helpful in improving both dual and primal bounds, especially in the early exploration of the enumeration tree.Primal heuristicWith the aim of enhancing the computation of primal solutions during the enumeration tree, we apply a heuristic algorithm using the HeuristicCallback CPLEX function.At a generic node of the B&C tree, we first check if the subproblem SP$SP$ is feasible, that is, variables s$\mathbf {s}$ are integral and feasible routes exist for the subproblem SP$SP$. Then the primal heuristic tries to optimally reassign the tourist groups to the vehicles in order to maximize the total profit by solving the following GAP:14(GAP)max∑j∈T∑k∈Kp¯jkzjk$$\begin{equation} (GAP) \quad \max \quad \sum _{j \in T} \sum _{k \in K} \bar{p}^k_{j} z^k_{j} \end{equation}$$15s.t.∑j∈Tqjzjk≤Qk,∀k∈K$$\begin{equation} \qquad\qquad {\rm s.t.} \quad\ \ \sum _{j \in T} q_j z^k_j \le Q_k,\qquad \forall k \in K \end{equation}$$16∑k∈Kzjk=1,∀j∈T$$\begin{equation} \qquad\qquad\qquad\quad\sum _{k \in K} z^k_j = 1, \qquad \forall j \in T \end{equation}$$17zjk∈{0,1},∀j∈T,∀k∈K,$$\begin{equation} \qquad\qquad\qquad\quad z^k_j \in \lbrace 0,1\rbrace ,\qquad \forall j \in T, \forall k \in K, \end{equation}$$where p¯jk=∑i∈Ps¯ikpji$\bar{p}^k_j = \sum _{i \in P} \bar{s}^k_i p_{ji}$ is the profit of assigning group j∈T$j \in T$ to vehicle k∈K$k \in K$. Problem GAP$GAP$ requires that the capacity of each vehicle cannot be violated (15) and each group must be assigned to exactly one vehicle (16). Problem GAP$GAP$ can be conveniently solved using the MIP solver of CPLEX using the current solution z¯$\bar{\mathbf {z}}$ of the master problem as a starting solution, and by initializing the CPLEX primal bound as the cost of the best BSP solution found so far.Solving the subproblemProblem SP$SP$ can be decomposed into |K|$|K|$ feasibility subproblems, each one for determining the TW feasibility of a single bus route. The constraints of each subproblem correspond to the well‐known traveling salesman problem with TW (TSPTW) (Baker, 1983). For each k∈K$k \in K$, solving the subproblem requires to check if a feasible TSPTW solution exists for V¯k$\bar{V}_k$, where V¯k={i∈P:s¯ik=1}$\bar{V}_k = \lbrace i \in P: \bar{s}_i^k = 1\rbrace$ denotes the set of vertices visited by vehicle k. This is a known NP$\mathcal {NP}$‐complete problem (Savelsbergh, 1985). Obviously, if V¯k=∅$\bar{V}_k = \emptyset$ , the corresponding TSPTW is trivially feasible.Instead of considering the individual feasibility problems, we tackle each of them by considering the objective of minimizing the travel time, as for the classical TSPTW. This approach is best suited for the BSP, since a bus route visiting a set of POIs is obviously preferred over another route visiting the same POIs, but requiring a longer travel time. For every vehicle k∈K$k \in K$ such that V¯k≠∅$\bar{V}_k \ne \emptyset$, we formulate the problem as the following MIP model:18minxk∈{0,1}|A|,δk∈R+|V|∑(i,l)∈Atilxilk:(s¯k,xk,δk)∈X2k,$$\begin{equation} \min _{\mathbf {x}^k \in \lbrace 0,1\rbrace ^{|A|}, {\boldmath {{\delta }^k}}\in \mathbb {R}_+^{|V|}} {\left\lbrace \sum _{(i,l)\in A}t_{il}x^k_{il}: (\overline{\mathbf {s}}^k,\mathbf {x}^k,{\boldmath {\delta }}^k) \in X_2^k \right\rbrace} , \end{equation}$$where X2k$X_2^k$ corresponds to the set of constraints (2d) involving vehicle k. To solve problem (18), we use the DP‐based approach proposed by Baldacci et al. (2012), which has been shown to be particularly effective for the TSPTW. In the following, we briefly describe the method and the reader is referred to Baldacci et al. (2012) for additional details.For a given vehicle k∈K$k \in K$, let G¯=(V¯,A¯)$\overline{G}=(\overline{V}, \overline{A})$ be a complete digraph, where V¯=V¯k∪{p,q}$\overline{V}=\bar{V}_k \cup \lbrace p,q\rbrace$, and p and q are two special vertices. A tour is defined as a path in G¯$\overline{G}$ starting from vertex p at time e0, visiting each vertex i∈V¯k$i \in \bar{V}_k$ within its TW, and ending at vertex q before l0. The cost of a tour is equal to the sum of the travel times of the arcs traversed. The TSPTW associated with vehicle k consists of determining the minimum travel time tour, and can be formulated using DP as follows. Define a forward path P=(p,i1,⋯,ik=σ(P))$P=(p,i_1,\dots ,i_k=\sigma (P))$ as an elementary path starting from vertex p at time e0, visiting vertices V(P)={p,i1,⋯,ik}$V(P)=\lbrace p,i_1,\dots ,i_k\rbrace$ within their TW, and ending at vertex σ(P)$\sigma (P)$ at time t(P)$t(P)$ with eσ(P)≤t(P)≤lσ(P)$e_{\sigma (P)} \le t(P) \le l_{\sigma (P)}$. Let P(S,t,i)$\mathcal {P}(S,t,i)$ be the set of all forward paths visiting the subset of vertices S⊆V¯$S \subseteq \bar{V}$ and ending at vertex i at time t. In addition, let g(S,t,i)$g(S,t,i)$ be the minimum travel time path in the set P(S,t,i)$\mathcal {P}(S,t,i)$. The travel time z(TSPTW)$z(\text{TSPTW})$ of the optimal TSPTW solution for vehicle k is as follows:19z(TSPTW)=mine0≤t≤l0{g(V¯,t,q)}.$$\begin{equation} z(\text{TSPTW}) = \min _{e_0 \le t \le l_0} \lbrace g(\overline{V},t,q) \rbrace . \end{equation}$$The g(S,t,i)$g(S,t,i)$ values can be evaluated using DP as follows: define the state set S={(S,t,i):∀S⊆V,∀i∈S,ei≤t≤li}$\mathcal {S} = \lbrace (S,t,i): \forall S \subseteq V, \forall i \in S, e_i \le t \le l_i\rbrace$. Let Ω(t,j,i)$\Omega (t,j,i)$ be the subset of departure times from vertex j to arrive at vertex i at time t, such that ei≤t≤li$e_i \le t \le l_i$, when j is visited immediately before i. Ω(t,j,i)$\Omega (t,j,i)$ is defined as follows: (i) Ω(t,j,i)={t′:ej≤t′≤min{lj,t−tji}}$\Omega (t,j,i)=\lbrace t^{\prime }: e_j \le t^{\prime } \le \min \lbrace l_j,t-t_{ji}\rbrace \, \rbrace$ if t=ei$t = e_i$, and (ii) Ω(t,j,i)={t−tji:ej≤t−tji≤lj}$\Omega (t,j,i)=\lbrace t-t_{ji}: e_j \le t-t_{ji} \le l_j\rbrace$ if ei<t≤li$e_i &lt; t \le l_i$. The DP recursion to evaluate g(S,t,i)$g(S,t,i)$ is as follows:20g(S,t,i)=min(S′,t′,j)∈Ψ−1(S,t,i){g(S′,t′,j)+tji},∀(S,t,i)∈S,$$\begin{equation} g(S,t,i) = \min _{(S^{\prime },t^{\prime },j) \in \Psi ^{-1}(S,t,i)} \lbrace g(S^{\prime },t^{\prime },j)+t_{ji} \rbrace , \quad \forall (S,t,i) \in \mathcal {S}, \end{equation}$$where Ψ−1(S,t,i)={(S∖{i},t′,j):∀t′∈Ω(t,j,i),∀j∈V¯∩(S∖{i})}$\Psi ^{-1}(S,t,i)=\lbrace (S \setminus \lbrace i\rbrace ,t^{\prime },j): \forall t^{\prime } \in \Omega (t,j,i), \; \forall j \in \overline{V} \cap (S \setminus \lbrace i\rbrace )\rbrace$. The following initialization is required: g({p},ep,p)=0$g(\lbrace p\rbrace ,e_p,p)=0$ and g({p},t,p)=∞$g(\lbrace p\rbrace ,t,p)=\infty$, ∀t$\forall t$, ep<t≤lp$e_p&lt; t \le l_p$. The size of the set S$\mathcal {S}$ can be huge, but effective dominance and fathoming rules are described in Baldacci et al. (2012) to remove from S$\mathcal {S}$ any state (S,t,i)$(S,t,i)$ that cannot lead to any feasible or optimal solution, thus speeding up the computation of the optimal TSPTW solution.An iterated local search based metaheuristicTo solve larger BSP instances, we propose an ILS‐based metaheuristic algorithm. The algorithm follows the scheme of ILS algorithms (Baxter, 1981; Lourenço et al., 2019) and employs two diversification mechanisms for shaking the incumbent solutions, followed by a LocalSearch procedure that improves the modified solution. In particular, the applied diversification mechanisms systematically change the neighborhood, in a manner similar to the VNS (Mladenović and Hansen, 1997; Hansen et al., 2019), which has been effectively applied on vehicle routing problems (see, e.g., Wei et al., 2014, 2015).Let S denote a feasible BSP solution and f(S)=M·p(S)−r(S)$f(S)=M\cdot p(S)-r(S)$ where p(S)$p(S)$ is the total profit collected by S, r(S)$r(S)$ is the total travel time required by the solution S and M is a very large positive value. The structure of the proposed ILS algorithm is provided in Algorithm 2.2AlgorithmILS for the BSPThe proposed method starts by constructing an initial solution S, which is improved by the following iterative procedure: Method Shake applies one of the two proposed diversification mechanisms (according to argument h), to produce the modified solution S′$S^{\prime }$. Then, S′$S^{\prime }$ is improved by the proposed LocalSearch method, which employs classical routing and packing LS operators. In addition, it is equipped with MIP‐based operators that are used when locally optimal solutions with respect to the classical operators are encountered. Let S′′$S^{\prime \prime }$ denote the improved solution produced by the LocalSearch method. If f(S′′)>f(S)$f(S^{\prime \prime })&gt;f(S)$, the incumbent solution is set to S′′$S^{\prime \prime }$ and the diversification mechanism to be applied on the next iteration is set to 1 (h⟵1$h \longleftarrow 1$). Otherwise, the method continues by switching the diversification operator for the next iteration. The proposed ILS framework is terminated when a total CPU time Tmax$T_{max}$ is completed, or when Imax$I_{max}$ consecutive nonimproving iterations are performed. In the following paragraphs, the various components of Algorithm 2 are described.Initial solutionThe construction of a feasible BSP solution requires decisions on two levels: (i) assignment of tourist groups to buses and (ii) POI selection and optimal routing for the buses.We use a simple heuristic algorithm to generate an initial solution with the aim of quickly computing a feasible solution as a starting point for the ILS. The heuristic performs two main steps: (i) assigning of tourist groups to buses by disregarding the profit values and (ii) determining bus routes and the POIs to be visited by also taking into account the profit values. The two steps are as follows:(i)Due to the difficulty of obtaining a feasible assignment in some instances with limited buses, the proposed construction heuristic starts off by assigning tourist groups to buses, thus when this assignment is decided no routing decisions have been made. As a result, the profit objective is not taken into account and the algorithm constructs feasible tourist assignments to buses with respect to the bus capacity constraints, by applying the best‐fit decreasing (BFD) heuristic for this 1D bin packing problem. As a safeguard, if BFD fails to produce a feasible assignment due to tight capacity constraints, the GAP models (14)–(17) are solved to optimality by CPLEX with unit profit values.(ii)Once the tourist groups have been assigned to buses, the constructive method determines a feasible route for each bus. For bus k∈K$k \in K$, the profit of each vertex i∈P$i \in P$ is computed as p¯ik=∑j∈Tkpji$\bar{p}^k_{i} = \sum _{j \in T_k} p_{ji}$, where Tk⊆T$T_k \subseteq T$ denotes set of tourist groups assigned to bus k. The bus–vertex pairs (k,i)$(k,\ i)$, k∈K$k \in K$, i∈T$i \in T$, are sorted in descending profit p¯ik$\bar{p}^k_{i}$. Then, the construction algorithm iteratively selects the bus–vertex pair (k,i)$(k, i)$ with the highest profit, to insert vertex i into the route traveled by bus k. An insertion is made, if the POI TW and the maximal POI visit constraints are satisfied. If for a POI i multiple feasible positions exist within the route traveled by bus k, vertex i is inserted in the position yielding the minimal travel time increase.It is worth noting that alternative rules are possible to assign POIs to buses and that, in our experience, the quality of the initial solution is not a key factor for the algorithmic performance. Moreover, regarding the importance of handling the profits, our packing and MIP‐based moves described in the following are indeed aimed at improving the groups to POI assignments.Diversification operatorsThe proposed algorithm employs two diversification operators, which as previously mentioned are invoked by method Shake. Both operators apply drastic solution modifications, to drive the search away from local optima encountered. The strength of this behavior is controlled by parameter α, which after tuning experiments was set to21α=max{5,min{0.05×i,0.6}×(|T|+|P|)},$$\begin{equation} \alpha = \max \lbrace 5, \min \lbrace 0.05 \times i, 0.6\rbrace \times (|T| + |P|)\rbrace , \end{equation}$$where i is the number of consecutive nonimproving iterations currently recorded. The role of parameter α is twofold: (a) it strengthens the diversification effect of both operators when the algorithm consistently fails to identify new improved solutions and (b) it eliminates excessive diversification that would drive the search to extremely poor quality solution regions.In the following, the two diversification operators are described:RandomMoves operator randomly performs a sequence of packing or routing moves presented in Section 6.3. To perform each of these moves, one of the seven move types is randomly selected with all move types sharing the same selection probability. Then a move defined by the selected operator is randomly applied, if it respects the model constraints.Destroy&Repair operator removes tourist groups and vertices randomly from the solution. It then reconstructs this partial solution by first reinserting the removed tourist groups to buses. These insertions are iteratively performed: At each iteration, the profit of assigning every removed group j to every bus k∈K$k \in K$ is p¯jk${\bar{p}}_j^k$. If an assignment violates the bus capacity constraints, the associated profit is set to −∞$-\infty$. A regret value rvj=p¯jk1−p¯jk2${rv}_j={\bar{p}}_j^{k_1}-{\bar{p}}_j^{k_2}$ is then evaluated for every unassigned tourist group j, where k1 and k2 denote the buses “offering” the highest and second highest profit for group j, respectively. The method identifies the tourist group maximizing the regret value and assigns it to the bus maximizing the aforementioned profit value. Once all tourist groups have been reassigned to buses, POI vertices are inserted into the solution via the mechanism of POI vertex insertion described for the initial solution construction method (Section 6.1).Local searchIn the BSP, two interconnected decision levels must be jointly tackled: assignment of tourists to buses and routing of buses to the various attractions. With the aim of improving a BSP solution based on both decisions, the LS procedure in the ILS uses various packing moves to optimize the assignment of tourists to the POIs, and routing moves to improve the routes.The LS procedure first employs two basic types of moves: (i) packing moves that modify the assignments of tourist groups to buses and (ii) routing moves that modify the bus routes. If the basic move types fail to identify an improving solution, two rich MIP‐based moves are applied. If the MIP‐based moves succeed in improving the incumbent solution, the method continues by reapplying the basic moves in a cyclic framework. On the contrary, if the MIP‐based moves fail to generate an improving solution, the LocalSearch method terminates by returning the locally optimal solution with respect to the basic operators, as well as the MIP‐based moves. In the following, all employed LS operators are described.Packing movesBy fixing the bus routes of a given BSP solution, BSP reduces to a GAP model that calls for the optimal assignment of tourists to buses. The following moves deal with these assignments. Note that they are only applied if they produce improving and feasible BSP solutions.Group relocation moves relocate a tourist group from the bus currently assigned to, to another bus.Group swap moves swap the buses offering service to a tourist group pair. Obviously, the group swap moves involve only tourist groups that are assigned to different buses (in the incumbent BSP solution).Figure 2 shows an illustrative example of packing moves based on the BSP instance given in Fig. 1.2FigAn example of packing moves.Routing movesBy fixing the tourist groups to bus assignments of a given BSP solution, BSP reduces to a TOPTW variant, where the profit collection depends on the bus routes. In contrast to the basic TOPTW version, each vertex can be visited multiple times limited by L under the BSP model. The LS operators used for applying routing modifications to a BSP solution are based on the ones given by Hu and Lim (2014) for the TOPTW and are presented in the following. As already stated for the packing moves, they are applied only if they produce feasible and improving BSP solutions.Vertex insertion moves insert a POI vertex into a bus route. Obviously, the inserted POI must not be already present in the bus route involved.Vertex exchange moves replace a POI vertex visited by a bus with another POI. First, the removed POI vertex is taken out of the bus route, and then the new POI is inserted into the route position yielding the minimal travel time increase.Vertex relocation moves relocate a POI vertex visited by a bus to another position in the same bus or to another bus.Vertex swap moves swap the visit positions for a pair of POI vertices. This modification can be applied within a single bus or between a bus pair.2‐opt moves replace a pair of arcs from the solution. If both arcs involved belong to the same bus route, this is done by reversing the route segment, lying between the replaced arcs. Otherwise, each of the two bus routes involved in the move are split in their beginning and terminating parts. The beginning part of the first route is connected to the terminating part of the second and vice versa.Note that the last three operators are widely used for routing problems and detailed descriptions are given in Zachariadis and Kiranoudis (2011).The moves defined by the seven presented basic move types are evaluated in a random order. The proposed algorithm applies the first improving move which leads to a feasible BSP solution. Note that as explained earlier an improving solution either increases the solution profit or reduces the total travel time if the profit is not modified.MIP‐based movesIf no improving solution can be identified by the above‐presented basic LS operators, or in other words when the incumbent solution is locally optimal with respect to the basic operators, two MIP‐based moves are performed. Inherently, these moves can directly apply wider solution modifications compared to the basic operators.As illustrated below, the MIP‐based moves are executed with a specific time limit, and they are applied only if no improving solution can be identified by the basic LS operators. Therefore, packing moves are also important to improve the solution. In addition, the MIP‐based moves use a starting point for the MIP solver as the incumbent solution and the incumbent lower bound for pruning, hence the packing moves can reduce the computational effort of the MIP solver.The first MIP‐based move solves GAP models (14)–(17), by fixing all bus routes to their current state. For a given vehicle k∈K$k\in K$, the profit of serving group j∈T$j\in T$ is computed as p¯jk=∑i∈Pkpji${\bar{p}}_j^k=\sum _{i\in P_k} p_{ji}$, where Pk⊆P$P_k\subseteq P$ is the set vertices visited by bus k. The GAP model is solved by CPLEX setting a run time limit of 10 seconds. If a feasible and improved solution is obtained, the LS procedure resumes to the basic moves. Otherwise, the following second MIP‐based move is executed.The second MIP‐based move optimizes bus routes, by fixing tourist group assignments to their current state. If the maximal number of POI visits L does not exceed the number of buses in use, the problem can be decomposed into a set of OPTW models, one for each vehicle. For vehicle k∈K$k\in K$ currently carrying the tourist group set Tk⊆T$T_k\subseteq T$, the profit collected when visiting POI i∈$i\in$ P is p¯ik=∑j∈Tkpji${\bar{p}}_i^k=\sum _{j\in T_k} p_{ji}$. Then, the OPTW associated with vehicle k is formulated as follows:22OPTW(k)max∑i∈Pp¯iksik$$\begin{equation} \text{OPTW}(k) \quad \max \quad \sum _{i \in P} \bar{p}^k_i s^k_i \end{equation}$$23s.tsik∈{0,1},∀i∈P,$$\begin{equation} \qquad\qquad\quad\ \ \text{s.t} \qquad s^k_i \in \lbrace 0, 1\rbrace , \qquad \forall i \in P, \end{equation}$$24(sk,xk,δk)∈X2.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ (\mathbf {s}^k, \mathbf {x}^k, {\boldmath {\delta }}^k) \in X_2. \end{equation}$$The OPTW models are solved by a variant of the B&C implementation of the Benders decomposition method described in Section 5.1, which uses the infeasibility cuts and the LazyConstraintCallback function. To separate the infeasibility cuts, the subproblem is solved as described in Section 5.2.On the contrary, if the number of buses in use exceeds the maximal number of POI visits L, we solve a TOPTW variant formulated as follows:25(TOPTW)max∑k∈K∑i∈Pp¯iksik$$\begin{equation} (\text{TOPTW}) \quad \max \quad \sum _{k \in K}\sum _{i \in P} \bar{p}^k_i s^k_i \end{equation}$$26s.t∑k∈Ksik≤L,∀i∈P,$$\begin{equation} \qquad\qquad\quad\ \ \ \text{s.t} \quad\ \ \ \sum _{k \in K} s^k_i \le L, \qquad \forall i \in P, \end{equation}$$27sik∈{0,1},i∈P,$$\begin{equation} \qquad\qquad\qquad\qquad\ \ s^k_i \in \lbrace 0, 1\rbrace , \qquad i \in P, \end{equation}$$28(s,x,δ)∈X2.$$\begin{equation} \qquad\qquad\qquad\qquad\ \ (\mathbf {s}, \mathbf {x}, {\boldmath {\delta }}) \in X_2. \end{equation}$$The TOPTW is also solved by a variant of the B&C implementation of the Benders decomposition method (Section 5.1).The OPTW model for each vehicle, as well as the TOPTW model are both NP‐hard problems, which are difficult to be solved to optimality within short computational times. To embed the MIP‐based moves that repeatedly solve the aforementioned problems through the search process, CPLEX solver was used with a CPU time bound of 10 seconds. This bound is proved sufficient in improving the incumbent solution, as described in the computational experiments. In addition, to speed up the TOPTW moves, the profit of the incumbent solution (to be improved by the MIP‐based moves) was used as the primal bound to prune unpromising branches in the BranchCallback function of CPLEX.The application of MIP‐based moves requires repetitively solving the relevant GAP, OPTW, and TOPTW models. To improve the efficiency of the proposed metaheuristic, it is essential to avoid any duplicate solver calls for the same model instance. To achieve this, the algorithm keeps track of the individual model instances that have been solved and filters out any unnecessary solver calls. This is done by caching the profit vectors that uniquely define a specific instance of the three models, when this instance is solved for the first time.As already stated, if the MIP‐based moves manage to produce a feasible and improving solution, the LS procedure resumes with the application of the basic moves, in a cyclic manner. Otherwise, the LS procedure is terminated.Computational experimentsThis section reports computational experiments performed with the proposed Benders decomposition and ILS algorithms on newly generated BSP benchmark instances of diverse characteristics. We present extensive experimental analysis with three main aims. First, we evaluate the performance of our algorithms. Second, we conduct experiments to measure the contribution of each main component of the algorithms. Finally, we evaluate the impact of different profit patterns on the obtained solutions.Both methods were coded in C++ and executed on a single core of an Intel(R) Core(TM) CPU i7‐6700 processor clocked at 3.40 GHz. To solve the various MIP problems, IBM ILOG CPLEX 12.8.0 (IBM CPLEX, 2018) was used. Both the newly introduced BSP benchmark instances and detailed computational results are available at http://www.computational‐logistics.org/orlib/bsp.Benchmark instancesAs mentioned in the introduction, the BSP is a new VRPP variant, and no benchmark instances are available in the literature. Moreover, our problem is also motivated by practical TTDPs, but no real‐world BSP data are available. Therefore, we generate a new set of instances based on our experience on related practical applications and on the existing literature (Vansteenwegen et al., 2019b). In particular, we focus on the definition of the profit values to analyze the impact of different profit patterns. Toward this aim, different configurations of the graph, tourist groups, profit values, and bus fleet, were used, as described in the following.Four distinct sets of POI locations were considered to represent four distinct graphs. The sizes of these sets are 10, 20, 30 and 40. Each graph is generated by randomly generating the depot and POIs coordinates in the Euclidean plane. The travel time matrix [t̂il]$[\hat{t}_{il}]$ is generated by setting t̂il=⌊dij+0.5⌋$\hat{t}_{il}=\lfloor d_{ij} + 0.5 \rfloor$, where dij$d_{ij}$ is the Euclidean distance between vertex i and j. For each of these four graphs, two TW configurations were considered: the first one corresponds to four‐hour tours and the second one to eight‐hour tours. Specifically, for the bus station TW, e0=0$e_0 = 0$ and l0 are set to the maximum duration of a complete bus tour (240 minutes or 480 minutes). The TWs and service times of POIs were randomly generated. Thus, in total eight different network configurations were generated. Given a network, the following information is defined in order to construct a complete BSP benchmark instance: tourist groups, bus fleet, and profit table. In terms of the groups, two tourist group sizes were used: 30 groups and 60 groups. The number of people within each group was generated randomly so that the 30‐group problems involve 90 people and the 60‐group problems involve 180 people. Values qj$q_j$ are integers in the interval [1,5]. Regarding the bus fleet, we have used three different configurations for the tourist group sizes considered. These configurations are reported in Table 1. Thus, in total 48 test problems without considering the profit table were generated.1TableConfigurations of tourist groups and bus fleetNumber of tourists groupsVehicle type (VT)Number of buses × Capacity3014 × 30 people(90 people)22 × 60 people34 × 30 people and 1 × 60 people6016 × 30 people(180 people)23 × 60 people33 × 30 people and 2 × 60 peopleA profit table [pji]$[p_{ji}]$ defines the profit enjoyed by tourist group j∈T$j \in T$ visiting POI i∈P$i \in P$. Three different profit tables were generated for each graph and tourist group pair. The rationale was to capture cases of random, dissimilar, and similar preferences of tourists among the POIs of a touristic destination. These three profit tables are called PT, PT‐D, PT‐S, respectively.PT (uniform profits): In this matrix, about 30% of the profit values are set to 0 and the rest of the profit values have been uniformly set into a predefined interval. Then, the various profit values are normalized, so that ∑i∈Ppji=100,∀j∈T$\sum _{i \in P} p_{ji} = 100, \forall j \in T$. This is to ensure that all tourist groups are equally considered in terms of their POIs preference.PT‐D (dissimilar profits): For each j∈T,i∈P$j \in T, i \in P$ pair, the profit enjoyed by tourist group j when visiting POI i is set to pji=sin(θ(j)+ϕ(i))$p_{ji}=sin(\theta (j) + \phi (i))$, where ϕ(i)=2iπ/|P|$\phi (i)=2i\pi /|P|$ and θ(j)=2jπ/|T|$\theta (j)=2j\pi /|T|$. If pji<0$p_{ji}&lt;0$, then we set pji=0$p_{ji}=0$. Again, the final profit matrix is obtained by normalizing the various pji>0$p_{ji}&gt;0$ values, so that the total profit enjoyed by each group over all POIs is equal to 100. Using this strategy, contrasting POI preferences are promoted among tourist groups.PT‐S (similar profits): For the first tourist group j=0$j=0$, we randomly generate uniformly distributed profit values. Given the first row of the profit matrix, the profit values for the rest of the rows pji,0<j<|T|,0≤i<|P|$p_{ji}, 0 &lt; j&lt;|T|, 0 \le i &lt; |P|$ are uniformly distributed within a symmetric interval around p0i$p_{0i}$. Finally, the resulting profits are normalized, as earlier described. This class of profit matrices reflects tourists with similar POI preferences.For each of the 48 test cases, 3 profit matrices are generated as per the abovementioned classes, resulting in a total of 144 instances. Finally, the maximum allowed visits per POI L takes values from {1,3,5,+∞}$\lbrace 1, 3, 5, +\infty \rbrace$, where L=+∞$L=+\infty$ means that no restrictions are imposed on the number of visits of each POI. Thus, in total 576 (i.e., 144 × 4) complete BSP test instances were generated and solved by the proposed methodologies.Results of the proposed Benders decomposition methodOur exact method based on Algorithm 1, called BDM, has been implemented using the B&C solution framework provided by ILOG CPLEX. BDM adds the different valid inequalities, capacity constraints (6), lifted cover cuts (8), infeasible path elimination constraints (9) and (10), by means of the UserCutCallback function of CPLEX. Further, BDM also invokes a primal heuristic using the HeuristicCallback function. To analyze the effectiveness of the different components of BDM, we compare the following variants by computational tests.BDM‐1: only capacity constraints (6) and function HeuristicCallback (HEU) are used, that is, UserCutCallback is not used and thus neither lifted cover cuts nor infeasible path elimination constraints are separated, but HeuristicCallback is enabled.BDM‐2: only capacity constraints (6), lifted cover cuts (8), and HEU are used, that is, only lifted cover inequalities are separated in the UserCutCallback, and also HeuristicCallback is used. No infeasible path elimination constraints are separated.BDM‐3: only capacity constraints (6), lifted cover cuts (8), and infeasible path elimination constraints (9) are used, that is, both lifted cover cuts and infeasible path elimination constraints are separated in the UserCutCallback, but HeuristicCallback is not used.BDM: complete version of the exact method, where capacity constraints (6), lifted cover cuts (8), infeasible path elimination constraints (9) and (10), and HEU are used, that is, both lifted cover cuts and infeasible path elimination constraints are separated in the UserCutCallback and HeuristicCallback is used.The four implementations are tested on instances with 30 tourist groups and up to 20 POIs. A time limit of 7200 seconds was imposed on each run. Further, in our experiments, all CPLEX cuts are switched on.Table 2 shows the results of versions BDM‐1, BDM‐2, and BDM, whereas Table 3 reports the results of BDM‐3 and BDM. In these tables, each row gives the results on eight instances corresponding to two networks graphs and four values of parameter L. Each test set is identified by three columns |P|$|P|$, VT, and PT, which represent the number of POIs, the type of bus fleet (see Table 1), and profit matrix, respectively. In both tables, the percentage gap between the obtained primal LB$LB$ and dual bound UB$UB$ is evaluated as Gap=100.0×UB−LBUB$\mathit {Gap} = 100.0 \times \frac{\mathit {UB} - \mathit {LB}}{\mathit {UB}}$. Columns #opt, g(%)$g(\%)$, #node, t (seconds) under each algorithm version indicate the number of instances solved to optimality, the average percentage gap, the average number of nodes explored by the BC algorithm, and the average computing time in CPU seconds computed over the instances solved to optimality, respectively.2TablePerformance analysis on lifted cover cuts and infeasible path elimination constraints of BDM with |T|=30$|T| = 30$BDM‐1BDM‐2BDM|P|$|P|$VTPT#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)101PT‐D80.007220.421.580.005530.119.380.004129.324.0PT‐S25.56413,866.65424.925.51388,157.15412.451.8596,351.52748.3PT25.81437,362.65414.625.13309,814.65414.051.28178,248.32938.02PT‐D80.00342.40.780.00269.00.680.00217.61.0PT‐S53.67345,679.42745.853.66405,371.12706.180.00576.54.7PT80.0026,460.1144.380.002796.16.480.00638.42.93PT‐D80.001725.44.480.001194.44.080.00890.54.7PT‐S54.69287,819.02715.454.75296,680.42721.980.008595.9104.3PT25.67413,819.45401.334.54346,244.15062.580.0012,382.171.2201PT‐D036.28222,598.37200.3037.11214,690.67200.4030.97155,677.37200.2PT‐S041.04266,417.67200.2040.97233,475.97200.2032.6787,307.37200.2PT049.20274,042.57200.2048.61214,220.37200.3045.81136,807.07200.22PT‐D422.90299,132.83605.5422.72250,837.33605.7417.5869,901.53610.2PT‐S033.43357,732.87200.1031.97304,740.47200.1414.1454,157.63626.7PT428.60229,439.03696.0427.10180,092.93635.4421.47103,456.03628.43PT‐D425.70234,984.64587.3423.11197,284.04180.8415.95122,127.34709.5PT‐S038.04328,218.97200.2033.90267,429.87200.2215.21113,111.96151.3PT040.04361,030.07200.3138.21318,780.97021.7130.52163,867.06675.5All6018.92250,438.42813.56218.18218,756.03060.88512.6472,691.32286.73TablePerformance analysis on heuristic callback of BDM with |T|=30$|T| = 30$BDM‐3BDM|P|$|P|$VTPT#optg(%)$g (\%)$#nodet (seconds)#optg(%)$g (\%)$#nodet (seconds)101PT‐D80.0012902.950.380.004129.324.0PT‐S52.45126,216.02757.651.8596,351.52748.3PT52.46198,124.62979.051.28178,248.32938.02PT‐D80.00427.00.980.00217.61.0PT‐S80.00712.94.280.00576.54.7PT80.001753.44.180.00638.42.93PT‐D80.001982.16.980.00890.54.7PT‐S80.007814.979.080.008595.9104.3PT51.69358,385.32713.480.0012,382.171.2201PT‐D033.52171,660.47200.2030.97155,677.37200.2PT‐S033.0396,923.07200.2032.6787,307.37200.2PT047.45149,452.17200.2045.81136,807.07200.22PT‐D419.3182,959.13606.4417.5869,901.53610.2PT‐S415.5852,458.63625.9414.1454,157.63626.7PT423.0895,087.43628.0421.47103,456.03628.43PT‐D125.32196,756.06361.0415.95122,127.34709.5PT‐S222.27116,714.05917.3215.21113,111.96151.3PT132.51197,168.06755.4130.52163,867.06675.5All7914.37103,749.92566.08512.6472,691.32286.7The results reported in Table 2 show the effectiveness of the valid inequalities. Indeed, using the lifted cover inequalities, BDM‐2 is able to obtain two more optimal solutions compared to the BDM‐1 version, whereas the average gap of the dual bound is also improved. For the instances solved to optimality by both BDM‐1 and BDM‐2 versions, BDM‐2 significantly reduces the number of nodes explored. The results obtained by the complete BDM version shows that the two sets of infeasible path elimination cuts (9) and (10) are also effective. Indeed, BDM is able to solve 23 more test instances to optimality compared to BDM‐2. Moreover, the average percentage gap is reduced by 5.54%, and the average number of nodes is also reduced by 66.8%. It is worth noting that all CPLEX cuts were used in all the different BDM versions and, in particular, in version BDM‐1. Hence, the addition of the new cuts (8), (9), and (10) in the other BDM versions also achieves improvements with respect to the CPLEX cuts.The results reported in Table 3 indicate that the use of HeuristicCallback is effective in improving the primal bounds, and the overall performance of BDM. With the use of the heuristic callback, BDM outperforms BDM‐3, both on the number of instances solved to optimality and on the quality of the final bounds. The main advantage of using the heuristic callback is that BDM is capable of identifying good primal bounds at the early stages of the enumeration tree exploration.Tables 2 and 3 show that the effectiveness of the exact method owes to the proposed valid inequalities and the primal heuristic, which are helpful in improving the upper and lower bounds, respectively.Table 4 reports detailed results of the BDM version on instances with up to 20 POIs. The following columns are reported in the table: the number of instances of the corresponding group of instances (#inst), number of instances solved to optimality (#opt), the average percentage gap at the root node of the enumeration tree (groot$g_\mathit {root}$ (%)), the final average percentage gap (g (%)), the average computing time (t (seconds)), the average time spent for the lazy constraint callback (tlazy$t_\mathit {lazy}$), the average time spent for separating lifted cover cuts (tcover$t_\mathit {cover}$), the average time spent for separating infeasible path elimination constraints (tp$t_p$), the average time for the heuristic callback function (th$t_h$), the average time spent for solving the TSPTW subproblems (tTSPTW$t_\mathit {TSPTW}$), and the average number of lifted cover cuts and infeasible path elimination constraints identified (#cover and #IPEC, respectively). All computing times are given in seconds.4TableDetailed result of BDM on small‐sized instancesP|T|$|T|$VTPT#inst#optgroot$g_\mathit {root}$ (%)g (%)#nodet (seconds)tlazy$t_\mathit {lazy}$tcover$t_\mathit {cover}$tp$t_p$ttsptw$t_\mathit {tsptw}$th$t_h$#cover#IPEC10301PT‐D8864.330.004129.324.00.15.32.80.30.286.3675.1PT‐S8562.581.8596,351.52748.34.5258.4306.58.63.45840.569,025.1PT8555.341.28178,248.32938.02.3348.8345.710.87.25137.585,107.12PT‐D8843.400.00217.61.00.10.30.20.10.03.652.0PT‐S8855.560.00576.54.70.11.10.60.20.030.6280.0PT8848.250.00638.42.90.11.00.50.20.022.5223.03PT‐D8854.540.00890.54.70.11.20.60.20.130.8167.9PT‐S8839.020.008595.9104.30.816.014.90.80.3944.35074.3PT8852.290.0012,382.171.20.519.113.40.80.5315.35179.010601PT‐D8470.024.2681,592.14325.60.5535.1487.53.49.55204.619,841.5PT‐S8256.605.6550,479.05534.12.2413.3446.33.55.34957.815,555.1PT8169.0612.7290,724.96635.61.2663.0589.04.09.44291.922,546.62PT‐D8864.230.00734.613.20.22.91.40.20.153.5178.4PT‐S8859.990.00830.629.50.13.01.40.10.253.6154.3PT8860.870.0013,268.8234.60.453.941.50.80.7466.15518.83PT‐D8867.120.0053,164.41462.90.5202.273.11.05.31125.04215.3PT‐S8461.381.0266,585.84437.11.9350.4354.23.88.43133.017,465.3PT8266.767.8899,069.35478.42.0673.7645.45.412.71743.535,203.120301PT‐D8083.5630.97155,677.37200.213.4563.71079.1134.811.93663.590,567.9PT‐S8087.9832.6787,307.37200.212.6365.9791.0116.07.52383.566,002.3PT8092.4845.81136,807.07200.29.1579.91103.9122.511.32237.410,9731.62PT‐D8479.1717.5869,901.53610.2266.4639.01308.4430.93.14243.830,1860.3PT‐S8479.9314.1454,157.63626.7141.4515.61025.5326.15.58986.421,7381.5PT8483.2021.47103,456.03628.457.6689.1971.0252.23.411,968.026,9260.43PT‐D8480.0715.95122,127.34709.523.1442.9832.6147.36.03833.4121,056.3PT‐S8280.2515.21113,111.96151.318.5342.8621.1107.46.83713.486,029.0PT8185.7730.52163,867.06675.516.3513.5766.7119.012.34480.1113,779.420601PT‐D8081.5439.1140,514.37200.43.8545.6720.626.45.71100.911,518.1PT‐S8087.5453.0722,171.07200.419.6358.2585.917.05.61583.18825.9PT8088.9450.6531,441.57200.48.1500.8927.831.45.0980.415,196.52PT‐D8482.1019.7784,886.96073.316.4746.91348.8117.63.93842.074,393.5PT‐S8184.5028.1365,872.36659.312.4528.3870.959.94.81777.043,563.0PT8088.3139.1996,351.47200.311.6878.01278.777.511.41535.473,268.93PT‐D8084.1734.2754,532.07200.34.8597.7613.528.314.01193.714,331.5PT‐S8081.3646.5534,710.07200.318.3418.3519.419.711.61021.810,680.8PT8086.4948.7247,700.37200.314.7545.3616.921.911.8721.314,776.3All28813571.0516.5562,740.82933.219.2366.2534.662.05.52614.554,585.0The results of Table 4 indicate that the BSP is a challenging VRP with profits, and that the generated set of benchmark instances represent difficult BSP test cases. Indeed, the average percentage gap at the root node is about 70%. However, the final average gap obtained by BDM is significantly reduced to about 16%, demonstrating the effectiveness of the proposed method. Regarding the different valid inequalities, the table shows that several lifted cover cuts and infeasible path elimination constraints are identified. Their use is effective not only at the root node but also during the enumeration tree. However, the corresponding separation times are relevant as shown by columns tcover$t_\mathit {cover}$ and tp$t_p$. BDM computes optimal solutions for 135 of 288 instances. The CPU time results show that both the heuristic and the TSPTW subproblems can be efficiently solved.Table 5 gives an overview of the results of Table 4 as a function of the profit tables and the vehicle types. The table reports the total number of instances solved to optimality (#opt) and the average of the final gaps computed (g(%)$g(\%)$) for each main parameter. The overview shows that the profit tables based on the uniform profits (variant PT) are more challenging for our method, as testified by the number of instances solved to optimality (37 over 96 instances) and the final average percentage gap equal to 21.5%. Regarding the different vehicle types, the table shows that instances with lower vehicle capacities (capacity equal to 30 people) are more difficult than instances involving larger vehicles (with capacity up to 60 people), as also testified by the final average percentage gaps.5TableResults overview on the small‐sized instancesProfit tables#optg(%)$g (\%)$Vehicle types#optg(%)$g (\%)$PT37/9621.5125/9623.2PT‐D56/9613.5265/9611.7PT‐S42/9616.5345/9616.7Results of the ILS algorithmThis section reports on the computational experiments performed with the use of the proposed ILS metaheuristic. The packing and routing moves (see Section 6.3) are standard solution modification mechanisms that have proven to be effective for BSP‐related problems. Using the aforementioned moves as the basis for comparisons, we perform computational experiments to assess the effectiveness of the MIP‐based moves. We consider the following versions of the ILS algorithm.ILS‐1: the basic implementation of the ILS using only packing and routing moves (without MIP‐based moves);ILS‐2: version ILS‐1 equipped with GAP moves;ILS‐3: version ILS‐1 equipped with OPTW/TOPTW moves;ILS: the complete version of the ILS, equipped with all move types.The four ILS versions were tested on instances with 20 POIs, 60 tourist groups and a maximum bus tour duration of four hours. Each run was terminated after the completion of 600 CPU seconds, or 200 nonimproving iterations, that is, parameters Tmax$T_{max}$ and Imax$I_{max}$ are set equal to 600 and 200 in Algorithm 2, respectively (the values of the parameters were identified as results of preliminary experiments, which were conducted to identify good parameter settings). The obtained results are provided in Table 6. Each row corresponds to a single benchmark instance. For sake of the exposition, we name a benchmark instance as xP‐yT‐zTW‐tVT‐lMV‐mat$mat$ represents a BSP test case that involves x POIs, y tourist groups, z∈{4,8}$z \in \lbrace 4,8\rbrace$ maximum tour duration, t∈{1,2,3}$t \in \lbrace 1,2,3\rbrace$ the vehicle type, l∈{1,3,5,+∞}$l \in \lbrace 1,3,5,+\infty \rbrace$ maximum visits per POI (L), and mat$mat$ type of profit matrix. Column Profit reports the best solution value and column t (seconds) reports the computing time in seconds. For ILS‐2, ILS‐3, and ILS, column impr (%) reports the solution improvement percentage with respect to ILS‐1 solution.6TableAnalysis on the main optimization‐based movesILS‐1ILS‐2ILS‐3ILSInstanceProfitt (seconds)Profitimpr (%)t (seconds)Profitimpr (%)t (seconds)Profitimpr (%)t (seconds)toptw$t_{optw}$ttoptw$t_{toptw}$tgap$t_{gap}$20P‐60T‐4TW‐1VT‐1MV‐PT13740.114032.116.413790.3617.614092.5531.8027.54.220P‐60T‐4TW‐1VT‐1MV‐PT‐D19510.120283.954.120525.1818.420525.1812.409.03.320P‐60T‐4TW‐1VT‐1MV‐PT‐S10860.111203.1316.910991.2081.811324.2470.3065.94.420P‐60T‐4TW‐2VT‐1MV‐PT13890.114202.232.214695.76307.114856.91414.30412.61.620P‐60T‐4TW‐2VT‐1MV‐PT‐D20610.120931.551.121765.5831.421765.5823.6022.60.920P‐60T‐4TW‐2VT‐1MV‐PT‐S12690.212710.162.512690601.812710.16601.10600.40.720P‐60T‐4TW‐3VT‐1MV‐PT14930.11468−1.674.91493047.415161.5453.4050.72.620P‐60T‐4TW‐3VT‐1MV‐PT‐D21750.122111.664.422111.6619.022111.6613.2011.12.120P‐60T‐4TW‐3VT‐1MV‐PT‐S12700.112730.243.412720.16162.612760.47117.80115.22.420P‐60T‐4TW‐1VT‐3MV‐PT16330.116782.765.51631−0.12602.516380.31474.40471.23.120P‐60T‐4TW‐1VT‐3MV‐PT‐D23030.223441.7812.023542.21335.223542.21163.40159.83.420P‐60T‐4TW‐1VT‐3MV‐PT‐S13940.21345−3.527.714030.65579.61379−1.08603.90603.70.220P‐60T‐4TW‐2VT‐3MV‐PT15110.115905.233.916398.47249.116317.94173.5172.401.020P‐60T‐4TW‐2VT‐3MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.400.920P‐60T‐4TW‐2VT‐3MV‐PT‐S12950.113615.102.514249.96159.014249.96142.4141.500.820P‐60T‐4TW‐3VT‐3MV‐PT17180.11689−1.696.117320.81611.81667−2.97605.70605.60.120P‐60T‐4TW‐3VT‐3MV‐PT‐D22530.12190−2.802.023052.31327.723122.62236.80234.82.020P‐60T‐4TW‐3VT‐3MV‐PT‐S14310.114340.212.71421−0.70602.514310608.80608.60.220P‐60T‐4TW‐1VT‐5MV‐PT16450.216832.314.717345.41603.817566.75438.10434.33.720P‐60T‐4TW‐1VT‐5MV‐PT‐D23150.22238−3.333.623541.68408.123541.68417.20414.22.920P‐60T‐4TW‐1VT‐5MV‐PT‐S13710.113800.663.414163.28608.014264.01543.90540.63.320P‐60T‐4TW‐2VT‐5MV‐PT15110.115905.233.916398.47248.616317.94173.2172.101.020P‐60T‐4TW‐2VT‐5MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.400.920P‐60T‐4TW‐2VT‐5MV‐PT‐S12950.113615.102.514249.96159.714249.96142.6141.800.820P‐60T‐4TW‐3VT‐5MV‐PT16910.116980.412.317573.90192.317493.43129.3127.202.020P‐60T‐4TW‐3VT‐5MV‐PT‐D22640.12211−2.342.323162.305.023142.2112.19.702.320P‐60T‐4TW‐3VT‐5MV‐PT‐S14300.11422−0.562.714410.77105.314410.77154.0150.903.020P‐60T‐4TW‐1VT‐∞MV‐PT16740.217132.338.017776.15190.217725.85157.0153.603.320P‐60T‐4TW‐1VT‐∞MV‐PT‐D23370.12193−6.163.423540.738.623540.736.23.003.120P‐60T‐4TW‐1VT‐∞MV‐PT‐S13870.11344−3.104.514353.46119.414383.68122.0118.503.420P‐60T‐4TW‐2VT‐∞MV‐PT15110.115905.233.916398.47248.416317.94173.1172.001.020P‐60T‐4TW‐2VT‐∞MV‐PT‐D21280.22071−2.681.721762.266.321762.267.46.301.020P‐60T‐4TW‐2VT‐∞MV‐PT‐S12950.113615.102.514249.96160.114249.96142.1141.300.820P‐60T‐4TW‐3VT‐∞MV‐PT16910.116980.412.317573.90192.417493.43129.1127.002.120P‐60T‐4TW‐3VT‐∞MV‐PT‐D22640.12211−2.342.323162.304.923142.2112.19.702.320P‐60T‐4TW‐3VT‐∞MV‐PT‐S14300.11422−0.562.714410.77105.714410.77153.9150.803.0All61,1010.161,2460.244.163,0813.24225.963,1103.29202.150.3149.72.0For the complete version ILS, column toptw$t_{optw}$, ttoptw$t_{toptw}$, and tbpp$t_{bpp}$ provides the computational time required for solving the OPTW, TOPTW, and GAP models (MIP‐based moves), respectively.In terms of the solution profit, it is evident that the incorporation of the MIP‐moves leads to significant solution improvements. Incorporating the GAP moves (ILS‐2) in the basic scheme (ILS‐1) improves the solution quality obtained for 22 of the 36 test cases, with an average improvement of 0.24%. The required CPU times are significantly increased, however the heuristic remains very fast (about four CPU seconds, on average). The solution improvement effect is stronger for the OPTW/TOPTW moves (ILS‐3). Compared to the basic scheme (ILS‐1), the OPTW/TOPTW moves manage to improve 32 of the 36 solutions, whereas the average improvement is about 3.2%. However, the CPU times required for solving the OPTW and TOPTW models increase the average total run time to about 226 seconds. The complete algorithm version (ILS) outperforms all three other versions, regarding the profit objective for all 36 benchmark instances, with an average total run time of about 202 seconds. This is lower than the ILS‐3 version, since in the complete version half of the MIP‐based moves correspond to the solution of the easier GAP model.To further verify the effectiveness of the ILS moves, we also considered the following versions of the basic implementation ILS‐1 (see also Section 6.3.1):ILS‐1‐a: without group relocation moves;ILS‐1‐b: without the option of reversing a route segment in the 2‐opt moves;ILS‐1‐c: without the packing moves (group relocation and group swap).To verify the impact of the packing moves on algorithm ILS, we also considered an additional version of the algorithm, denoted as ILS‐4, which is obtained by disabling the packing moves.For these experiments, we considered the instances with |P|=20$|P|=20$ and |T|=60$|T|=60$. In particular, we analyze the results obtained by grouping the instances based on the type of TW constraints, that is, four‐hour tours (named 4TW) and eight‐hour tours (8TW), for a total of 36×2=72$36 \times 2 = 72$ instances.The results obtained are summarized in Table 7. For each version of implementations and group of instances (type of TW and profit matrices “PT”), the table shows the average percentage gaps of the different versions with respect to the basic version ILS‐1, that is, g(%)=100×(z(ILS-1)−z(ILS-1-x))/z(ILS-1)$g(\%)=100\times (z(\text{{ILS}-1})-z(\text{{ILS}-1-x}))/z(\text{{ILS}-1)}$, x∈{a,b,c}$x \in \lbrace a,b,c\rbrace$, where z(ILS-1)$z(\text{{ILS}-1})$ and z(ILS-1-x)$z(\text{{ILS}-1-x})$ are the total sum of the profits of the instances in the group for ILS‐1 and ILS‐1‐x, respectively. For version ILS‐4, column g(%)$g(\%)$ gives the average gaps of algorithms ILS and ILS‐4. For all the algorithm versions considered, columns t(%)$t(\%)$ report the average percentage gap of computing times. The last line of the table reports the average gaps computed over the different group of instances. In the table, because of the maximization objective, a gap g(%)$g(\%)$ greater than zero indicates that the corresponding version shows worse average performance with respect to the reference version. Conversely, regarding columns t(%)$t(\%)$, a gap greater than zero indicates that the corresponding version has improved average performance with respect to the reference version.7TableAnalysis on the optimization‐based moves: relocation, 2‐opt, and packing movesILS‐1‐aILS‐1‐bILS‐1‐cILS‐4TWPTg(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$g(%)$g(\%)$t(%)$t(\%)$4TWPT−0.2816.60.483.218.7745.0−0.1120.9PT‐D1.1214.20.36−0.335.1433.50.1137.8PT‐S0.6924.5−0.500.66.6538.3−0.0723.28TWPT1.7412.82.335.314.0628.0−0.085.1PT‐D1.51−8.10.68−12.935.7133.10.0727.6PT‐S1.994.51.020.75.3620.3−0.042.71.2810.70.86−0.521.6332.8−0.0112.1The results obtained can be summarized as follows:The results of version ILS‐1‐c shows that the packing moves greatly play a key role in improving the quality of the solutions of the basic version ILS‐1 and that the additional computational times is worth it. The moves are particularly useful for profit matrices PT‐D showing dissimilar preferences of tourists among the POIs, a case close to the practice.The comparison between ILS‐1‐a and ILS‐1‐c shows that the main source of the improvements of ILS‐1‐c can be attributed to the group swap moves. Regarding the group relocation moves, because the size of a group ranges in [1, 5] which is relatively small compared to the vehicle capacity (30 and 60), this type of move could be useful being the group sizes small. Indeed, the group relocation moves are useful if some buses have some empty seats in a BSP solution, that is, if ∑k∈KQk>∑j∈Tqj$\sum _{k \in K} Q_k &gt; \sum _{j \in T} q_j$. For example, as shown in Table 1, for the instances with 30 groups, the total number of available seats is a bit larger than the number of people.The analysis of version ILS‐1‐b shows that removing the reversing of a route segment produces on average worse solutions as shown by the average gap equal to about 1%. This is particularly true for the instances with eight‐hour tours (8TW) showing weaker TW constraints than the 4TW group of instances.The results of version ILS‐4 indicate that ILS‐4 produces on average slightly improved solutions than ILS, at a slightly lower average computing time. However, it is worth noting that on the profit matrices of type PT‐D, ILS‐4 obtains on average worse results than ILS, thus showing the importance of using the packing moves for profit matrices of type PT‐D.Table 8 reports a comparison between the exact method BDM and the ILS algorithm on the set of instances involving up to 20 POIs and 30 groups. For sake of the comparison, five ILS executions were made, each using a different seed value for the various random decisions. Each row of Table 8 corresponds to a set of eight benchmark instances (four L values and two bus tour duration limits). Average values over the eight instances are given as follows: Column Profit reports the average total profits and column t (seconds) provides the average CPU time in seconds. Since ILS was run five times for each test set, columns Best profit, Avg profit, Best impr (%), and Avg impr (%) provide the total profit of the best solutions found (over the five runs), the average profit value (over the five runs), the percentage of profit improvement of the best ILS solutions with respect to the BDM solutions, the percentage of profit improvement of the average ILS solutions (over the five runs) with respect to the BDM solutions.8TableComparison results on small‐sized instancesBDMILS|P|$|P|$|T|$|T|$VTPTProfitt (seconds)Best profitAvg profitBest impr (%)Avg impr (%)t (seconds)10301PT‐D18,07824.018,07818,0780.000.001.5PT‐S13,5592748.313,56513,5650.040.043.5PT14,7362938.014,75514,748.60.130.094.42PT‐D16,8011.016,80116,8010.000.000.7PT‐S14,3084.714,30814,307.40.000.001.3PT14,7012.914,70114,698.60.00−0.021.23PT‐D18,0244.718,02818,0280.020.021.1PT‐S14,398104.314,39814,3980.000.002.3PT15,18971.215,18915,1720.00−0.112.710601PT‐D34,0974325.634,12034,1200.070.075.3PT‐S27,0615534.127,10827,102.20.170.1512.7PT28,3126635.628,64328,585.21.170.9611.72PT‐D35,58013.235,58035,5800.000.001.4PT‐S30,50829.530,50830,421.60.00−0.282.6PT29,758234.629,75829,7240.00−0.113.23PT‐D35,9231462.935,90835,848.2−0.04−0.214.5PT‐S30,2254437.130,22730,226.80.010.018.0PT30,2285478.430,28730,196.80.20−0.107.220301PT‐D11,0237200.212,22712,19010.9210.5927.8PT‐S97127200.2984298201.341.11388.6PT84257200.290478975.87.386.54238.52PT‐D97763610.210,18810,150.24.213.83244.9PT‐S10,1023626.710,26210,206.81.581.04340.6PT82353628.485548425.23.872.31307.63PT‐D10,9474709.511,66611,664.86.576.56133.2PT‐S10,2296151.310,29810,257.20.670.28353.2PT84616675.588858805.45.014.07295.920601PT‐D17,6227200.424,22024,185.437.4437.25116.8PT‐S11,4737200.414,63514,49027.5626.30453.9PT15,4527200.416,89316,700.49.338.08352.42PT‐D20,8446073.323,25323,25311.5611.56202.2PT‐S14,7806659.315,74415,642.86.525.84430.4PT15,7217200.316,87216,554.27.325.30440.93PT‐D15,7007200.324,89124,776.658.5457.8158.4PT‐S96727200.315,66915,612.462.0061.42436.9PT11,0957200.317,48617,244.657.6055.43365.1All640,7552933.2682,594680,556.26.536.21146.2The obtained results demonstrate that the proposed ILS method is effective for the BSP model. For the instances with just 10 POIs (the majority of which were optimally solved by BDM) ILS matched or improved the obtained BDM solutions. ILS improves BDM solution objectives for 8 of 18 test sets and the average improvement is about 0.09%. In addition, ILS appears to be significantly faster than BDM. For the instances of 20 POIs, ILS superiority is particularly striking. Indeed, ILS outperforms BDM both in terms of solution profit and computing times. Overall, the ILS computed slightly worse solutions only for two instances. The average solution profit increase managed by the ILS method compared to the BDM is about 6.53% over all the test instances considered in Table 8.Finally, Table 9 provides the results obtained by applying the proposed ILS method on larger BSP instances, involving up to 40 POIs and 60 groups, where again 5 ILS executions were made in order to attest its effectiveness over repeated runs. The same instance grouping and columns as in Table 8 are used. The results reported serve as a basis for future algorithmic comparisons.9TableILS results on instances with up to 40 POIs and 60 groups|P|$|P|$|T|$|T|$VTPTBest profitAvg profitt (seconds)|P|$|P|$|T|$|T|$VTPTBest profitAvg profitt (seconds)30301VTPT‐D11,01410,863.687.640301VTPT‐D77597559.2101.6PT‐S81138016.8475.1PT‐S53265216.4282.3PT80667851.4307.4PT56615523.4214.12VTPT‐D95369372.8338.82VTPT‐D67896560.2214.1PT‐S83578211.6554.6PT‐S53855253.4416.4PT77497622481.7PT55035370378.03VTPT‐D10,65610,552196.63VTPT‐D75247292.4116.9PT‐S83648280.2509.0PT‐S54425373.8389.9PT81017957.6434.4PT57105638.6274.830601VTPT‐D22,04121,759.6194.940601VTPT‐D15,61615,314.2212.0PT‐S15,95515,674471.4PT‐S10,48310,346.4382.7PT15,48215,185.4328.0PT10,38010,160.8316.82VTPT‐D21,21421,105.2507.62VTPT‐D1473114274.2346.3PT‐S17,74217,474.6600.9PT‐S11,40011,095.2590.2PT15,78315,376.8584.6PT10,37710,075.8573.03VTPT‐D22,35722,236.2290.93VTPT‐D15,61015,297.8257.3PT‐S17,50317,275.6547.7PT‐S11,38111,173.2504.8PT16,09115,756.4490.9PT10,67310,399.6422.9Both BDM and ILS algorithms could be useful in supporting the decision‐making in a sightseeing or travel company. As mentioned above, the BSP deals with a tactical problem faced by a company that wants to plan its bus tours and activities in anticipation. The designed bus routes can be part of sightseeing packages which are offered directly to tourists or sell to travel agencies as a proposal for touristic packages. According to the performance of BDM and ILS, the computational times can be compatible with the operational requirements. For small‐sized instances, BDM can find optimal solutions within a limited amount of computing time. For larger instances, the ILS is also applicable and its computing time can be tailored depending on the operational requirements. Also, in some situation where last‐minute requests are encountered or some requirements are changed, a new solution can be efficiently obtained by performing local changes to an existing plan.Conclusions and future researchIn this paper, a new VRPP is introduced, called the BSP. The BSP calls for the determination of bus routes that maximize the collected profit enjoyed by tourists on board. To do so, decisions for two levels have to be jointly made: assignment of tourists to bus routes, routing of bus routes to POIs offered by the touristic destination considered. The BSP model generalizes the known challenging VRPP, such as the team OP with TW. In particular, it can be viewed as a generalization of the TTDP by considering multiple tours and different tourist preferences on the POI locations.The paper proposes a BSP mathematical formulation. Based on this formulation, an exact logic‐based Benders decomposition methodology is designed and presented. In addition, a metaheuristic algorithm based on an ILS framework is proposed, equipped with move types which solve MIP subproblems. The exact and heuristic algorithms are extensively assessed on a set of 576 newly constructed BSP benchmark instances. These test instances have been constructed to represent challenging BSP instances of diverse characteristics regarding several aspects of the problem, such as the size of POI and tourist group sets, composition of the bus fleet, duration of the sightseeing tours and preferences of tourists to POIs. Several experiments aimed at testing the effectiveness of the various algorithmic components are performed and reported. The obtained results demonstrate that BSP instances with up to 20 POIs and 30 tourist groups can be consistently solved to optimality by the proposed exact method. In addition, high‐quality solutions can be obtained by the proposed metaheuristic algorithm for instances involving up to 20 POIs and 60 groups and instances with up to 40 POIs and 60 tourist groups were solved by the metaheuristic algorithm.We see two main topics for future research. First, we aim to investigate alternative mathematical formulations, from which deriving new dual bounds. In particular, we want to investigate set partitioning like formulations strengthened by adding valid inequalities and corresponding dual bounds computed in a column generation fashion. It is worth noting that, due to the structure of the BSP objective function, the classical set‐partitioning formulation adopted to solve several variants of the vehicle routing problem (including problems with profits) cannot be used directly to model the BSP. Moreover, as pointed out also by Gavalas et al. (2014), TTDPs might have additional, complex operational requirements and constraints, such as accessibility features of sites, each bus can perform multiple routes during its working period, multiple TW, mandatory POIs preferences, to name a few. Hence, further work will be needed to investigate how these additional requirements can be embedded into our solution approaches. Furthermore, to further test the solution algorithms, future work will also focus on collecting data from real‐world applications of the BSP.AcknowledgmentsWe thank the associate editor and the anonymous reviewers whose constructive comments helped to improve the original version of this paper. The first two authors were financially supported by the National Natural Science Foundation of China (grant nos. 72101187, 72021002, and 72171111) and the Fundamental Research Funds for the Central Universities.Open Access funding provided by the Qatar National Library.ReferencesArchetti, C., Speranza, M.G., Vigo, D., 2014. Vehicle routing problems with profits. In Toth, P., Vigo, D. (eds) Vehicle Routing: Problems, Methods, and Applications, Vol. 18. SIAM, Philadelphia, PA, pp. 273–297.Baker, E., 1983. An exact algorithm for the time‐constrained traveling salesman problem. Operations Research 31, 5, 938–945.Baldacci, R., Mingozzi, A., Roberti, R., 2012. New state‐space relaxations for solving the traveling salesman problem with time windows. INFORMS Journal on Computing 24, 3, 356–371.Baxter, J., 1981. Local optima avoidance in depot location. The Journal of the Operational Research Society 32, 9, 815–819.Benders, J.F., 1962. Partitioning procedures for solving mixed‐variables programming problems. Numerische Mathematik 4, 1, 238–252.Codato, G., Fischetti, M., 2006. Combinatorial Benders' cuts for mixed‐integer linear programming. Operations Research 54, 4, 756–766.Crowder, H., Johnson, E.L., Padberg, M., 1983. Solving large‐scale zero‐one linear programming problems. Operations Research 31, 5, 803–834.Feillet, D., Dejax, P., Gendreau, M., 2005. Traveling salesman problems with profits. Transportation Science 39, 2, 188–205.Garcia, A., Vansteenwegen, P., Arbelaitz, O., Souffriau, W., Linaza, M.T., 2013. Integrating public transportation in personalised electronic tourist guides. Computers & Operations Research 40, 3, 758–774.Gavalas, D., Konstantopoulos, C., Mastakas, K., Pantziou, G., 2014. A survey on algorithmic approaches for solving tourist trip design problems. Journal of Heuristics 20, 3, 291–328.Geoffrion, A.M., 1972. Generalized Benders decomposition. Journal of Optimization Theory and Applications 10, 4, 237–260.Gunawan, A., Lau, H.C., Vansteenwegen, P., Lu, K., 2017. Well‐tuned algorithms for the team orienteering problem with time windows. Journal of the Operational Research Society 68, 8, 861–876.Hansen, P., Mladenovié, N., Brimberg, J., Pérez, J.A.M., 2019. Variable neighborhood search. In Gendreau, M., Potvin, J.Y. (eds) Handbook of Metaheuristics. Springer International, Cham, pp. 57–97.Hooker, J.N., 2000. Logic‐Based Methods for Optimization. John Wiley & Sons, Hoboken, NJ.Hooker, J.N., Ottosson, G., 2003. Logic‐based Benders decomposition. Mathematical Programming 96, 1, 33–60.Hu, Q., Lim, A., 2014. An iterative three‐component heuristic for the team orienteering problem with time windows. European Journal of Operational Research 232, 2, 276–286.IBM CPLEX, 2018. IBM ILOG CPLEX 12.8.0 callable library. Available at https://www.ibm.com/support/pages/detailed‐system‐requirements‐ibm‐ilog‐cplex‐optimization‐studio.Labadie, N., Mansini, R., Melechovský, R. J. Wolfler Calvo, 2012. The team orienteering problem with time windows: an LP‐based granular variable neighborhood search. European Journal of Operational Research 220, 1, 15–27.Labadie, N., Melechovský, J., Wolfler Calvo, R., 2011. Hybridized evolutionary local search algorithm for the team orienteering problem with time windows. Journal of Heuristics 17, 6, 729–753.Lourenço, H.R., Martin, O.C., Stützle, T., 2019. Iterated Local Search: Framework and Applications. Springer International, Cham. pp. 129–168.Malucelli, F., Giovannini, A., Nonato, M., 2015. Designing single origin‐destination itineraries for several classes of cycle‐tourists. Transportation Research Procedia 10, 413–422.Martello, S., Toth, P., 1990. Knapsack Problems: Algorithms and Computer Implementations. John Wiley & Sons, Chichester.Mladenović, N., Hansen, P., 1997. Variable neighborhood search. Computers & Operations Research 24, 11, 1097–1100.Nemhauser, G.L., Wolsey, L.A., 1988. Integer and Combinatorial Optimization. Wiley Interscience, New York, NY.Righini, G., Salani, M., 2006. Dynamic programming for the orienteering problem with time windows. Working Paper. University of Milan.Ruiz‐Meza, J., Montoya‐Torres, J.R., 2022. A systematic literature review for the tourist trip design problem: extensions, solution techniques and future research lines. Operations Research Perspectives 9, 100228.Savelsbergh, M.W.P., 1985. Local search in routing problems with time windows. Annals of Operations Research 4, 1, 285–305.Souffriau, W., Vansteenwegen, P., Vanden Berghe, G., Van Oudheusden, D., 2013. The multiconstraint team orienteering problem with multiple time windows. Transportation Science 47, 1, 53–63.Vanderbeck, F., Wolsey, L.A., 2010. Reformulation and decomposition of integer programs. In Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds) 50 Years of Integer Programming 1958‐2008: From the Early Years to the State‐of‐the‐Art. Springer, Berlin, pp. 431–502.Vansteenwegen, P., Gunawan, A., Vansteenwegen, P., Gunawan, A., 2019a. Applications of the OP. In Orienteering Problems: Models and Algorithms for Vehicle Routing Problems with Profits. Springer International, Cham, pp. 83–93.Vansteenwegen, P., Gunawan, A., Vansteenwegen, P., Gunawan, A., 2019b. State‐of‐the‐art solution techniques for OPTW and TOPTW. In Orienteering Problems: Models and Algorithms for Vehicle Routing Problems with Profits. Springer International, Cham, pp. 67–81.Vansteenwegen, P., Souffriau, W., Berghe, G.V., Oudheusden, D.V., 2009. A guided local search metaheuristic for the team orienteering problem. European Journal of Operational Research 196, 1, 118–127.Wei, L., Zhang, Z., Lim, A., 2014. An adaptive variable neighborhood search for a heterogeneous fleet vehicle routing problem with three‐dimensional loading constraints. IEEE Computational Intelligence Magazine 9, 4, 18–30.Wei, L., Zhang, Z., Zhang, D., Lim, A., 2015. A variable neighborhood search for the capacitated vehicle routing problem with two‐dimensional loading constraints. European Journal of Operational Research 243, 3, 798–814.Zachariadis, E., Kiranoudis, C., 2011. A local search metaheuristic algorithm for the vehicle routing problem with simultaneous pick‐ups and deliveries. Expert Systems With Applications 38, 2717–2726.Zhang, Z., Luo, Z., Baldacci, R., Lim, A., 2021. A Benders decomposition approach for the multi‐vehicle production routing problem with order‐up‐to‐level policy. Transportation Science 55, 1, 160–178.

Journal

International Transactions in Operational ResearchWiley

Published: Nov 1, 2023

Keywords: branch and cut; local search based metaheuristic; orienteering; profit collection; sightseeing; vehicle routing

There are no references for this article.