Advances in Fuzzy Systems

Advances in Fuzzy Systems / 2015 / Article

Research Article | Open Access

Volume 2015 |Article ID 569248 |

Madhushi Verma, K. K. Shukla, "Application of Fuzzy Optimization to the Orienteering Problem", Advances in Fuzzy Systems, vol. 2015, Article ID 569248, 12 pages, 2015.

Application of Fuzzy Optimization to the Orienteering Problem

Academic Editor: Katsuhiro Honda
Received05 Feb 2015
Accepted18 Jun 2015
Published13 Jul 2015


This paper deals with the orienteering problem (OP) which is a combination of two well-known problems (i.e., travelling salesman problem and the knapsack problem). OP is an NP-hard problem and is useful in appropriately modeling several challenging applications. As the parameters involved in these applications cannot be measured precisely, depicting them using crisp numbers is unrealistic. Further, the decision maker may be satisfied with graded satisfaction levels of solutions, which cannot be formulated using a crisp program. To deal with the above-stated two issues, we formulate the fuzzy orienteering problem (FOP) and provide a method to solve it. Here we state the two necessary conditions of OP of maximizing the total collected score and minimizing the time taken to traverse a path (within the specified time bound) as fuzzy goals and the remaining necessary conditions as crisp constraints. Using the max-min formulation of the fuzzy sets obtained from the fuzzy goals, we calculate the fuzzy decision sets ( and ) that contain the feasible paths and the desirable paths, respectively, along with the degrees to which they are acceptable. To efficiently solve large instances of FOP, we also present a parallel algorithm on CREW PRAM model.

1. Introduction

The orienteering problem (OP) is an NP-hard problem, derived from the game of orienteering where the player is required to start from the initial control point and arrive at the final control point within the specified time limit, at the same time collecting the rewards (Score) assigned to each of the checkpoints that link the initial control point to the final control point. All those players who arrive at the final control point after the time expires are disqualified and the player reaching the final control point within the allotted time and with the maximum collected score is declared as the winner of the game. This game reflects many real life situations related to the field of logistics, tourism, building telecommunication networks, home delivery systems, and so forth, which can be modelled as OP [1]. There are four types of OP which include the simple orienteering problem, team orienteering problem, orienteering problem with time window, and team orienteering problem with time window. The OP can be observed as a combination of two well-known problems, that is, travelling salesman problem (TSP) and the knapsack problem (KP), where the objective of maximizing the score is derived from KP and the objective of minimizing the time taken to travel from the initial control point and final control point is similar to the objective of TSP with the difference that in TSP all the vertices connecting the source to the target should be visited once, but in OP it is not necessary to visit all the intermediate checkpoints [1]. One real life application of OP is in the tourism industry where tourists come to visit the cities which are rich in culture and traditions and have some historical significance. The aim is to visit as many locations (including palaces, museums, monuments, and restaurants) as possible within their duration of stay. Due to the restriction of time it is not possible to visit all the places, so depending upon the choice and taste of the tourist, the guide can assign priorities to the various locations to be visited and then explore as many of them as possible within the time frame available so as to make their trip as economical and as beneficial as possible [2]. As seen in the stated example, the two parameters involved, that is, time and score, cannot be determined precisely as the priorities differ from one tourist to another and the time taken to travel from one location to another cannot be predicted exactly. So, the uncertainty in both the parameters can be modelled in a better way by representing them using fuzzy numbers instead of crisp or real numbers.

Since the orienteering problem is NP-hard, several heuristic algorithms and a few approximation algorithms are available in the literature. Some of the first heuristics for OP were the stochastic (S-algorithm) and deterministic (D-algorithm) ones suggested by Tsiligirides in 1984 [3]. In 1987, a center-of-gravity heuristic was proposed by Golden et al. [4]. A four-phase heuristic was introduced by Ramesh and Brown in 1991 [5]. An artificial neural network based approach was proposed by Wang et al. in 1995 [6] and, in 1996, a five-step heuristic was suggested by Chao et al. [7]. A branch-and-cut heuristic for OP was stated by Fischetti et al. in 1998 [8]. The first genetic algorithm for OP was developed by Tasgetiren in 2001 [9]. In 2002, Liang et al. proposed and compared a tabu search and an ant colony optimization approach for OP [10]. The approximations known for Prize Collecting Travelling Salesman Problem can be easily extended for the unrooted version of OP [11, 12] and, for the rooted version, a constant factor approximation was suggested by Blum et al. [13]. A heuristic method based on the greedy randomized adaptive search procedure and the path relinking methodologies was proposed in 2013 by Campos et al. [14].

