Next Article in Journal
Factors Affecting Purchase Intentions in Generation Y: An Empirical Evidence from Fast Food Industry in Malaysia
Previous Article in Journal
Women’s Role in the Accounting Profession: A Comparative Study between Italy and Romania
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Methodology to Solve the Combination of the Generalized Assignment Problem and the Vehicle Routing Problem: A Case Study in Drug and Medical Instrument Sales and Service

by
Malichan Thongkham
1,* and
Sasitorn Kaewman
2
1
Department of Marketing, Mahasarakarm Business School, Mahasarakham University, Maha Sarakham 44000, Thailand
2
Department of Computer Science, Faculty of informatics, Mahasarakham University, Maha Sarakham 44000, Thailand
*
Author to whom correspondence should be addressed.
Adm. Sci. 2019, 9(1), 3; https://doi.org/10.3390/admsci9010003
Submission received: 30 September 2018 / Revised: 8 December 2018 / Accepted: 20 December 2018 / Published: 26 December 2018

Abstract

:
This article presents algorithms for solving a special case of the vehicle routing problem (VRP). We define our proposed problem of a special VRP case as a combination of two hard problems: the generalized assignment and the vehicle routing problem. The different evolution (DE) algorithm is used to solve the problem. The recombination process of the original DE is modified by adding two more sets of vectors—best vector and random vector—and using two other sets—target vector and trial vector. The linear probability formula is proposed to potentially use one out of the four sets of vectors. This is called the modified DE (MDE) algorithm. Two local searches are integrated into the MDE algorithm: exchange and insert. These procedures create a DE and MDE that use (1) no local search techniques, (2) two local search techniques, (3) only the exchange procedure, and (4) only the insert procedure. This generates four DE algorithms and four MDE algorithms. The proposed methods are tested with 15 tested instances and one case study. The current procedure is compared with all proposed heuristics. The computational result shows that, in the case study, the best DE algorithm (DE-4) has a 1.6% better solution than that of the current practice, whereas the MDE algorithm is 8.2% better. The MDE algorithm that uses the same local search as the DE algorithms generates a maximum 5.814% better solution than that of the DE algorithms.

1. Introduction

Marketing techniques are a major factor that can affect sale volume due to the high competitiveness in the real global market. Many techniques have been used in various types of markets to sell different products. Drug and medical instrument sales and service (DMIS) are products that require special marketing techniques. The marketing technique used in DMIS is one where the company sends a seller to meet the customers in their working place to entice, convince, and provide new information to the customers. This can be interpreted as direct sales as the seller attends the customer’s location to sell the product. The DMIS customers include hospitals, medical clinics, beauty clinics, drug stores, etc. The profit from DMIS is the number of products the company can sell and minus it the cost incurred. The cost of DMIS comprises production, labor, travel, administrative, accommodation, and managerial costs etc. In this study, the production, administrative, overhead, and managerial costs are approximated as the operation cost which is shown in cost per unit of the product and we assume that other cost terms are not significant and are included in the overhead cost. A certain number of sellers will be sent to sell and service a group of customers. In assigning the different customers to the seller, the sales may change as sellers have different skill levels (experience) and the customers have different stimulation probability (probability of the customer increasing the volume of product when the sellers convince them). When assigning a number of customers to be served by one seller, there is the potential for a generalized assignment problem (GAP). This may occur when the seller constructs their travel plan. The road that connects the customers has different conditions, which affect the driving speed. The driving speed affects both the fuel consumption and the traveling time. This problem can be interpreted as a GAP because we assign the customers to a group of sellers and the traveling times are affected. In one day, the sellers have only eight hours of traveling. Therefore, this problem can also be categorized as a GAP.
The GAP problem is one of how to assign the customers to sellers. When assigning the different customers to the sellers, the traveling route, which has different traveling times (consuming different resources), is affected. Assigning a customer to be served by different sellers may generate different sales volumes, which affects the total profit obtained by the firm. Generally, in a GAP, only the resource consumption difference, when assigning different customers to a seller, is determined but in the proposed problem, the objective function is also affected. Therefore, the proposed heuristic is a special case of GAP.
Many studies have attempted to find a good solution to the traditional GAP. Several exact methods have been used, such as branch and bound (Ross and Soland 1975), the multiplier adjustment method (Fisher and Jaikumar 1981), and the branch and price method (Savelsbergh 1997). Heuristic and metaheuristic methods have been widely used to solve GAP due to requiring much less computational time than the exact methods, such as the differential evolution algorithm (Sethanan and Pitakaso 2016a), Simulated Annealing (Osman 1995), Tabu Search (Laguna et al. 1995; Diaz and Fernandez 2001), genetic algorithm (Chu and Beasley 1997), and bee algorithm (Özbakir et al. 2010).
After the customers have been assigned to a group of sellers, the sellers in that group create their traveling plan. They have to visit all assigned customers within five days, and some customers may require more than one visit during the trip. The sellers may sleep in the city where the last customer in their daily plan is located. This is interpreted as a vehicle routing problem (VRP). The goal of the VRP is to construct a route to minimize traveling distance. The road conditions that affect the driving speed are not considered traditionally. The driving speed affects the fuel consumption rate, which affects the total cost to visit all customers. In this study, the objective function was changed from minimizing the total distance to minimizing the cost to the firm to visit all customers.
VRP involves a defined number of customers and sellers. The solution to the VRP is the optimal traveling plan for each seller. After the seller finishes their route, they return to the depot or the head office. VRP was introduced by Dantzig and Ramser (Dantzig and Ramser 1959), and Lenstra and Kan (Lenstra and Rinnooy Kan 1981) proved that VRP is a Non Polynomial-hard problem (NP-hard problem). Various types of VRP have been consecutively proposed after Dantzig and Ramser (Dantzig and Ramser 1959), such as VRP with time windows, heterogeneous fleet, or Multi-Depot Heterogeneous Vehicle Routing Problem with Time Windows (Bettinelli et al. 2011; Xu et al. 2012). Braekers et al. (2015) provided an overview of the scenario and the problem’s physical characteristics, extending the basic incapacitated VRP, which was most often considered in the reviewed articles. The special case of the VRP problem was proposed by Kaewman and Akararungruangkul (2018) and Akararungruangkul and Kaewman (2018), where one pickup point can be visited more than once and the road condition is considered as the objective function.
The proposed problem is one where the GAP and VRP are integrated. To the best of our knowledge, no study has addressed this problem. The VRP is usually integrated with the scheduling problem (Han et al. 2017; Zhan et al. 2015; Nair et al. 2018). The most relevant work was proposed by Hervert-Escobar et al. (2016), who presented an integrated approach to the assignment, scheduling, and routing problems in a sales territory business plan. This paper determined the minimum number of sellers required to attend a set of customers located in a certain region, considering the weekly schedule plan of the visits and forming the optimal route. In our study, the customers are not yet grouped, and the sellers work in a group in which another seller can visit a customer instead of the usual seller when the usual seller is not free. The customers may be visited more than once; they can ask to be visited more than once in a period by a seller. Our routing phase of the problem is also different from that proposed by Hervert-Escobar et al. (2016). The proposed problem integrated the accommodation cost. Therefore, the decision maker must return to the head office as soon as possible so that the accommodation cost is minimized. Furthermore, the sellers’ skill level, customers’ stimulation level, road condition, and average driving speed, which affects the fuel consumption rate (Fuel Economy in Automobiles (Wikipedia 2018)), were introduced in our problem. Finally, the total profit was used instead of the total cost, as in other studies, as the introduced terms affect the sales volume or the costs. Overall, the problem is a very hard combinatorial optimization problem.
In developing the methodology to solve the VRP and GAP problem, many methods have been proposed, such as Simulated Annealing (Osman 1995), Tabu search (Laguna et al. 1995; Diaz and Fernandez 2001), BEE algorithm (Özbakir et al. 2010), the evolutionary algorithm (Weise 2010), and the genetics algorithm (Liu et al. 2012). Recently, the differential evolution (DE) algorithms have been successfully applied to solve VRP, GAP, and other combinatorial optimization problems.
The DE algorithm applies population-based metaheuristics, which is one of the most powerful and interesting evolutionary algorithms. Generally, it has four common steps: (1) generate the initial solution; (2) the mutation process; (3) the recombination process, and (4) the selection process. DE has been successfully applied in several fields, such as production scheduling (Pitakaso 2015; Pitakaso and Sethanan 2015) and manufacturing problems (López Cruz et al. 2003). Dechampai et al. (2015) proposed a DE to solve the capacitated VRP with the flexibility of mixing pickup and delivery services and maximum duration of a route in the poultry industry. Akararungruangkul and Kaewman (2018) proposed a DE to solve the special case of VRP in a student pickup system. They also modify the mutation process by using a different formulae to increase the search capacity of DE. The computational result showed that the new formula outperforms the traditional DE formula.
Sethanan and Pitakaso (2016b) improved DE by adding two more steps, the reincarnation and survival processes, to improve the intensification search of the DE. These steps were added after the selection process. Sethanan and Pitakaso (2016a) improved the DE algorithms by adding effective local searches to increase the search mechanism of DE for solving the generalized assignment problem. The use of different mutation and recombination processes and matching to improve the solution quality has shown that using different pairs of mutation and recombination processes produced different quality solutions (Sethanan and Pitakaso 2016b; Boon et al. 2013). From the literature, DE is more effective if the local search is included, but this increases the computational time. DE has been modified by adding some more processes to the original version, such as recombination, reborn, and reincarnation processes, to obtain a better solution. These processes can improve the solution quality of the original DE by enhancing the search capability of the original system.
In this study, we attempted to enhance the search capacity of the DE by adding both diversification and/or exploration and intensification. We modified the recombination process by adding more choice to obtain new trial vectors. Originally, two types of vectors were used: target and mutant vectors. We added two more vectors: (1) best vector, which is used to increase the intensive search capability, and (2) random vector, which is used to increase the exploration capability. The chance of using these four types of vectors is controlled by the newly designed equation.
This article is organized as follows. In Section 2, we explain the case study of the proposed problem and in Section 3 outline our procedure. Section 4 presents the proposed heuristics. Section 5 provides the computational results, and Section 6 outlines our conclusions.

