The mathematical model proposed in this article seeks to define the best location for installing points where users will be able to deposit WEEE, in such a way that this location allows minimizing the cost of the reverse logistics system. It also integrates the question of routing the vehicles that will carry out the collection. The costs to be minimized are the opportunity cost (associated with the unmet demand, that is, the value lost when the waste is not collected); the transportation cost of the vehicles that will carry out the collection; the cost of installing the points; and the cost of the distance from demand to the collection point.
In other words, the model can determine the number of collection points needed, where they will be located, and the route to be taken by the collection vehicles, considering that they must have their trajectory in a less costly way, and at the same time, the points must be relatively close to the demand. For this, installation costs and costs of not meeting demand are also considered.
3.1. Proposition of the Mathematical Model
At first, the following sets are used in the model: D: set of demand nodes, that is, the main points where there is a significant amount of WEEE; I: set of potential points (locations) for the installation of a collection point; K: set of collection vehicles; Q: set that, in addition to containing the points of the set I, also includes 0 and n, which respectively represent the point of origin, from where the vehicle will leave, and the endpoint of the vehicle’s route, that is, the treatment station for waste. The model also uses U, which represents all combinations of points on a given sub-route with |U| points.
The decision variables are as follows:
xijk: the binary variable that takes the value 1 if the collection vehicle
k moves from point
i to point
j, and 0 otherwise;
ri: the estimated amount of WEEE to be collected (in kg) at collection point
i. This can be obtained by adding the quantities of WEEE collected by all vehicles at that point, according to Equation (1), where
rik is the estimated amount of WEEE to be col-lected (in kg) at collection point
i by vehicle
k. The model also has the auxiliary variable
yik, which is obtained through Equation (2). This model assumes a value of 1 if vehicle
k visits point
i, and 0 otherwise. If at least one vehicle
k visits point
i, the auxiliary decision variable (
zi) will assume a value of 1, thus indicating that at point
i there will be a collection point. The variable
zi is obtained through Equation (3).
The model parameters are CI: the average cost of installing a collection point; CO: cost of opportunity (per kg) of WEEE; CVk: capacity of vehicle k load (in kg); TD: total demand, that is, the amount of WEEE generated at all points of demand (in kg); CPi: maximum capacity of collection point i (in kg); Sid: cost of the distance from demand node d to point i; Tijk: transport cost of vehicle k between i and j. The objective function and costraints are presented below.
Equation (4) is the objective function to be minimized, which is divided into four parts. The first refers to the transport costs of the vehicles, which must travel between the collection points located by the model with the best trajectory in terms of cost. The second instalment is the opportunity cost referring to the WEEE not collected; that is, the amount lost when not collecting a certain amount of waste. The difference between the total demand and the quantities collected at each collection point results in the amount of e-waste not collected. Thus, the more waste collected, the lower the cost. The opportunity cost per kg is taken as the value that would be gained by collecting and reusing waste. However, as there are many types of e-waste, this value is considered, for simplification purposes, as an average of the values earned in the collection and reuse of all types of waste. The third part of the objective function refers to the cost of installing the collection points; its consideration is important to not allow the solution that the points must be installed indefinitely. The fourth plot shows the cost of the distance from the demand nodes to the point of collection; it is important that they are located relatively close to demand.
Constraints (5) ensures that the vehicle leaves the collection point once visited, making it possible to continue the route, that is, if the vehicle goes to a given point, it needs to go from that point to another location. Except for this restriction, the points of origin and the treatment plant (note that the restrictions are for every i ∈ I, this set does not contain 0 and n), that is, after reaching n, the vehicle does not need to go further to another point. Moreover, the vehicle also does not travel from any points to the origin, as will be shown shortly below in constraints (13) and (14).
The set of constraints in (6) ensures that the vehicle, when leaving a node (point), can only go to one node, that is, the vehicle will go to only one place at a time. The exception for this restriction is treatment station n, because when arriving at this location, the vehicle must end its journey. Constraint (7) ensures that the route taken by all collection vehicles starts at the origin. Inequality occurs because more than one vehicle may be needed to perform the collection. Constraint (8) ensures that the route taken ends at the waste treatment plant. Once again, inequality occurs, since we can use more than one vehicle and all of them must reach the waste treatment plant.
As the model seeks to increase the amount of waste collected to minimize the opportunity cost according to the second instalment of Equation (4), Constraint (9) prevents this quantity from exceeding demand, which is realistically impractical; that is, it is impossible to collect more than is deposited in the points. Constraint (10) prevents the amount of e-waste collected at the collection points by each vehicle from exceeding the vehicle’s loading capacity. The set of restrictions in (11) means that the estimated amount of waste collected at each collection point does not exceed the capacity of these points; this capacity may exist due to restrictions in physical space, among other factors. For example, there may be little space for installing a large collection point. Thus, this restriction prevents more waste from being collected than the collection point supports.
Constraint (12) makes it impossible to form sub-routes, guaranteeing the continuity of the route from the source to the treatment plant; in this constraint, U represents all combinations of points on a given sub-route with |U| points. These restrictions were proposed by [
38] to eliminate sub-routes.
Constraint (13) ensures that the vehicle does not return to the starting point. Constraint (14) guarantees the vehicle’s final destination as treatment plant n. Finally, constraints from (15) to (18) deal with the nature of the decision variables.
3.2. Presentation of the Heuristics Created
The heuristic used to solve the proposed WEEE model was based on the meta-heuristics GA and GRASP, which was used for the generation of the initial population of the GA.
Following the publication by [
35] for the representation of the solutions of the vehicle routing problem, and [
36] for the traveling salesman problem, in this article, the
xijk variables of the solutions are depicted in a simplified way. The variable
x is symbolized by a matrix, with the number of lines corresponding to the number of vehicles, and that of columns, to collection points. Each line corresponds to the route that one of the vehicles will follow, the matrix is made up of whole numbers that represent the collection points to be visited; the value 0 within the matrix means that there is no point to be visited after the last value other than 0. To exemplify
x, in a scenario with two vehicles and four collection points:
As you can see from the example, routes can have different sizes. The purpose of the solutions having this format is to reduce the number of restrictions in the model by automatically addressing them.
The variables
yik and
zi are defined by equations, according to the model itself, by the value of x. The variables
Ri need to respect the restrictions (8)–(10), in addition to those of non-negativity; therefore, their value is defined according to the heuristic described in the pseudo code of Algorithm 1, after defining the value of the other variables.
Algorithm 1 Variables |
01: Read data entry and variables y and z |
02: Determine used_vehicles and set K_valid ⊆ K of the used_vehicles, through of the variable y |
03: Maximum_possible_demand_to_be_met ← min(∑i∈I zi∗PCi, DM, ∑k∈K used_vehicles k∗CVk |
04: i ← 1, Remaining_demand ← Maximum_possible_demand_to_be_met |
05: While i ≤ size(I) and Remaining_demand ≠ 0 |
06: Define as the lower value between the capacity of collection point i, the total of the available capacity of the vehicles going trough the point i and Remaining_demand |
07: Allocate between the vehicles going through the point i |
08: Remaining_demand ← Remaining_demand— |
09: I ← I + 1 |
10: End_While |
11: If Remaining_demand = 0, then return to |
12: Otherwise, define values of determining with JuMP and CLP Solver and return to |
The general idea is to define R as the highest possible value of waste according to restrictions (9)–(11). The distribution of waste among the vehicles used in this article is to allocate as much as possible to vehicle k in the order of set K. Finally, the variable of the pseudocode used_vehicles is a binary vector, of size equal to K, in which each position receives 1 if the vehicle is used by the solution or 0 otherwise.
If it is not guaranteed that the heuristic part of the algorithm has not generated an optimal response for
Ri, a linear programming model is created that has only
rij as a variable and receives the data and the other variables of the problem as a parameter, under restrictions (9)–(11) and (18), in order to maximize the expression ∑
I ∈ I r
i*z
i of the objective function of the proposed model. For this, the JuMP v.0.21.2 and CLP Solver v.0.7.1 packages are used to model and solve the problem, respectively. Using this method to define r requires a greater computational effort than the heuristic passed for the executed scenarios, but simplex is still considered a very efficient algorithm to solve linear programming problems [
36].
In building the population, the idea proposed by the GRASP meta-heuristic is used. All collection points possible to enter the route of all vehicles are analyzed, the quality of which is measured by the objective function which is the criterion of choice for the construction of the solution. The RCL is limited by the restriction by the upper limit expressed in Equation (19), where M is the set of all candidate variables, c is the objective function, c
min is the quality of the best solution in the set M, c
max, the worst solution, and α will define the amplitude of the variables accepted in the RCL.
The variables are added to the solution as long as the upper limit of the RCL, generated in the iteration, is better than the best solution found so far, described in the pseudo code of Algorithm 2 as shown below.
Algorithm 2 Solution Generation |
01: Read data entry |
02: Initialize solution , best_solution_found |
03: a_better_solution_is_possible ← 1 |
04: While a_better_solution_is_possible ≠ 0 |
05: Determine superior_limit for the selection of candidate variables for the RCL |
06: If superior_limit < f(best_solution_found) |
07: Determine the variable t for the best solution x U {t}, t ∈ RCL |
08: best_solution_found ← x U {t} |
09: Select randomly one element s ∈ RCL |
10: x ← x U {s} |
11: Otherwise do a_better_solution_is_possible ← 0 |
12: End_if |
13: End_while |
For the proposed heuristic, the population is generated with individuals that were constructed with α equal to 0.4; this value is increased for each new individual until it reaches 1. The defined population size is 30. After that, the GA is executed, and 500 iterations were performed. The chosen operators were as follows:
Tournament selection. Population individuals are randomly grouped into groups of n individuals, with one individual belonging to more than one or no group. Within each group, the most suitable individual is chosen. In the heuristic presented in the article, n = 3.
Uniform crossing adaptation. The individuals selected by the previous operator will perform a crossing where the son receives the genetic inheritance from father 1, with a 50% chance of the son changing his genes to that of father 2. In the present article, the number of children generated is equal to the number of individuals in the population.
Mutation. For each vehicle, there is a 30% probability that a random position on the route will be changed by a value corresponding to one of the collection points or by 0.
Both the mutation and the crossing used in the heuristic can generate solutions with routes where the value 0 does not correspond to its end. For this situation, the solution is corrected by transferring all points with a value other than 0 to the beginning of the route in the order they were.
The population is updated in order to maintain the elite elements of both the past and the new generation, with no change in the size of the population. The percentage of the best individuals of the past generation kept is p. If there is no improvement in the quality of the population after
n iterations, the population update occurs generating a new population, maintaining 1 − p of the best solutions of the past generation. For the proposed heuristic, p = 0.6,
n = 20. The pseudo code of Algorithm 3 is detailed below.
Algorithm 3 Genetic Algorithm |
1: Initializing population, k ← 0 |
2: Determine population_ suitability |
3: While k < 500 |
4: parents ← Select(population, adequation_of_population) |
5: children ← Crossing (parents) |
6: Mutation(children) |
7: Updating(population, children, adequation_of_population) |
8: End_While |