This paper reports the first use of fuzzy logic to tackle the uncertainty involved in the two parameters (score and time). We introduce the fuzzy orienteering problem (FOP) and model the parameters involved as trapezoidal fuzzy numbers (TFNs). Several types of fuzzy numbers exist like Gaussian fuzzy numbers, exponential fuzzy numbers, quadratic fuzzy numbers, triangular fuzzy numbers, and trapezoidal fuzzy numbers, but here we prefer TFN because its computation is simple; it has a linear membership function and is the most generic class, so it is widely used in the applied engineering problems and in the scientific field.

In Section 2, we state necessary definitions and Section 3 provides the explanation of fuzzy optimization. In Section 4, the problem definition is stated. Section 5 explains the fuzzy formulation of OP along with the steps to deal with it and obtain a solution. The proposed method of solving FOP is demonstrated in Section 6 through an illustrative example. In Section 7, the parallel algorithm for FOP is presented and, finally, the paper is concluded in Section 8.

2. Preliminaries

Definition 1 (trapezoidal fuzzy numbers (TFNs)). A fuzzy number is an extension of the crisp or real number which refers to a set of possible values represented by a membership function, each of which is assigned a weight called its grade of membership between 0 and 1 whereas the crisp number is associated with a single value.
For any crisp set which is a subset of the universal set , the membership function is denoted by which assigns a value within called the grade of membership to every element of . So, the set is called a fuzzy set. A fuzzy set , whose membership function possess the properties stated below, is called a fuzzy number [15]:(a) is piecewise continuous,(b) is convex , , ,(c) is normal , where is the universal set of real numbers.
Fuzzy numbers are used to represent those parameters which are imprecise and, in several real life applications, parameters like cost, time, demand, capacity, and so forth are involved for which it is not possible to specify exact values. In these situations, it is appropriate to use a fuzzy number instead of a crisp number as they provide a more practical presentation of the real world. There are several types of fuzzy numbers, each of which can be defined by a membership function. In this paper, to represent the two parameters time and score as fuzzy numbers, we use TFN. For a trapezoidal fuzzy number represented as , the membership function is as follows [15]: where .

Definition 2 (addition of TFN). In applications where the goal is to maximize or minimize some fuzzy quantity, some intermediate mathematical operations are to be performed which mostly include addition. For the problem stated here, we need to maximize the score acquired within a given time bound and for this we need to add the weights assigned to the vertices to calculate the score and the weights assigned to the edges to determine the time taken by a path. As stated the parameters here are considered to be TFNs and the mathematical operations performed on fuzzy numbers (like addition) differ from the usual crisp case.
Two TFNs represented as and can be added using the following formula [15]:

Definition 3 (ranking of TFN). In case of crisp numbers, there exists a natural ordering which clearly states that a real number is greater/smaller than other real numbers, but the absence of such a natural ordering in case of fuzzy numbers leads to the requirement of formulating a ranking method, using which the fuzzy numbers can be ordered. Here we use the circumcenter of centroids (COC) method for ranking TFN. Several methods are available in the literature for ranking of TFN, most of which use the centroid of the trapezoid for ranking considering it to be a balancing point, but in the method suggested by Rao and Shankar, the COC value is used for the ranking purpose. The COC is considered to be a better point of reference as it is obtained by calculating the circumcenter of the triangle formed by joining the centroids of the three subparts of the trapezoid which include two triangles and one rectangle [16].
As suggested by Rao and Shankar [16], if , thenUsing this value of , the rank of the TFN is obtained using the following formula:If we have two fuzzy numbers and , then if and vice versa. When , it is difficult to determine the ordering and some additional information is used as suggested by Rao and Shankar to tackle the situation.

Index of Optimism. The degree of optimism of the decision maker was taken care of by this index as stated by Rao and Shankar in [16]. So the decision maker’s view point was also considered and, for any TFN and , the formula for the index is as follows [16]:Larger value of shows that the decision maker is optimistic, whereas smaller values depict the situation where the decision maker is pessimistic.

Index of Modality. Another index was introduced by Rao and Shankar to tackle the situation where the rank of two TFNs becomes equal because the index of optimism alone may not be sufficient in such a case to determine the ranking as it considers only the importance of extreme values. The index of modality considers the importance of central value as well as the extreme values and the formula to determine the index is as follows [16]:If we have two TFNs and , with , then when and vice versa.