2. The Case Study and Problem Definition

The company we identified is one which sells drugs to hospitals and drug stores in Thailand. The company is located in Bangkok. There are 133 hospitals and 227 drug stores to be serviced. The customers are located in every province of Thailand. The number of sellers that the company hires is 50. The maximum number of sellers in each group cannot exceed 10. Thus, the minimum number of groups has to be at least equal to the number of regions in Thailand. In Thailand, there are five regions which are North, North-east, South, West, and Center-East. Therefore, 50 sellers have to be divided into, at least, five groups. The problem of the company is how to find the daily optimal route that generates the maximum profit for the company. The actors who are involved are customers, sellers, and the cities in which the customer is located. To make the case study are more understandable for the reader, we will use a small example to explain the case study as follows. As shown in Figure 1 and Figure 2, there are 12 customers and three sellers, as an example of the DMIS problem. The minimum demand, the probability of the customer buying more than the minimum demand (stimulation level), the number of visits required, and the order in a particular week are shown in Table 1. Notably, it is possible that a customer needs more than one visit during one planning period. If so, this customer cannot be visited on two consecutive days; at least one day is needed to allow the customer time to consider before meeting the seller again. The unit’s selling price is 120 baht, and the total production cost per unit is 40 baht. Therefore, the profit margin of this product is 80 baht per unit.
The distance between customers (road) and the average speed on that road, which depends on the condition of the road, are used to calculate the fuel consumption rate of the road. An example of the proposed problem is as follows. There are three sellers, sellers A, B and C, and the standard salary of a seller is 24,000 Baht; therefore, weekly wages are 6000 baht. The skill levels of A, B, and C are 1.2, 1.0, and 1.3, respectively. The weekly wages of the seller are calculated from the base wages multiplied by the skill level. Therefore, the weekly wage of A, B, and C are 7200, 6000, and 7800 baht, respectively. The required solution of the problem is shown in Table 2.
Table 2 provides an example of the expected solution of the DMIS. The 12 customers are divided into 2 groups: the first group includes customers 1, 2, 3, 4, 5, 7, 9, 10, and 11, while the second group includes customers 6, 8, and 12. The first group is serviced by sellers A and B, while the second group of customer is serviced by seller C. The seller starts from customer one’s area and returns to customer one as well. In a day, the city in which the last customer in that route is located is used as the rest area (accommodation cost incurred) of the seller before they start the next route the next day.
Table 2 shows that sellers A and B work five days while seller C works four days. The order collected is the minimum order for the customer. The expected order is calculated by the probability of increasing demand of that customer multiplied by the experience level of the seller and the minimum demand of that customer. For example, on day two, seller A has route seven to three, the skill level of seller A is 1.2, and the probability of increasing the demand of customer 3 is 0.12, and demand of customer 3 is 210; therefore, the expected order is 30.24 units. The total product order is the order collected plus the expected order collected. Therefore, on day two, the total product order is 240.24 units. The result of time used, minimum demand collected, and expected increasing demand is shown in Table 2.
The total orders collected (including expected order) of sellers A, B, and C are 2080.76, 1517.02, and 1273.25 units, respectively. Rounded up, these numbers are 2081, 1518, and 1274 units, respectively. Thus, the profit margin of this company will be 4872 × 80 = 389,760 baht. Regarding road travel, the fuel consumed for all trips is 201.474 L. This was determined by the distance between each connection multiplied by the fuel consumption rate for that connection (road). For example, the distance between customers 7 and 3 is 150 km (given information), and the fuel consumption rate of this connection is 0.09. The fuel used to travel this connection is, therefore, 13.5 L. The fuel cost is 33 baht per liter; therefore, the fuel cost is 201.474 × 33 = 6648.642 baht.
The base weekly wage of the seller is 6000 baht, and the income is this base multiplied by the skill level. Thus, sellers A, B, and C have weekly wages of 7200, 6000, and 7800 baht, respectively. Total weekly seller wages are 21,000 Baht.
The next expense of the company is the sellers’ commission, which can be calculated from the total sales volume multiplied by the commission rate. If the commission rate is 5% of total sales volume and the total sales are 4872 units, the total income is 4872 × 120 × 0.05 = 29,232 Baht.
The last expense is the hotel cost. The number of nights the sellers have to sleep in a hotel occurs when the last customer that a particular seller visits in a day is not customer 1. From Table 2, there are 11 nights. The hotel cost is 550 Baht per night. Thus, the total hotel cost is 6050 baht.
The total expense comprises fuel cost, weekly wage of the seller, accommodation cost, and commission, and is 6648.642 + 21,000 + 29,232 + 6050 = 62,930.642 Baht. The total profit of the company for this week is 389,760 − 62,930.642 = 326,829.358 Baht.
Figure 3 represents the income component of the company, which is the total sale units (TS) multiplied by the selling price (Pr). The total sale units comprises the minimum sale units, which is the minimum guaranteed order of the customer plus the expected sales units, which is the expected increased order quantity, dependent on the chance to increase the order of the customer and the seller experience. The total cost is subtracted from the income, which includes fuel cost, unit cost, hotel cost, weekly income, and the commission. The total cost component is shown in Figure 4, and the total cost calculation is shown in Figure 5.

