DiPro: An Algorithm for the Packing in Product ... - Springer Link

0 downloads 0 Views 569KB Size Report
and J. Francisco Delgado-Orta. Instituto Tecnológico de Ciudad Madero, México [email protected], [email protected],. {ia32, juanarturo_ ...
DiPro: An Algorithm for the Packing in Product Transportation Problems with Multiple Loading and Routing Variants* Laura Cruz Reyes, Diana M. Nieto-Yáñez, Nelson Rangel-Valdez, Juan A. Herrera Ortiz, J. González B., Guadalupe Castilla Valdez, and J. Francisco Delgado-Orta Instituto Tecnológico de Ciudad Madero, México [email protected], [email protected], {ia32, juanarturo_, jjgonzalezbarbosa, jgvaldez50}@hotmail.com, [email protected]

Abstract. The present paper approaches the loading distribution of trucks for Product Transportation as a rich problem. This is formulated with the classic Bin Packing Problem and five variants associated with a real case of study. A state of the art review reveals that related work deals with three variants at the most. Besides, they do not consider its relation with the vehicle routing problem. For the solution of this new rich problem a heuristic-deterministic algorithm was developed. It works together with a metaheuristic algorithm to assign routes and loads. The results of solving a set of real world instances show an average saving of three vehicles regarding their manual solution; this last needed 180 minutes in order to solve an instance and the actual methodology takes two minutes. On average, the demand was satisfied in 97.45%. As future work the use of a non deterministic algorithm is intended.

1 Introduction A common problem in production companies is the optimal transportation of its products; because a good handling involves the reduction from 5% to 20% of the total cost of the product [1]. This problem has been thoroughly studied. However, in our knowledge, that has not been enough for practical purposes. Rich problem is an emergent concept to denote real word problems. The most recent researches approach real situations of transport with a complexity of up to five variants of the well-known Vehicle Routing Problem (VRP) [2]. The software commercial tools involve eight VRP variants at the most [3]. However, they do not contemplate the load distribution inside the trucks. Bin Packing Problem (BPP), has the objective to search for the best accommodation of items into bins. Several researches have developed solution algorithms with excellent results. However, they do not contemplate important constraints derived of the real operation; besides the work with VRP. Some works are *

This research was supported in part by CONACYT and DGEST.

A. Gelbukh and A.F. Kuri Morales (Eds.): MICAI 2007, LNAI 4827, pp. 1078–1088, 2007. © Springer-Verlag Berlin Heidelberg 2007

DiPro: An Algorithm for the Packing in Product Transportation Problems

1079

focused in the problematic of VRP taking as constraint the truck capacity, and only using BPP to determine the number of trucks [4]. In [5], VRP and two-dimensional BPP are approached with few constraints; leaving out others related with the fragility of items, diversity of trucks, highways with a limited vehicular weight, and trucks with loads from multiple clients. This paper shows a methodology based on heuristics for the integral solution of a rich product transportation problem. The description is centered in the load of trucks by means of a deterministic algorithm. In order to validate the proposal, we use as a case of study, a company dedicated to the transportation of bottled products.

2 Routing, Scheduling and Loading Problem (RoSLoP) Routing Scheduling and Loading Problem (RoSLoP), approaches three tasks: assignment of routes, assignment of schedules and assignment of the load. In RoSLoP three optimization objectives must be achieved: satisfy the demands of all clients, minimize the number of used vehicles and reduce the total time of the trip. The schedules and routes assignment is modeled using VRP, while the load assignment is formulated with BPP.

3 Bin Packing Problem (BPP) Bin Packing is a classic problem of combinatorial optimization. BPP belongs to the NP-Hard class [6]. This class contains a set of problems considered intractable because they demand many resources for their solution. The quantity required by these is similar to an exponential function or a polynomial of high grade. The demonstration of its complexity is based on the partition problem reduction. In BPP exists an unlimited number of bins with capacity is c, the number of items is n, the size of each item is si (0 ≤ i < n) and si is limited to 0< si ≤ c. The goal is to determine the smallest number of bins m in which the items can be packed; to get a minimal partition of the sequence L of n items, where L = B1∪ B2∪ ..., ∪Bm such that in each set Bj the sum of the size of each item in Bj does not exceed c (expression 1). min z = ∑ si ≤ c si ε B j

∀j , 1 ≤ j ≤ m.

(1)

3.1 BPP Variants The previous definition makes reference to the basic problem of one dimension (BPP 1D). However, the real application of this research involves additional variants. The following five variants were identified in [7]: − BPP On-line (BPPOn). The total number of elements to be accommodated is not known at the beginning of the process. Not all previous knowledge is assumed. − BPP Capacity Constrained (BPPCC). Each bin has a specific capacity [8]. − BPP Cardinality Constrained (BPPcC). This variant adds a limit in the number of items that can be placed in a bin [9].

1080

L. Cruz Reyes et al.

− BPP with Fragile Objects (BPPFO). Each item has a threshold of maximum weight supported so that it does not suffer damage or deterioration [10]. − Multiple Destinations BPP (MDBPP). The items can be unloaded in multiples destinations. For this reason, the order of their accommodation is important [11]. 3.2 Related Work Table 1 summarizes some investigations around BPP with variants. It can be observed that in other works at the most three variants are involved. In contrast, our research tries simultaneously with five variants of BPP and six variants of VRP [14]. These conditions are needed to formulate real and complex problems.

9

9

9

9

Chan 2005 [10] Manyem 2002 [12]

9

Correia 2006 [13]

9

9

9 9

Balogh 2005 [6] Kang 2003 [8]

9 9

Verweij 1996 [11] This Work

MDBPP

9

BPPFO

BPPOn

Author Epstein 2005 [9]

BPPcC

Variants that it approaches

BPPCC

Table 1. The State of the Art of BPP and their variants

9

9

9

9

9

4 Description of the Case of Study The complexity of RoSLoP is increased when the factors observed in real applications are taken in consideration. In the case of the studied company, the transportation of bottled products is subject to the following conditions: − The existence of diverse depots with multiple schedules. − Fleets of vehicles of diverse kinds and with different load possibilities, where the weight balance should be taken in account for their loading. − Clients with a specific demand, a time of service, and certain capacity constraints according to quantity and unit kind. − Goods to be distributed that are characterized by product boxes with different attributes, such as: size, weight, supported weight and kind. − Routes that connect clients and depots with an associate cost of trip. − Government constraints that limit the traffic of vehicles that can travel on some roads, or the weight of the goods that can be transported.

DiPro: An Algorithm for the Packing in Product Transportation Problems

1081

In the context of RoSLoP the objective of our rich BPP is to minimize the quantity of necessary vehicles to distribute the total load. For this study three particular objectives were derived: to maximize the number of assigned products, to maximize the utilized space of the vehicle and to balance the weight of the bins in each vehicle; according to the imposed conditions. In Table 2 are described the conditions of the case of study that have relationship with variants of BPP. Table 2. BPP Variants of as part of the case of study Variant BPPCC BPPcC BPPOn BPPFO MDBPP

Operative Description The bins in the vehicles can have different height and as consequence different loading capacity. The maximum number of products that can be stacked in a bin are delimited by product kind, vehicle supported weight and the roads where it travels to. The products to be distributed in a vehicle are not possibly known since the beginning. The assignment depends on the next client to be visited. Each product has a quantity of supported weight that should not be overloaded to be able to avoid damage. Since different discharge points exist in the same route, the product should be organized with base in this scheme.

5 Solution Methodology The methodology proposed to solve RoSLoP includes an Ant Colony System (ACS) for solving VRP and the algorithm DiPro (Distribution Product) to solve BPP. Both of them coexist in an integral solution scheme of the tasks of routing, scheduling and loading (see Fig. 1). The ACS algorithm is a metaheuristic that uses closeness and pheromone measures to search routing solutions in a distributed way [14].

Assignment of Routes and Schedulings

Input Instance

Ant Colony System Distribution of Load Autoadaptative Restricted List

DiPro Construction Module

Inicial Search

Assignment Module Ant Colony System Basic

Local Search

Balance Module

Better Solution Obtained

Global Solution

Fig. 1. Integral Solution Scheme of RoSLoP

1082

L. Cruz Reyes et al.

The general algorithm begins invoking the Construction Module to transform items of three dimensions to one dimension. Then, an Autoadaptative Restricted List is created to determine the grouping level of the clients. The purpose of this list is to limit the set of candidate clients to be visited. Later, a greedy Initial Search is executed. Next, solutions are built through the basic ACS. These solutions are improved by means of Local Search. During the construction of routes, every time that a new client is visited, the Assignment Module is invoked to distribute the load. To conclude the process, the Balance Module is invoked to get a balance of the best previous solution. Balancing is carried out considering the order of visit of each client and the weight of the product.

6 DiPro Algorithm DiPro is a deterministic heuristic algorithm because it always obtains the same solution in different executions. This algorithm was designed to distribute and to assign the products in each one of the vehicles. The assignment is made with base in the clients that will be visited during the same route. DiPro is constituted by three modules applied in different times: construction, assignment and balance. 6.1 Construction Module The purpose of the Construction Module is to convert items from three dimensions to one dimension. This process depends of the peculiar characteristics of each product. As example, the transformation is described with bottled products that are stored in units with special characteristic such as: − Boxes (Q): Basic unit of an order from a client. With properties as height and weight; besides the supported weight that is a measure of the quantity of product that can be placed above a box without causing damage. − Beds (BEDS): Constituted by a set of boxes, ordered in such a way that their length and width is adjusted at the bin of the truck. Some properties are: the number of boxes, depending of the product that composes them; and those inherent to the product, like height, weight, and supported weight. − Platforms (PLATFORMS): Assignment unit that allows handing the products of three dimensions as a single dimension. Their properties are: kind (with values of homogeneous and incomplete, that later it will become heterogeneous), height, threshold of height, weight, supported weight (the smallest difference among the supported weight of each bed that conforms the platform, subtracted from the respective sum of the weight of the superior beds). Fig. 2 shows the algorithmic outline of this module. The Construction Module carries out the order d of each client c to the different depots (lines 1 and 2), the translation of the information of the order that initially is in Q to BEDS and PLATFORMS. The function homogeneus_units() (line 3) carries out the conversion of boxes to beds and later to platforms, by means of derivative calculations of the product properties; giving place to complete homogeneous platforms and remaining

DiPro: An Algorithm for the Packing in Product Transportation Problems

1083

homogeneous beds. Finally, in line 4 the function incomplete_platforms () creates incomplete platforms with the rest of homogeneous beds; assuring that the beds of the same product remain in the same platform. Construction Module (C, ORDERS ) 1 2 3 4 5 6

for each c∈C for each orderd ∈ ORDERSc homogeneus_units(orderd) incomplete_platforms(orderd) end for end for

Fig. 2. Algorithm of the Construction Module

6.2 Assignment Module Their task consists on establishing the product accommodation inside the bins of the vehicle. This is executed while free space exists in the vehicle, the supported weight is not exceeded by this and the demand has not been satisfied in the order from the client to the depot. In each assignment the conditions of Table 2 are verified. The Assignment Module uses the mechanism of Table 3 called completeness level (variable completeness pallet ∈PALLETS ,order ) that allows verifying the restrictions imposed vς

x

d

by BPPcC, BPPCC and BPPFO. Table 3. Description of Completeness levels of an orderd in a palletx

Completeness Level 0 1 2

Description Platforms have not been assigned More homogeneous platforms cannot be assigned More heterogeneous platforms cannot be assigned

Fig. 3 shows the Assignment Module Algorithm. This module is executed while the two conditions of line 1 are satisfied. The first one verifies by means the completeness level that free space exists in the trip ς of the vehicle v (νς), and the supported weight is not exceeded by this. The second one verifies that the demand of the orderd from the client c to the depot d has not been satisfied. In other words, some platforms exist without being assigned. In line 2 a bin of the vehicle νς is obtained; it is secured that the bin has space with a completeness level smaller than two. Line 3 allows the assignment of homogeneous and heterogeneous platforms only if: the orderd has not satisfied the demand and that those space exists in the binx. Lines 4-9 locate the platforms, which give preference to the homogeneous in the function assign_homogeneus_platform() of line 4. In line 7, the method assign_incomplete_platform () assigns heterogeneous platforms that are formed from the incomplete. Both methods modify the completeness level when some of the constraints are violated.

1084

L. Cruz Reyes et al.

Assignment Module ( vς , c, orderd ∈ ORDERSc ) 1

while ∃ binx ∈ BINSvς completeness < 2

∧∃ platformz ∈ PLATFORMSorderd isassigned = false 2

Select binx ∈ BINSvς completenessbinx ,orderd < 2

3

while ∃ platformz ∈ PLATFORMSorderd isassigned = false ∧ completenessbinx ,orderd < 2 if ∃ platformx ∈ PLATFORMSorderd kind = homogeneus

4

∧ completenessbinx ,orderd = 0 5 6 7 8 9 10

assign _ homogeneus _ platform ( binx ,orderd ) Else

assign _incomplete _ platform ( binx ,orderd ) End if end while end while

Fig. 3. Algorithm of the Assignment Module

Fig. 4 summarizes the Assignment Module in the different scenarios that can be presented. The Spiral strategy is used to the assignment of homogenous and incomplete platforms. Initially all the elements are organized by descendent order of the supported weight. Then an element that satisfies all the conditions imposed by BPPcC, BPPCC, and BPPFO, is searched, alternating seeks in a descending and ascending way over the elements. This heuristic balances the weight of the goods sent in the different trucks. It is not allowed the programming of vehicles trips with very heavy or very light products.

Selection of the Bin

Empty

Homogeneus

Platforms to Assign

Bin State

With some Platform(s) Implies different client

Incompletes

Incompletes

Spiral assignment of homogeneus platforms

Platforms to Assign

Homogeneus

Spiral assignment of incompletes platforms in the superior part of the bin

Spiral assignment of incompletes platforms in the inferior of the bin

Spiral assignment of incompletes platforms in the inferior of the bin

Fig. 4. Assignment Module

Spiral assignment of homogeneus platforms in the inferior of the bin

DiPro: An Algorithm for the Packing in Product Transportation Problems

1085

Fig. 5 shows the assignment of incomplete platform using the spiral strategy. As was mentioned, the homogeneous platforms are assigned first, because of its priority. Next, the incomplete platforms are converted in heterogeneous platforms using the spiral strategy. This conversion verifies all constraints derived from the possible formation of heterogeneous platforms. Finally, the converted platforms are placed under the homogeneous platforms.

Homogeneus Platform

Homogeneus Platform

Heterogeneus Platform

Incompletes Platforms Heterogeneus Platform

Spiral assignment of incompletes platforms under the platforms already assigned

Fig. 5. Conversion of incomplete to heterogeneous platforms using spiral assignment

6.3 Balance Module In [14], Cruz approaches the requirement of balance regarding that the heaviest platforms should be located in the front part of the vehicle, while the lightest ones should go behind. Also, the total weight of the platforms that are in the right side of the vehicle should be approximate to the sum of those in the left side. However the specifications of the problem imply as a variant MDBPP; a balance was established which considers as first constraint, the sequence of visit to each client belonging to the same route. The product of the first client being visited will go in the back part of the unit and the last one in the front. Fig. 6 details the Balance Module; which is of great importance in the process due to the problem with BPPOn, where the constraints established above are not possible to be verified in the assignment. As part of the method, all the platforms set assigned to the same bin are called product stack. Let Nγ(v) the stack set from the vehicle v and BINSv the set of all bins of v. Is it feasible to move a stack of products from one bin to another, if it fits in the bin of destiny according to its height. The bins are grouped initially. The class of each bin and each stack is determined in an ascendant function according to its height (lines 1 and 2). The product stacks are marked as not reassigned and the bins as not used (lines 3 and 4). The product stacks are sorted in an ascendant way based on three aspects: class, stack weight and order of clients visit. In the last aspect, in case that the stack is

1086

L. Cruz Reyes et al.

formed by products that belong to different clients, the reference is taken from the client to which belongs the upper platform of the stack (line 5). If there exists a stack of product without being reassigned, an empty bin would be selected whose position would be nearest to the front of the vehicle. The biggest stack of product with the lowest class would be assigned into the pre-selected bin. The set BINSv and Nγ(v) are upgraded, in lines 6-12. Balance Module ( v ) 1

Assigning classes classbin ,∀binx ∈ BINSv

2

Assigning classes class γ , ∀γ ∈ Ν γ ( v )

3

set ∀γ ∈ Ν γ (v) : not reassigned

4

set ∀binx ∈ BINSv : not used

5

Sort

6

while Ν γ (v ) ≠ φ

γ ∈ Ν γ (v) by height/class, visit succession and weight

7

Select binx nearest in the front does not used

8

γ = arg maxγ ∈Νγ ( v ) ( Ν γ ( v )) classγ ≤ classbin

9

binx ← γ

10

set

11 12

γ

x

: reassigned

set binx : used end while

Fig. 6. Algorithm of the Balance Module

7 Experimentation There is no external method of comparison, because the problem addressed is a new rich BPP. Besides, the evaluation must be made in the context of a complete transportation system. Two versions were liberated to assist the necessities of a bottling company of products in two different instants of time and with a different constraint number: THSA [14] and ACS-ARH. The latter includes the algorithm proposed in this paper to solve the new rich BPP identified. In THSA, when neither complete platform could be accommodated in the truck, these were segmented to improve the distribution of the load. However, the segmentation represents a bigger effort in the unloading. For this reason the segmentation was eliminated from ACS-ARH. In THSA some trucks could be programmed with a very small load, implying an excessive cost of the truck for so little demand. In ACS-ARH, the programming of vehicles is verified regarding to a minimum quantity of load; this constraint diminishes costs but reduces the percentage of satisfied demand, requiring a demand threshold from the user to determine the validity of a programming. The previous differences between THSA and ACS-ARH obstruct the right evaluation, so the second difference was eliminated. The algorithm was developed in C# language and it was executed for two minutes, pointing out that the company needed 180 minutes approximately in order to solve the

DiPro: An Algorithm for the Packing in Product Transportation Problems

1087

problem manually. For the experimentation 214 real world instances were used. The instances were identified by the order programming date. A sample of the algorithmic performance can be observed in table 4, which shows that ACS-ARHC obtains a reduction of two trucks on the average regarding to THSA. Another important discovery reveals that the percentage of satisfied demand is very similar in both algorithms. It is important to mention that in THSA the assignment unit is the bed and in ACS-ARHC the unit is the platform, which is bigger and therefore more difficulty to distribute. For the above-mentioned, it can consider that the deterministic algorithm DiPro, which is part of the system ACS-ARHC, works in a satisfactory way the accommodation of the products in the bins of the vehicles: it obtains percentages of demand satisfaction inside the limits and in a reasonable computed time (the company proposed ten minutes but two minutes were enough). Table 4. Solution of instances of a Company Distributor of Bottled Products

Instances

THSA %Demands Used Satisfied Vehicles 99.48 5* 95.93 6 ** 95.53 3 ** 100 5 100 4 98.35 7* 98.43 6* 100 5 99.30 6* 98.87 7 ** 98.33 7 ** 99.70 6*

ACS-ARHC %Demands Used Satisfied Vehicles 97.66 4* 100 5 99.06 4* 97.81 4* 100 3 99.21 5* 99.52 4* 97.63 3* 98.65 4* 98.28 5* 97.83 6* 100 3*

06/12/2005 09/12/2005 12/12/2005 01/01/2006 03/01/2006 07/02/2006 13/02/2006 06/03/2006 09/03/2006 22/04/2006 14/06/2006 04/07/2006 Average 98% 6 97.45% 4 (All Instances) * One tour cancelled by the restriction of minimum load of the vehicle ** Two tour cancelled by the restriction of minimum load of the vehicle

The number of cancelled tours has little impact on the percentage of unsatisfied demand (2.55%). In order to increase the satisfaction of the clients, we are developing a post processing procedure to accommodate the remaining products. In this method some constrains will be simplified.

8 Conclusions and Future Work In this work the load accommodation into vehicles was approached as a part of a bigger rich problem: the product transportation. The deterministic algorithm DiPro is proposed for the construction of load solutions, it interacts with a metaheuristic algorithm developed to plan routes and schedules. The result of the experimentation shows that both algorithms diminish the number of vehicles to use and satisfy the

1088

L. Cruz Reyes et al.

demand inside the limits established by the company. All instances were executed in a reasonable time for users that make transportation plans. The quality of the solutions obtained with the deterministic algorithm DiPro is affected by the increment in the number of constraint and the conditions that are derived from the problem. For this reason, we propose as a future work the development of a hybrid metaheuristic algorithm that takes advantage of the strategies proposed in this research.

References 1. Toth, P., Vigo, D.: The Vehicle Routing Problem. In: Monographs on Discrete Mathematics and Applications. SIAM, Philadelphia (2001) 2. Pisinger, D., Ropke, S.: A General Heuristic for Vehicle Routing Problems, tech. report, Dept. of Computer Science, Univ. Copenhagen (2005) 3. OR/MS Today: Vehicle Routing Software Survey, United States. Institute for Operations Research and the Management Sciences (June 2006) 4. Cordeau, J.F., Laporte, G., Savelsbergh, M.W.P., Vigo, D.: Short-Haul Routing(submitted) 5. Gendreau, M., Iori, M., Laporte, G., Martello, S.: A tabu search heuristic for the vehicle routing problem with two-dimensional loading constraints, Networks (to appear) 6. Balgoh, J., Békési, J., Galambos, G., Reinelt, G.: Lower Bound for The On-line Packing Problem with Restricted Repacking. In: 29th Hungarian Conference of Mathematics, Physics and Computer Science (2005) 7. Herrera, J.: Development of a methodology based on heuristics for the integral solution of routing, scheduling and loading problems on the distribution and products delivery process. Master’s thesis, Posgrado en Ciencias de la Computación, Instituto Tecnológico de Ciudad Madero, México (2006) 8. Kang, J., Park, S.: Algorithms for Variable Sized Bin Packing Problem. Proc. Operational Research 147, 365–372 (2003) 9. Epstein, L.: Online Bin Parking with Cardinality Constraints. In: Proc. 13th European Symposium on Algorithms (2005) 10. Chan, W., Chin, F.Y.L., Ye, D., Zhang, G., Zhang, Y.: Online Bin Parking of Fragile Objects with Application in Cellular Networks, tech. report, Hong Kong RGC Grant HKU5172/03E (2005) 11. Verweij, B.: Multiple Destination Bin Packing, tech. report, Algorithms and Complexity in Information Technology (1996) 12. Manyem, P.: Bin Packing and Covering with Longest Items at The Bottom: Online Version, ANZIAM J.43 (E), pp. E186–E232, Australia. Mathematical Soc. (2002) 13. Correia, I., Gouveia, L., Saldanha da, G.F.: Solving the Variable Size Bin Packing Problem with Discretized Formulations, Centro de Investigacao Operacional (CIO) - Working Paper (2006) 14. Cruz, L., González, J., Romero, D., Fraire, H., Rangel, N., Herrera, J., Arrañaga, B., Delgado, F.: A Distributed Metaheuristic for Solving a Real-World Scheduling-RoutingLoading Problem. In: Stojmenovic, I., Thulasiram, R.K., Yang, L.T., Jia, W., Guo, M., de Mello, R.F (eds.) ISPA 2007. LNCS, vol. 4742, pp. 68–77. Springer, Heidelberg (2007)

Suggest Documents