Definition 4 (expected value of trapezoidal fuzzy number (EV)). To determine the grade of membership of a TFN, that is, to find out the degree to which the TFN satisfies the specified requirement, we need to calculate its expected value and then use Definition 1. The formula for expected value as used by Jimenez et al. in [17] is as follows.
For a given TFN ,This defuzzification technique is used as it is the simplest possible and gives satisfactory results for the fuzzy orienteering problem. It will be interesting to study other defuzzification techniques although the general conclusions of the paper will remain unaffected.

Definition 5 (fuzzy decision set ()). Fuzzy decision set is a set of elements providing a feasible solution to the stated problem. The fuzzy linear programming problem can have several goals, each represented by a membership function and a fuzzy set () containing the elements along with their grades of membership obtained using the membership function [17].
We define the fuzzy decision aswhere represents a - which can be any operation like minimum, algebraic product, and so forth. In case of OP, represents operation. To obtain the most desirable solution, we determine the element with the highest membership degree in the fuzzy decision set , that is, the value of that maximizes the membership function of fuzzy decision denoted by , using the equation stated below:where denotes the fuzzy set of the most desirable solutions.

3. Fuzzy Optimization

In engineering design or decision making problems, a large number of feasible solutions are available and to choose the solution which is the best one from this set, we need to concentrate on the uncertainty associated with the variables that lead to the optimal solution. Probabilistic concepts can take care of the randomness that arises due to natural fluctuation or natural variations, but the uncertainty that comes into existence due to qualitative statements, vague statements, vague nature of the objective, and linguistic statements showing the willingness of the decision maker (like the solution is acceptable, low, satisfactory, etc.) cannot be addressed through probabilistic concepts, so we introduce the concept of fuzzy logic in solving the optimization problems. In the crisp definition of optimization problems, we have crisp conditions where solutions violating the constraints or not satisfying the objective function are completely unacceptable, but, in fuzzy optimization, the concept of degree is introduced. The solution becomes a matter of degree; that is, degree of acceptability or degree of satisfaction is associated with the constraints and the objective functions, and this way we provide a latitude to the acceptability of a solution. This degree of acceptability linked with the objective functions and constraints can be reflected through fuzzy membership functions.

To deal with the situations where several stakeholders vaguely state their preferences as constraints or objective functions using linguistic statements, we convert these statements into fuzzy sets or fuzzy membership functions and then using some technique find out the best “compromise solution.” In fuzzy optimization, we do not distinguish between the objective functions and the constraints; instead we refer to them as fuzzy goals, represented in the form of fuzzy sets defined by their respective membership functions. So, the latitude or uncertainty present in the decision making is tackled through these membership functions. In addition to the fuzzy goals, we can also have crisp constraints modelling the physical conditions or technological feasibility that have to be met in a particular solution.

The whole idea of fuzzy optimization is to allow for latitude in the constraints and flexibility in the objective function. Instead of a 0-1 type solution, we allow for some violation of the original constraints to some degree, set certain limit for the objective function, and accept solutions on both sides of the limit to different degrees. The objective function and the set of constraints are converted into fuzzy sets; their associated membership functions are defined and then all the membership functions are combined to determine the fuzzy decision. Through fuzzy optimization, the preferences of the decision maker are quantified and the uncertainty due to vagueness, imprecision, and so forth, which is common in decision making problems, is tackled using membership functions [1820].

4. Problem Definition

The orienteering problem can be represented by a completely connected undirected graph , where is the set of vertices and is the set of edges. A score is associated with every vertex and the time taken to traverse each edge is denoted by . The goal here is to determine a path connecting any subset of that necessarily includes the start vertex and the end vertex , satisfies the time bound , and also maximizes the total collected score [1].