3. Current Practice Procedure (CPP)

The current practice procedure (CPP) is the method that the company is currently using to solve the seller scheduling problem (Figure 1). The CPP procedure is shown in Figure 6.
From the example given in Section 2, the result of applying the CPP method is shown in the following details. From Table 1, there are 19 visits, therefore, B = 19. Then, using Equation (1), the maximum number of visits for each seller is P = 19 3 = 6.33 ≈ 7. When B and P are obtained, the next step of the CPP method is to find OS and OS. Therefore, O C = {1, 7, 6, 3, 2, 8, 9, 4, 12, 5, 10, 11}, due to having the following demand, {200, 930, 450, 450, 400, 330, 300, 300, 290, 240, 200, 190}, and O S = {C, A, B} due to the following skill level {1.3, 1.2, 1.0}. When Step 5 is executed while maintaining conditions 1–5, the result is shown in Table 3.
After the daily travel plan of each seller has been determined in Step 5, Step 6 is applied using the criteria of grouping the sellers. Seller B will pick seller C to join their group. The next step is re-routing the grouped sellers using nearest neighbor heuristics. The nearest neighbor is the heuristics where we select the next customer to visit after the current customer by selecting the closest customer to the current customer. The result is shown in Table 4.
The total profit was calculated as shown in Section 2. The result is shown in Table 5. The total profit of this planning is 368,484.523 Baht. We programmed the current practice procedure in C++. In the first iteration of the current practice that we programmed was exactly the same as Steps 1–8. In the next iterations, a random number [0, 1] was picked to multiply the demand of the customer and the skill level of the seller. Therefore, in each iteration, the solution changed because the order of the customer and seller have changed. This enables the current practice to be compared with the proposed heuristics, which will be explained in the next session.

4. The Proposed Heuristic

Generally, a differential evolution algorithm (DE) comprises four general steps: (1) generate the initial solution; (2) implement the mutation process; (3) execute the recombination process, and (4) complete the selection process. The DE was developed in an attempt to increase the search performance of the original DE algorithm.
The proposed heuristics is called the modified differential evolution algorithm (MDE). Two sets of vectors were introduced to the recombination process: a set of best vectors (BV), and a set of random vectors (RV). Therefore, four sets of vectors were used to process the recombination of the vectors: (1) target vector (TV), (2) mutant vector (MV), (3) best vector, and (4) random vector. To execute the recombination process at each iteration, two values of crossover rate (CR) (CR1 and CR2) were used to determine which set of vectors would be used. The proposed algorithm is explained step-by-step in the following section.

4.1. Generate Initial Solution

In this section, two main procedures are explained: (1) the encoding and (2) the decoding methods. The encoding method is where we design and present the DE’s solution, which is used to execute each step of the DE. As the DE mechanism was first designed to use with continuous optimization, but the proposed problem is a combinatorial optimization, a decoding method was needed to transform the DE solution into the proposed problem’s solution.

4.1.1. Encoding Method

A vector that represents the problem comprises two entities: customer’s and seller’s vector, called target vectors. These two vectors are used to decode to obtain one solution of the proposed problem. The customer vectors are shown in Table 6. There are five customer vectors or number of populations of the customer’s vector (NPc). Each vector has the size of 1 × C, where C is number of customers. A customer’s vector includes C (in Table 6, C = 12) positions. The value in each position is randomly generated in the first iteration, whereas other iterations are obtained from the DE process.
Another type of vector that was used to construct the solution for the proposed problem is the seller’s vector, which is shown in Table 7. A seller’s vector has the size of 1 × S and has NP vectors (NP is the number of populations of the seller’s vector). This vector is also randomly generated. In Table 7, NPs equals 4 while S = 3.
From Table 7, there are three sellers and five vectors. For example, vector 5 includes three positions: 0.65, 0.14, and 0.94. The solution of the proposed problem is determined by the decoding method using these two sets of vectors, which will be explained in Section 4.1.2.

4.1.2. Decoding Method

The decoding method was used to transform the vectors shown in Table 6 and Table 7 into the proposed problem’s solution, as shown in Figure 7. From the example in Section 2, using the procedure given in Figure 7, G is calculated using Equation (2) when TS = 3 and if MS = 2 when TS = total number of seller, and MS = maximum number of the sellers that can be assigned to each group. Therefore, G equals to 2 groups. Step 2 provides the order of the seller ( O S ). This order is obtained by sorting the sellers according to their value in the position of that vector. An example of finding the O S of vector 2 is shown in Table 8. In Step 3, using the information shown in Table 8, the seller in order O S is assigned to 2 groups of sellers. When MS = 2, group 1 comprises two sellers (sellers B and C) and group 2 has one member, which is seller A. In Step 4, order O C is obtained. The sorting is conducted by the value in the position of the vector. An example of the O C of vector 1 is shown in Table 9. In Step 5, use Equation (3) to calculate Nv. From the example, Nv = 19/3 = 6.33 ≈ 7. The next step (step 6) constructs the route for each seller. An example of the route construction is shown in Table 10.
From Table 10, we can observe that we expected to sell a total of 5102.28 ≈ 5103 units. The total fuel used was 206.638 (calculated from the total distance multiplied by the type of road). The cost calculation of the routes constructed from the previous steps is shown in Table 11.
The last step of the proposed procedure is applying a local search to the solution shown in Table 10. The first local search is the exchange algorithm (EA). EA involves picking two customers and exchanging their position in the route. For example, on day 3, group 1 follows the route 4-2-12 and the next day, 12-11-6. This route consumes 36.413 L of fuel. If customers 2 and 12 are selected to be exchanged, the new route will be 4-12-2 and 2-11-6, and this route consumes 41.9 L of fuel. The fuel consumption was not reduced. Thus, this route is declined. We continued to perform EA until all customers were exchanged. The second local search is the insertion algorithm (IA). This algorithm was used to move a customer from a route into another route such as 4-2-12 and 12-11-6. If customer 2 is moved out from their route to another, for example, between 12-11, then the new routes will be 4-2 and 12-2-11-6. This insertion is needed to check the time limit, and all conditions of the assignment must be satisfied before the move will be permanently inserted. Finally, the insert is only carried out when the fuel usage is reduced.

4.2. Execute Mutation Process

Some target vectors, which are provided in Table 6 and Table 7, were randomly selected to execute the mutation process. The result of the mutation process is called the mutant vector. Mutant vectors were produced using Equation (4). We first randomly selected three vectors out of the NPc/NPs target vectors. Customer vectors and seller vectors were treated separately. Let r 1 ,   r 2 , and r 3 denote the randomly selected vectors from the target vector (both sets of vectors). F is the scaling factor. In the proposed heuristics all F were set to 0.8; i is the vector number; j is the vector’s position; G is the current iteration of the simulation; X r 1 , j , G , X r 2 , j , G , and X r 3 , j , G are the values in the position of the target vector r 1 ,   r 2 , and r 3 , respectively; and V i , j , G + 1 is the mutant vector generated for vector i, position j in iteration G + 1.
Each group of vectors (customer or seller) use the same controlled parameters, such as F and CR (recombination rate).
V i , j , G + 1 = X r 1 , j , G + F ( X r 2 , j , G X r 3 , j , G )
An example of how to use Equation (1) is explained as follows. We assume that F = 2. To obtain the first mutant vector we randomly selected three vectors ( r 1 ,   r 2 , and r 3 ) which are given in Table 7. The selected target vectors are 4, 2, and 3. The first position of mutant vector #1 ( V 1 , 1 , G + 1 ) is 0.79 + 2 × (0.61 − 0.95) = 0.11. This mechanism will be applied to all position (j = 1, 2, and 3). Although, the mutant vector 1 is 0.11, 1.37, and 0.48. All four mutant vectors (equals to number of NPs) will be executed in the same manner.

4.3. Execute Recombination Process