In this paper, we present the fuzzy orienteering problem (FOP) where the two quantities involved, that is, time and score, are considered to be fuzzy numbers. The reason to introduce fuzziness into the formulation of OP is that the crisp mathematical formulation is very strict in three ways: (1) the objective function should be either maximized or minimized, (2) none of the constraints should be violated as it leads to an infeasible solution, and (3) all constraints are given equal importance. However, these three necessary requirements lead to an unrealistic representation of the real world. By partly relaxing these using fuzzy logic, we can model the physical world in a more realistic manner. Several situations might exist in real life applications that can be easily represented in the fuzzy environment which may include the following [21].(1)The decision maker is not willing to maximize or minimize the objective function; instead he wants to reach some aspiration level like “improving the present fuel consumption situation to some extent” in transportation problems which cannot even be defined or stated in the crisp case.(2)Maybe the decision maker is willing to accept small violations in the constraints especially when the objective function deals with the aspiration levels and the less than or greater than relation is not required to be followed in the strict mathematical sense. Moreover, the parameters or variables involved may have vagueness which cannot be expressed in the crisp formulation.(3)In the crisp representation, all constraints are of equal importance but maybe, for the decision maker, different constraints have different importance and small violations of different constraints may be acceptable to different degrees.

In this fuzzy formulation of OP, we have recognized that the parameters time and score are fuzzy in nature and in the fuzzy version we provide latitude to the desired solution by relaxing the constraints to some extent and stating the degree up to which they are feasible. Here we do not distinguish between objective function and constraints; instead the two necessary conditions of maximizing the total collected score and following the time bound are represented as two goals which are conflicting as one is to be maximized and the other one is to be minimized. These are represented as linear membership functions and the rest of the constraints are considered to be crisp. The detailed explanation of the fuzzy formulation is presented in the next section.

5. Fuzzy Formulation of OP

The fuzzy version can be represented in the following way showing by tilde the parameters that have a fuzzy character:As stated above, the constraints represented by (10) and (14) are considered to be fuzzy and represent the two conflicting goals of maximizing the total collected score and minimizing the time taken to traverse a path, respectively. The symbols and in (10) and (14) represent the fuzzy score and fuzzy time values, respectively. The remaining constraints represented by (11), (12), (13), (15), (16), and (17) remain crisp. The variable denotes the position of vertex in the path and if vertex is visited after vertex , then ; else . The necessary condition that each path starts in and ends in is ensured by (11). The constraint that each path remains connected and no vertex is visited more than once in a path is taken care of by (12)-(13) and the requirement of eliminating subtours is implemented by (15)-(16) [1]. The symbols “” and “” are the fuzzy version of “” and “” representing the “fuzzy greater than or equal to” and “fuzzy less than or equal to,” respectively. The meaning of these symbols is that the constraints can be violated to some extent and, depending on the importance of the constraint, this violation leads to different degree of acceptance [22]. For example, in (10), the symbol “” indicates that the total collected score of a particular path should be greater than (most desirable case), but those paths which have their total collected score slightly less than , that is, up to , are also acceptable but to a lesser degree. Similarly, in (14), the total time taken to traverse a path should be less than (most acceptable case), but paths having their total time greater than are also acceptable to different degrees up to the limit of as signified by the symbol “.” The two fuzzy goals can be represented by their membership functions as shown in Figures 1 and 2. The fuzzy decision sets and are depicted in Figure 3. It denotes the best “compromise solution” which is obtained by the following max-min formulation:The intersection of the two fuzzy sets ( and ) is the minimum value of the two fuzzy sets for each , which forms the fuzzy decision set (as shown by dark straight lines) and the maximum value of this decision set forms the other set which holds the most desirable solution (as shown by the dashed line) of Figure 3.

FOP Algorithm. The following are the steps to determine the path that maximizes the total collected score within the specified time limit for a given with nodes.(1)Determine all the possible paths () connecting and (using (11), (12), (13), (15), (16), and (17)).(2)For each possible path,(a)calculate the total time taken to traverse the path and the total collected score (using Definition 2 and (2));(b)calculate the expected value of the total time taken to traverse the path and the total collected score (using Definition 4 and (7));(c)calculate its membership degree for the membership function of time (using (14) and Figure 2); let it be denoted by fuzzy set ;(d)calculate its membership degree for the membership function of score (using (10) and Figure 1); let it be denoted by fuzzy set .(3)Determine the feasible paths denoted by the fuzzy decision set obtained using Definition 5 and (8).(4)The most desirable path (final solution) is denoted by the fuzzy decision set obtained using Definition 5 and (9).(5)If the fuzzy decision set contains more than one path, the total collected score () for each of the paths in can be ranked (using Definition 3 and (3), (4), (5), and (6)) to determine the path that maximizes the total collected score.

6. Illustrative Example

Consider the network in Figure 4 with total number of nodes and the value for edge weights and node weights of are stated in Tables 1 and 2, respectively.

EdgeLabelFuzzy time values


NodeLabelFuzzy score values


Step 1. All possible paths connecting and are found that satisfy (11), (12), (13), (15), (16), and (17) and are as follows:

Step 2. (a) Table 3 shows the total time taken to traverse and total collected score for each of the above stated paths which is calculated using Definition 2 and (2).
(b) Next we calculate the expected value of the total time taken to traverse the path and the total collected score using Definition 4 and (7) for each of the paths to as shown in Table 4.
(c) and (d) The grade of membership of each possible path from to is determined for both the membership functions (time and score) using (10) and (14) and Figures 1 and 2 and their values are shown in Table 5.
So, the two fuzzy sets and for the total time taken and total collected score, respectively, are as follows:

PathTotal time taken to traverseTotal collected score

PathEV (total time taken)EV (total collected score)


Path () ()


Step 3. Now the fuzzy decision set is obtained using Definition 5 and (8) to determine all the feasible paths along with the membership grades stating the degree up to which each of the feasible paths is acceptable.
Here, , where to is used to calculate :

Step 4. Finally, the fuzzy decision set is obtained using Definition 5 and (9) that contains the desirable path:

Step 5. As can be observed from Step 4, there are three paths that are desirable as they fulfil all the crisp constraints and the two fuzzy goals. To conclude with one most desirable path among the three available in , we use the ranking method described in Definition 3 and use (3), (4), (5), and (6) to rank the score of each path in and determine the best one. The values for which are shown in Table 6.
So, the most desirable path is as it has the highest rank.



7. Parallel Formulation of FOP

To solve the FOP more efficiently and to yield a better and improved performance when applied on large instances, we present a parallel algorithm for FOP that uses the CREW PRAM (Concurrent Read Exclusive Write Parallel Random Access Machine) model. In a PRAM model, several processors are connected to a common block of shared memory. This shared memory can be accessed by all the processors and these processors communicate with each other by reading from or by writing to the shared memory. In a PRAM model, each processor is like a sequential RAM and can perform the arithmetic operations, assignment, comparison, memory access, and so forth in unit time. In CREW PRAM, more than one processor can read concurrently from the same cell of the shared memory but cannot write into the same cell concurrently; that is, write operation has to be exclusive [23, 24]. For each parallel algorithm, the following terms are computed to determine whether it is work optimal or not [24]:Any parallel algorithm is said to be work optimal if it has a linear speedup and an efficiency of 1.

If we have a graph with nodes, then the maximum number of edges possible in the path connecting the source vertex and the destination vertex is , so the total number of possible paths can be calculated using the following formula:Figure 5 shows the several steps of the proposed parallel algorithm for FOP.

In the parallel formulation of FOP, the module computes the total number of possible paths () for a given input graph using (24) sequentially. We assume that the number of processors is equal to the total number of paths (). This value is utilized by the following parallel modules to output the path in connecting and that maximizes the total collected score and minimizes the total travel time. If the module returns more than one path with the same maximum value of membership value (MV), then the module sequentially ranks the total collected score (TS) of the paths with the same maximum value of MV using the COC method of ranking fuzzy numbers and using Definition 3 and (3), (4), (5), and (6). Finally, the path with the highest rank is returned as the most desirable path.

The pseudocode for each of the modules is as follows.

. See Pseudocode 1. The valid paths can be computed in time using CREW PRAM processors.

     // A path is valid if it satisfies the constraints stated in (11), (12), (13), (15), (16) and (17).

So, Therefore, this parallel module is work optimal.

. See Pseudocode 2.  The values for TTT and TS for each of the paths in can be obtained in time using CREW PRAM processors.

     // TTT (Total Time Taken) for each VALID path is calculated using Definition 2 and (2).
     // TS (Total Collected Score) for each VALID path is calculated using Definition 2 and (2).

So, Therefore, this parallel module is work optimal.

. See Pseudocode 3.  The membership values for TTT and TS for each of the paths in can be calculated in time using CREW PRAM processors.

     // MV (Membership Value) for TTT (Total Time Taken) is calculated using Definition 4 and (7), (14) and Figure 2.
     // MV (Membership Value) for TS (Total Collected Score) is calculated using Definition 4 and (7), (10) and Figure 1.


Therefore, this parallel module is work optimal.

. See Pseudocode 4.  The minimum of the two membership values for TTT and TS for each of the paths in can be computed in time using