Originally, Equation (2) is used to construct the trial vector ( U i , j , G ) using the information from the mutant vector ( V i , j , G ) and target vector ( X i , j , G ).
U i , j , G = { V i , j , G i f   r a n d i , j C R   X i , j , G i f   r a n d i , j > C R
where r a n d i , j is the random number of position j of vector i.
The MDE in Equation (2) is rewritten as in Equaltion (3)
U i , j , G = { V i , j , G B V i f   r a n d i , j C R 1   V i , j , G R V i f   C R 1 < r a n d i , j C R 2 V i , j , G i f   C R 2 <   r a n d i , j C R 3 X i , j , G i f   C R 3 < r a n d i , j
where V i , j , G B V is the set of best vectors, V i , j , G R V is the set of random vectors, and CR1, CR2, and CR3 are predefined parameters. CR1, CR2, and CR3 control the moving of the search area of the algorithm. When CR1 is high, the solution is guided by the current best solution. If the space between CR1 and CR2 is high, the new exploration behavior is enhanced. CR3 level controls the use of the old target vector, or mutant vector.
The self-adaptive CR1, CR2, and CR3 are used to adjust the parameter values. The adaptive CR1, CR2, and CR3 are calculated as follows. Let CR2 be the center probability of selecting all types of vectors. Set minimum CR2 (BCR) and maximum CR2 (MCR). From the preliminary test, the best BCR is 0.2, and the best MCR is 0.8. CR2 is iteratively calculated using Equation (4), where MT is the maximum iteration, and G is the current iterations.
C R 2 = { B C R + G M T i f   B C R + G M T M C R   M C R o t h e r w i s e
If B C R is 0.2 and M C R is 0.8, CR3 is calculated using Equation (5):
C R 3 = 1.00 C R 2 2 + G M T [ M C R 3 C R 2 2 ]
MCR3 was set to the maximum value of CR3, which was 0.9.
The using of best vector (BV) and random vector (RV) is controlled by CR1. CR1 is calculated using Equation (6):
C R 1 = { C R 2 2 G N B M T × 0.25 i f   C R 2 2 G N B M T × 0.25 M i n C R 1 M i n C R 1 o t h e r w i s e
where G N B is the number of iterations when the new best solution is not found and M i n C R 1 is the minimum value of CR1 that is allowed. CR1 starts from C R 2 2 and resets itself when the new best solution is found.

4.4. Perform Selection Process

The result of the selection process is the new target vector ( X i , j , G + 1 ), which uses Equation (7) to select the new target from the previous target vector or the trial vector:
X i , j , G + 1 = { U i , j , G if   f ( U i , j , G ) f ( X i , j , G ) X i , j , G otherwise
Equation (7) is used to select the best vector between the trial vector and the current target vector to be the new target vectors.
Steps 4.2 to 4.4 are iteratively executed. We concluded the framework of the MDE as a picture as shown in Figure 8.

5. Computational Framework and Result

The proposed heuristics was coded in Dev C++ using PC Intel Core i3 CPU 3.70 GHz Ram DDR4 8 GB. Fifteen randomly generated data were tested to compare the proposed heuristics with the current practice procedure that the company was currently using. A real-world case study was solved as well (test instance 16). The details of each test instances are given in Table 12. The detail of the proposed heuristics is shown in Table 13. The simulation was executed five times with different stopping criteria depending on the aim of testing. The best solution out of the five runs was recorded and is reported in Table 14, Table 15, Table 16, Table 17 and Table 18.
From Table 12, the number of customers started at 30 and increased to 230 customers. The case study had 350 customers. The number of sellers ranged from 4 to 50 in the case study, whereas the number of sellers in each group ranged from 2 to 10. We have eight proposed heuristics: DE-1, DE-2, DE-3, DE-4, MDE-1, MDE-2, MDE-3, and MDE-4, the detail of which is shown in Table 13.
The computational results are shown in Table 12, Table 14, and Table 16. The first experiment was executed using the number of iterations as the stopping criteria. BP is the current practice procedure that was programmed in C++. All methods were executed for 1000 iterations each using NP = 10. The computational result is shown in Table 14.
From the computational result shown in Table 14, DE with local search always improved the solution quality of the algorithm, as did MDE. To determine if the solution quality was significantly improved, the results of statistical testing are shown in Table 15.
From Table 15, we can observe that all MDE outperformed all DE algorithms. From the statistical result, either the DE or MDE algorithm, when using exchange or insertion heuristic alone, are not significantly different, which means exchange and insertion heuristic (DE-2–DE-3, MDE-2–MDE-3) have no different performance in finding a good solution. When using exchange and insertion heuristics together, the method outperforms all other heuristics.
From the computational result, MDE-4 is the best algorithm among all proposed heuristics. It generated the maximum profit for all tested instances. Comparing DE and MDE, which used the same local search (DE-2⇔MDE-2, DE-3⇔MDE-3, DE-4⇔MDE-4), MDE outperformed DE by using a new recombination process to improve the quality of the original DE.
Table 14 provides the result of simulation when all proposed heuristics use the same number of iterations (1000 iterations) as the stopping criteria. Table 16 provides the result of the simulation when we set the computational time to 90 min. We aimed to determine the performance of all heuristics when using the same computational time.
The statistical test has been executed using Wilcoxon Sign Rank test with 95% confident interval, and the computational result is shown in Table 17.
From statistical test shown in Table 17, the results correspond to the results shown in Table 15. All MDE algorithms outperformed the DE algorithms. Two local search procedures, exchange and insertion, were not significantly different in finding a solution, but when used together, they performed well.
Table 18 shows the percent difference in the heuristics, and the best solution found compared to all heuristics.
%   d i f f .   =   [ P B P H P B ] × 100 %
where P B denotes the profit generated from the best heuristic compared among all proposed heuristics and P H denotes the profit generated from an algorithm that is used to compare it with P B .
Table 18 shows that MDE-4 was the best heuristics among all proposed heuristics due to generating profit 0.00% lower than that of the best solution which means it generated 100% maximum profit among all proposed heuristics.
The next experiment was performed to discover if each heuristics perform the same when using different computational times. The computational time was set to 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, and 120 min and the results are shown in Table 19.
From the results in Table 19, we plotted a graph to visualize the progression of the simulation result when using different computational times (Figure 9). From Figure 9, all MDE algorithms found a good solution faster than the original DE algorithms. The algorithms that used local search started with a better solution than the algorithms without local search. The other value that is interesting is the difference between the solution generated from DE and MDE algorithms when using 10 min and 120 min. The large gap in the solution given different computational time means the capability of searching for a new solution is better than the algorithms with a smaller gap. The gap of each method is shown in Figure 10.
From Figure 10, the algorithms with local search had a larger gap between the first and last solution. This means that the local search enhances the searching capability of the algorithm. The MDE algorithms had larger gaps than the DE algorithms. This means the new recombination formula improves the performance of the original DE for finding a better solution.

6. Conclusions and Outlook

This article presented algorithms to solve a special case of the vehicle routing problem. The special case of the VRP had the following attributes, which are different from the original and other variants of VRP: (1) One customer can be visited more than once and if more than one visit is required, the seller cannot visit that customer on two consecutive days. (2) The customers are grouped, and each group includes some sellers. The sellers in the group can share the customers. (3) On each day, the seller sleeps in the last city they visit. (4) All sellers must return the head office when they finish their travel plan. (5) When traveling from one customer to another customer, the road condition controls the average speed on that route, which affects the fuel consumption, which may affect the travel plan.
A different evolution (DE) algorithm was used to solve the problem. The recombination process was modified by adding two more vector sets: best vector (BV) and random vector (RV), to additionally use the set of mutant or target vectors. Linear probability was proposed to enable the use of four sets of vectors. Two local search techniques were added to the modified differential evolution algorithm (MDE).
The computational result showed that the MDE algorithms outperform the DE algorithms due to different recombination process. The new recombination process enhances the intensification capability of the original DE. A good solution was guided by BV, and when it was stuck on the local optimal, the RV helped the heuristics to escape the local optimum. New mechanisms were used while we maintained the excellent search ability of the original DE because we still used the TV and MV in the MDE algorithm.
Two local searches were presented. The computational result shows that DE and MDE algorithms that use local search produce better solutions than algorithms without local search. Local searches that are exchange or insertion algorithms performed no differently in improving the solution quality, but when combined, the search capability was better than using only one local search.
In the case study, the best DE algorithm (DE-4) produced a solution 1.6% better than the current practice procedure, whereas the MDE algorithm solution was 8.2% better from the current practice procedure. Pairwise comparison of the different DE and MDE algorithms that did not use local search, used exchange, used insertion, and used both exchange and insertion algorithms produced values of 2.244%, 5.796%, 5.814%, and 6.446%, respectively, which means the recombination process used in MDE algorithms enhances the capability of the DE algorithms for all local search types.
Overall, we conclude that both local search and the new scheme of recombination work together well and increase the search ability of the original DE. This method may enable the invention of new recombination schemes for the original DE, which can increase the search capacity of the DE. An effective local search should increase the searching ability of the DE as well. These two themes are an interesting area of future research.

Author Contributions

M.T. formulate the problem, gather information, make an experiment, write the article and conclusion; S.K. design the algorithm, programming, write the articles and make the conclusion together with M.T.

Funding

This research is funded from Mahasarakarm University, Thailand.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Akararungruangkul, Raknoi, and Sasitorn Kaewman. 2018. Modified Differential Evolution Algorithm Solving the Special Case of Location Routing Problem. Mathematical and Computational Applications 23: 34. [Google Scholar] [CrossRef]
  2. Bettinelli, Andrea, Alberto Ceselli, and Giovanni Righini. 2011. A branch-and-cut-and-price algorithm for the multi-depot heterogeneous vehicle routing problem with time windows. Transportation Research 19: 723–40. [Google Scholar] [CrossRef]
  3. Teoh, Boon Ean, S.G. Ponnambalam, and Ganesan Kanagaraj. 2013. Differential evolution algorithm with local search for capacitated vehicle routing problem. International Journal of Bio-Inspired Computing 7: 321–42. [Google Scholar] [CrossRef]
  4. Braekers, Kris, Katrien Ramaekers, and Inneke Van Nieuwenhuyse. 2015. The vehicle routing problem: State of the art classification and review. Computers & Industrial Engineering 99: 300–13. [Google Scholar]
  5. Chu, Paul C., and John E. Beasley. 1997. A genetic algorithm for the generalized assignment problem. Computers & Operations Research 24: 17–23. [Google Scholar]
  6. Dantzig, George B., and John H. Ramser. 1959. The truck dispatching problem. Management Science 6: 80–91. [Google Scholar] [CrossRef]
  7. Dechampai, Darat, Ladda Tanwanichkul, Kanchana Sethanan, and Rapeepan Pitakaso. 2015. A differential evolution algorithm for the capacitated VRP with flexibility of mixing pickup and delivery services and the maximum duration of a route in poultry industry. Journal of Intelligent Manufacturing 28: 1357–76. [Google Scholar] [CrossRef]
  8. Dıaz, Juan A., and Elena Fernández. 2001. A Tabu search heuristic for the generalized assignment problem. European Journal of Operational Research 132: 22–38. [Google Scholar] [CrossRef]
  9. Fisher, Marshall L., and Ramchandran Jaikumar. 1981. A generalized assignment heuristic for vehicle routing. Networks 11: 109–24. [Google Scholar] [CrossRef]
  10. Wikipedia. 2018. Fuel Economy in Automobiles. Wikipedia. Available online: https://en.wikipedia.org/wiki/Fuel_economy_in_automobiles (accessed on 1 September 2018).
  11. Han, Shuihua, Ling Zhao, Kui Chen, Zong-wei Luo, and Deepa Mishra. 2017. Appointment scheduling and routing optimization of attended home delivery system with random customer behavior. European Journal of Operational Research 262: 966–80. [Google Scholar] [CrossRef]
  12. Hervert-Escobar, Laura, Francisco López-Ramos, and Oscar A. Esquivel-Flores. 2016. Research article Open access Integrated Approach to Assignment, Scheduling and Routing Problems in a Sales Territory Business Plan. Procedia Computer Science 80: 1887–96. [Google Scholar] [CrossRef]
  13. Kaewman, Sasitorn, and Raknoi Akararungruangkul. 2018. Heuristics Algorithms for a Heterogeneous Fleets VRP with Excessive Demand for the Vehicle at the Pickup Points, and the Longest Traveling Time Constraint: A Case Study in Prasitsuksa Songkloe, Ubonratchathani Thailand. Logistics 2: 15. [Google Scholar] [CrossRef]
  14. Laguna, Manuel, James P. Kelly, JoséLuis González-Velarde, and Fred Glover. 1995. Tabu search for the multilevel generalized assignment problem. European Journal of Operational Research 82: 176–89. [Google Scholar] [CrossRef]
  15. Lenstra, Jan Karel, and AHG Rinnooy Kan. 1981. Complexity of vehicle routing and scheduling problems. Networks 11: 221–27. [Google Scholar] [CrossRef]
  16. Liu, Linzhong, Haibo Mu, Yubo Song, Haiyan Luo, Xiaojing Li, and Fang Wu. 2012. The equilibrium generalized Assignment problem and genetic algorithm. Applied Mathematics and Computation 218: 6526–35. [Google Scholar] [CrossRef]
  17. López Cruz, I.L., L.G. Van Willigenburg, and G. Van Straten. 2003. Optimal control of nitrate in lettuce by a hybrid approach: Differential evolution and adjustable control weight gradient algorithms. Computers and Electronics in Agriculture 40: 179–97. [Google Scholar] [CrossRef]
  18. Nair, D.J., H. Grzybowska, Y. Fu, and V.V. Dixit. 2018. Scheduling and routing models for food rescue and delivery operations. Socio-Economic Planning Sciences 63: 18–32. [Google Scholar] [CrossRef]
  19. Osman, Ibrahim H. 1995. Heuristics for the generalized assignment problem: simulated annealing and tabu search approaches. OR Spektrum 17: 211–25. [Google Scholar] [CrossRef]
  20. Özbakir, Lale, Adil Baykasoğlu, and Pınar Tapkan. 2010. Bees algorithm for generalized assignment problem. Applied Mathematics and Computation 215: 3782–95. [Google Scholar] [CrossRef]
  21. Pitakaso, Rapeepan. 2015. Differential evolution algorithm for simple assembly line balancing type 1 (SALBP-1). Journal of Industrial and Production Engineering 32: 104–14. [Google Scholar] [CrossRef]
  22. Pitakaso, Rapeepan, and Kanchana Sethanan. 2015. Modified differential evolution algorithm for simple assembly line balancing with a limit on the number of machine types. Engineering Optimization 48: 253–71. [Google Scholar] [CrossRef]
  23. Ross, G. Terry, and Richard M. Soland. 1975. A branch and bound algorithm for the generalized assignment problem. Mathematical Programming 8: 91–103. [Google Scholar] [CrossRef]
  24. Savelsbergh, Martin. 1997. A branch-and-price algorithm for the generalized assignment problem. Operations Research 45: 831–41. [Google Scholar] [CrossRef]
  25. Sethanan, Kanchana, and Rapeepan Pitakaso. 2016a. Improved differential evolution algorithms for solving generalized assignment problem. Expert Systems with Applications 45: 450–59. [Google Scholar] [CrossRef]
  26. Sethanan, Kanchana, and Rapeepan Pitakaso. 2016b. Differential evolution algorithms for scheduling raw milk transportation. Computers and Electronics in Agriculture 121: 245–59. [Google Scholar] [CrossRef]
  27. Weise, Thomas, Alexander Podlich, and Christian Gorldt. 2010. Solving real-world vehicle routing problems with evolutionary algorithms. In Natural Intelligence for Scheduling, Planning and Packing Problems. Edited by Raymond Chiong and Sandeep Dhakal. Berlin and Heidelberg: Springer, pp. 29–53. [Google Scholar]
  28. Xu, Yingcheng, Li Wang, and Yuexiang Yang. 2012. A New Variable Neighborhood Search Algorithm for the Multi Depot Heterogeneous Vehicle Routing Problem with Time Windows. Electronic Notes in Discrete Mathematics 39: 289–96. [Google Scholar] [CrossRef]
  29. Zhan, Yang, Zizhuo Wang, and Guohua Wan. 2015. Home care routing and appointment scheduling with stochastic service durations. SSRN Electronic Journal. [Google Scholar] [CrossRef]
Figure 1. Unsolved problem.
Figure 1. Unsolved problem.
Admsci 09 00003 g001
Figure 2. Solved problem.
Figure 2. Solved problem.
Admsci 09 00003 g002
Figure 3. Income component.
Figure 3. Income component.
Admsci 09 00003 g003
Figure 4. Cost component.
Figure 4. Cost component.
Admsci 09 00003 g004
Figure 5. Total profit calculation.
Figure 5. Total profit calculation.
Admsci 09 00003 g005
Figure 6. CPP procedure.
Figure 6. CPP procedure.
Admsci 09 00003 g006
Figure 7. The decoding procedure.
Figure 7. The decoding procedure.
Admsci 09 00003 g007
Figure 8. Pseudo code of MDE.
Figure 8. Pseudo code of MDE.
Admsci 09 00003 g008
Figure 9. Best solution found using various computational time.
Figure 9. Best solution found using various computational time.
Admsci 09 00003 g009
Figure 10. Percent difference in the best solution found using 10 and 120 min of computational time.
Figure 10. Percent difference in the best solution found using 10 and 120 min of computational time.
Admsci 09 00003 g010
Table 1. Details of the customers.
Table 1. Details of the customers.
#C#O#DProb#S#C#O#DProb#S
112000.224073300, 320, 3100.14150
23150, 120, 1300.1511082110, 210090
32210, 2400.12150913000120
413000.2901012000.21240
512400.241201111900.13200
62220, 2500.32801212900.05150
Notes: #C = Customer name, #O = Number of orders placed by a particular customer, #D = Demand of the order, and Prob = probability to increase the demand assumed to be linearly dependent on the seller skill. #S = Service time, which is the direct sell time (minutes).
Table 2. The schedule and route planning of 12 customers and three sellers.
Table 2. The schedule and route planning of 12 customers and three sellers.
DayDetailsGroup 1Group 2
A 1.2B 1.0C 1.3
Day 1Route1-71-21-6
Time used596462265.14
Order Collect500150220
Expected Order Collect98.422.570.4
Total Order Collect488.4172.5290.4
Day 2Route7-32-4-116-8-12
Time used360455454
Order Collect210490400
Expected Order Collect30.2450.418.85
Total Order Collect240.24540.4418.85
Day 3Route3-7-911-212-6
Time used521.25196.5202
Order Collect620120250
Expected Order Collect53.7621.6104
Total Order Collect673.76141.6354
Day 4Route9-10-32-56-8-1
Time used536.5234550
Order Collect440240210
Expected Order Collect84.9669.120
Total Order Collect524.96309.12210
Day 5Route3-2-15-7-1
Time used468496
Order Collect130310
Expected Order Collect23.443.4
Total Order Collect153.4353.4
Table 3. Route results of Step 5.
Table 3. Route results of Step 5.
DaySellerCAB
1 1-7-61-21-10
2 6-3-82-9-410-11-1
3 8-7-64-2-5
4 6-8-35-12
5 3-7-112-2-1
Table 4. The new routing for each group of sellers.
Table 4. The new routing for each group of sellers.
Group 1Group 2
DayCBA
11-7-61-8-31-2
26-103-112-9-4
310-7-811-3-14-2-5
48-6 5-12
56-7-1 12-2-1
Table 5. Total profit calculation in Thai Baht.
Table 5. Total profit calculation in Thai Baht.
IncomeExpenseProfit
Total income (1)5068 × 120 = 608,160
Total production cost (2) 5068 × 40 = 202.720
Income (1)–(2) 405,440
Commission 5068 × 120 × 0.05 = 30,408375,032
Weekly wages of Seller 7200 + 6000 + 7800 = 21,000354,032
Hotel cost 10 × 550 = 5500348,532
Fuel cost 224.469 × 33 = 7407.477341,124.523
Table 6. NPc vector of 1 × C.
Table 6. NPc vector of 1 × C.
# NPcCustomer Vectors
123456789101112
10.920.540.510.220.740.500.980.450.250.900.060.14
20.600.320.140.830.890.530.370.870.090.450.870.81
30.790.300.150.940.640.170.960.800.530.130.660.51
40.900.840.060.480.190.150.720.460.240.140.470.93
50.840.930.760.820.330.190.170.400.010.590.230.94
Note: # NPc is the vector label, which ranges from 1 to 5.
Table 7. NPs vector of 1 × S.
Table 7. NPs vector of 1 × S.
# NPsSeller’s Vector# NPsSeller’s Vector
123123
10.880.450.7730.950.170.65
20.610.590.7440.790.530.30
Note: #NPs = number of population or number of vectors.
Table 8. Results of sorting the seller’s vector.
Table 8. Results of sorting the seller’s vector.
Type of Order Seller’s Vector #1
Original ordersellerABC
value0.880.450.77
Sorted ordersellerBCA
value0.450.770.88
Table 9. Results of the calculation of cumulative visiting times.
Table 9. Results of the calculation of cumulative visiting times.
Customer’s Vector #1
# Customer123456789101112
Value in position0.920.540.510.220.740.500.980.450.250.900.060.14
# Customer after sorted111249863251017
Value in position0.060.140.220.250.450.500.510.540.740.900.920.98
Table 10. Results of Step 4.
Table 10. Results of Step 4.
Group 1Group 2
B 1.0C 1.3A 1.2
Day 1Route1-21-8-31-7
Time used (minutes)462562596
Orders Collected150330500
Expected Orders Collected22.532.7698.4
Total Orders Collected172.5362.76598.4
Day 2Route2-6-43-9-57-10
Time used(minutes)480.85343.5358.287
Orders Collected520540200
Expected Orders Collected130.474.8850.4
Total Orders Collected650.4614.88250.4
Day 3Route4-2-125-3-810-7
Time used561.5568.4193.71
Orders Collected410440320
Expected Orders Collected32.570.253.76
Total Orders Collected442.5510.2373.76
Day 4Route12-11-68-1-
Time used571115
Orders Collected4400
Expected Orders Collected104.70
Total Orders Collected544.70
Day 5Route6-2-1 7-1
Time used516 388
Orders Collected130 310
Expected Orders Collected19.5 52.08
Total Orders Collected149.5 382.08
Table 11. Cost calculation of the visiting plan shown in Table 10.
Table 11. Cost calculation of the visiting plan shown in Table 10.
IncomeExpenseProfit
Total income (1)5103 × 120612,360
Total production cost (2) 5103 × 40 = 204,120
Income (1)–(2) 408,240
Commission 5103 × 120 × 0.05 = 30,618377,622
Weekly wages of Seller 7200 + 6000 + 7800 = 21,000356,622
Hotel cost 11 × 550 = 6050350,472
Fuel cost (Baht) 206.638 × 33 = 6819.054343,752.946
Note: Unit of income used in this table is Baht.
Table 12. Characteristics of the test instances and the case study.
Table 12. Characteristics of the test instances and the case study.
# Instances# Customer# Seller# Maxseller# Instances# Customer# Seller# Maxseller
130429150256
2405210175256
3456311175308
4708312190308
59011313210308
6120154142303010
7125165152303010
8150205163505010
Note: # customer is number of customers, # seller is number of sellers, and # maxSeller is the maximum number of sellers in each group.
Table 13. Details of the proposed heuristics.
Table 13. Details of the proposed heuristics.
MethodMutation EquationRecombination EquationSelection EquationLocal Search
ExchangeInsert
DE-1(1)(2)(7)××
DE-2(1)(2)(7)̸×
DE-3(1)(2)(7)×̸
DE-4(1)(2)(7)̸̸
MDE-1(1)(3)(7)××
MDE-2(1)(3)(7)̸×
MDE-3(1)(3)(7)×̸
MDE-4(1)(3)(7)̸̸
× = not using that method and / = using that method.
Table 14. Profit and computational time generated by all methods.
Table 14. Profit and computational time generated by all methods.
Method
BPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3MDE-4
1Profit89,09091,24591,24591,24591,24591,24591,24591,24591,245
Com.2.15.35.65.75.95.96.156.136.3
2Profit112,862113,341113,891113,935113,983114,143114,219114,212114,674
Com.3.47.27.47.47.87.97.947.988.01
3Profit113,084113,691114,183114,418114,581115,219115,354115,891115,925
Com.4.37.547.567.587.657.657.667.687.71
4Profit348,817361,893362,438361,871364,441364,512366,162366,134368,946
Com.10.211.612.615.515.814.315.115.617.8
5Profit416,491417,891419,482419,812419,985420,812421,472422,857438,674
Com.15.518.419.2219.5819.5918.5919.6919.5419.98
6Profit698,185699,678711,451711,439714,484714,982716,258716,583719,578
Com.16.9820.1424.3524.8726.7824.7928.8428.9830.14
7Profit704,594729,871764,158764,341771,846771,924772,412772,312779,638
Com.19.2425.4128.8229.7632.8429.5733.7933.8138.47
8Profit849,721852,744859,769858,338859,894859,913863,871863,883867,911
Com.23.7828.8934.7835.9140.7134.7841.4142.3547.87
9Profit848,871851,885853,139852,984854,475854,983856,862856,915861,476
Com.24.4128.4134.9136.7840.9638.4141.5842.9346.89
10Profit913,819915,776917,618917,887918,198919,374920,693920,581923,783
Com.25.3530.4439.8639.7143.5838.7144.1944.4549.17
11Profit914,138915,917917,831918,094919,577919,682922,941922,785923,718
Com.28.9834.2641.4742.7348.1743.0146.8546.9150.79
12Profit945,722951,898963,861963,985965,152965,265968,779968,816969,754
Com.30.8140.1446.8547.1951.2445.1751.4751.3456.81
13Profit961,649968,984971,117971,213973,381973,512974,164974,247976,889
Com.34.1544.9449.8149.1954.8448.4852.1552.6958.49
14Profit981,485984,579990,141990,468992,774993,671994,731994,889996,154
Com.38.9748.1151.5752.1456.8153.9959.7159.1967.54
15Profit985,841986,453994,724994,813995,711995,714997,619997,187998,686
Com.39.8151.3453.4853.8163.1458.9367.4167.0170.45
16.Profit1,431,9011,488,5711,494,1981,494,2481,501,9911,501,9811,580,8061,581,1171,600,768
Com.54.4369.9887.8488.6994.5192.1595.8696.11104.43
Note: Profit = profit generated by the methods (Baht) Com. = computational time (minutes), BP = Current practice method.
Table 15. Statistical test p-value of the Wilcoxon Sign Rank Test of results shown in Table 14.
Table 15. Statistical test p-value of the Wilcoxon Sign Rank Test of results shown in Table 14.
BPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3
DE-1≥0.0004
DE-2≥0.00040.00064
DE-3≥0.0004≥0.000640.192
DE-4≥0.0004≥0.0008≥0.00064≥0.00064
MDE-1≥0.0004≥0.00064≥0.00064≥0.00064≥0.00064
MDE-2≥0.0004≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064
MDE-3≥0.0004≥0.00064≥0.00064≥0.00064≥0.00064≥0.000640.28041
MDE-4≥0.0004≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064
Table 16. Profit generated in 90 min using different methods. “Best” Best is the best solution amongst all compared heuristics.
Table 16. Profit generated in 90 min using different methods. “Best” Best is the best solution amongst all compared heuristics.
BPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3MDE-4Best
190,10191,24591,24591,24591,24591,24591,24591,24591,24591,245
2113,107113,391114,013114,002114,110114,441114,674114,674114,674114,674
3113,510114,108114,871114,996115,110115,819116,312116,236116,718116,718
4351,914362,110362,549362,481364,912365,912367,814367,711369,127369,127
5416,819419,111420,018420,188421,018424,992428,917428,291439,188439,188
6698,994701,118713,380713,310715,006715,195718,221718,127720,192720,192
7709,182739,819770,018771,910776,581777,918778,001778,248781,104781,104
8850,018853,191859,891858,500859,918861,014867,171867,143869,982869,982
9849,925852,091853,419853,391855,168854,812856,918856,147863,181863,181
10913,917915,981918,819918,712918,718920,187921,821921,817924,818924,818
11914,618917,192918,198918,981919,896920,018922,872922,994924,781924,781
12945,722952,487964,104964,019965,941966,180968,981969,917971,920971,920
13963,388969,017971,981971,213973,307973,819975,191975,028977,812977,812
14982,184989,817991,216991,875993,100993,805994,983994,903996,904996,904
15985,841901,014994,981994,916996,053996,182998,094998,295999,172999,172
161,477,1241,488,5711,494,1981,494,2481,501,9911,521,9811,580,8061,581,1171,598,8131,598,813
Table 17. Statistical test of results shown in Table 16.
Table 17. Statistical test of results shown in Table 16.
BPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3
DE-1≥0.00714
DE-2≥0.00044≥0.00064
DE-3≥0.00044≥0.000640.9521
DE-4≥0.00044≥0.000640.0012≥0.00064
MDE-1≥0.00044≥0.00064≥0.00064≥0.00064≥0.00318
MDE-2≥0.00044≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064
MDE-3≥0.00044≥0.00064≥0.00064≥0.00064≥0.00064≥0.000640.92828
MDE-4≥0.00044≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064≥0.00064
Table 18. Percent difference in a heuristic compared with the best solution compared to all heuristics.
Table 18. Percent difference in a heuristic compared with the best solution compared to all heuristics.
BPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3MDE-4
11.270.000.000.000.000.000.000.000.00
21.391.130.580.590.490.200.000.000.00
32.832.291.611.501.400.780.350.410.00
44.891.941.811.831.160.880.360.390.00
55.374.794.564.524.323.342.392.540.00
63.032.720.950.960.730.700.270.290.00
710.145.581.441.190.580.410.400.370.00
82.351.971.171.341.171.040.320.330.00
91.561.301.141.150.940.980.730.820.00
101.190.960.650.660.660.500.330.330.00
111.110.830.720.630.530.520.210.190.00
122.772.040.810.820.620.590.300.210.00
131.500.910.600.680.460.410.270.290.00
141.500.720.570.510.380.310.190.200.00
151.3510.890.420.430.310.300.110.090.00
168.247.417.007.006.455.051.141.120.00
Ave.3.162.841.501.491.261.000.460.470.00
Notes: Ave = average and the % different was calculated using Equation (8).
Table 19. Profit of the case study using different controlled simulation times in Thai Baht.
Table 19. Profit of the case study using different controlled simulation times in Thai Baht.
MinBPDE-1DE-2DE-3DE-4MDE-1MDE-2MDE-3MDE-4
101,415,3281,422,8451,426,5451,425,7471,431,5831,422,2831,456,2371,455,8921,469,835
201,422,4541,424,1871,432,9541,431,8521,444,1971,459,8211,458,4721,454,6781,488,274
301,425,2811,428,6821,435,8921,437,2491,445,8441,468,2781,474,8121,478,4151,499,825
401,428,6901,433,7411,447,2961,438,7131,449,8181,469,1941,518,7211,527,2941,532,857
501,430,8141,439,1291,448,7211,441,7241,459,8211,470,7311,522,5821,534,8271,558,721
601,431,9011,440,5711,454,1981,454,2481,461,9911,472,8151,530,8061,531,1171,550,768
701,449,9241,450,8721,458,8191,458,7871,473,8771,474,7611,543,9841,538,7321,569,821
801,442,2981,451,8741,457,1971,461,7821,478,8821,478,7281,557,6121,544,9851,569,743
901,447,6591,455,8711,467,6811,468,7631,487,6141,486,2871,563,9841,558,2191,587,529
1001,453,3761,467,9161,472,6441,478,7791,499,8171,499,9211,569,8211,568,8731,585,872
1101,467,8711,478,7191,489,7121,488,7631,499,8721,512,7631,578,5821,578,8721,592,465
1201,477,1241,488,5711,494,1981,494,2481,501,9911,521,9811,580,8061,581,1171,598,813

Share and Cite

MDPI and ACS Style

Thongkham, M.; Kaewman, S. Methodology to Solve the Combination of the Generalized Assignment Problem and the Vehicle Routing Problem: A Case Study in Drug and Medical Instrument Sales and Service. Adm. Sci. 2019, 9, 3. https://doi.org/10.3390/admsci9010003

AMA Style

Thongkham M, Kaewman S. Methodology to Solve the Combination of the Generalized Assignment Problem and the Vehicle Routing Problem: A Case Study in Drug and Medical Instrument Sales and Service. Administrative Sciences. 2019; 9(1):3. https://doi.org/10.3390/admsci9010003

Chicago/Turabian Style

Thongkham, Malichan, and Sasitorn Kaewman. 2019. "Methodology to Solve the Combination of the Generalized Assignment Problem and the Vehicle Routing Problem: A Case Study in Drug and Medical Instrument Sales and Service" Administrative Sciences 9, no. 1: 3. https://doi.org/10.3390/admsci9010003

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop