Professional Documents
Culture Documents
130143
issn0092-2102 eissn1526-551X 10 4002 0130
informs
doi 10.1287/inte.1090.0475
2010 INFORMS
A Milk Collection Problem with
Incompatibility Constraints
Massimiliano Caramia
Dipartimento di Ingegneria dellImpresa, Universit di Roma Tor Vergata, 00133 Roma, Italy,
caramia@disp.uniroma2.it
Francesca Guerriero
Dipartimento di Elettronica, Informatica e Sistemistica, Universit della Calabria, 87036 Rende, Italy,
guerriero@deis.unical.it
The milk collection problem is well known in rural areas of the world. This paper considers this real-life
problem for an Italian dairy company that collects raw milk from farmers. In our milk collection problem, we
address the constraint that some farms are small and inaccessible by large vehicles; moreover, these farmers
produce different milk types, and the tank trucks used for transporting the milk have multiple compartments.
This generates the additional constraint that at most one milk type can be assigned to a tank compartment.
The goal of this paper is to show how operations research techniques helped the company to improve its
daily performance. In particular, we present a solution approach based on two mathematical formulations and
local search, all embedded within a multiple-restart mechanism. The rst mathematical formulation minimizes
the number of vehicles to be routed in the network; the second minimizes the tour length. We also discuss
experiments we conducted as part of our case study and compare our solution with the process that the company
used previously.
Key words: industries: agriculture, food, transportation shipping; networks; graphs; heuristics.
History: This paper was refereed. Published online in Articles in Advance December 30, 2009.
I
n this paper we study a real-life problem faced
by ASSO.LA.C., an Italian dairy company that col-
lects raw milk from farmers. The considered milk col-
lection problem can be interpreted as a specialized
instance of the vehicle routing problem (VRP).
In the VRP, a set of (homogeneous) vehicles located
at a depot must be routed to serve geographically dis-
tributed customers. Routes must be optimized based
on one or more objective functions, e.g., the mini-
mization of the eet size and (or) the total routing
cost. Each customer has a known demand and ser-
vice duration, and each must be visited only once by
exactly one vehicle. Each route starts and ends at a
depot, and a vehicles capacity may not be exceeded.
The VRP is NP-hard and is usually solved by using
(meta)heuristics (Toth and Vigo 2002; Cordeau et al.
2000, 2002).
A general VRP assumption is that customers can
always be reached by the vehicles; i.e., the size of
a truck and (or) the location of the customer is not
relevant. In practice, this might not be true; indeed, a
truck with a trailer might not be able to reach some
customer locations. In such situations, the trailer must
be uncoupled from the complete vehicle (i.e., the truck
plus the trailer) in ad hoc parking areas before vis-
iting these customer locations; after visiting the loca-
tions the trailer must be coupled again to the pure
truck (i.e., the truck without the trailer), forming a
complete vehicle that continues its tour. This prob-
lem is known as the truck and trailer routing problem
(TTRP); the milk collection problem is a generaliza-
tion of the TTRP.
Assume that the set S of customers is divided
into
customers S
|r
who are accessible with or without
a trailer, and
customers S
.|
who are only accessible without a
trailer.
To address the needs of both customer types, we
must consider a possible uncoupling of the trailer
from the complete vehicle at a parking place to serve
customers in S
.|
. Therefore, following the denition
in Chao (2002), we denote the section of the route in
which a trailer is assigned as the main tour of the
130
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
Interfaces 40(2), pp. 130143, 2010 INFORMS 131
complete vehicle route (CVR). In a CVR, uncoupling a
trailer at a parking place and starting a subtour from
the point of the uncoupling is possible. In a subtour,
which must start and end at the same parking place,
the company can service customers in S
|r
and S
.|
.
Therefore, a CVR is formed by a main tour and possi-
bly a certain number of subtours. Following the TTRP
model of Chao (2002), the depot and any customer in
S
|r
could be selected as a trailer parking place.
For a complete vehicle, the sum of all demands col-
lected on the CVR may not exceed the vehicle total
capacity C +C
), which
represents the nonnegative travel time or distance
from vertex s
i
to vertex s
.
Our approach relies on the solutions of the two
mathematical formulations associated with the FRAP
and the RDP, respectively. The latter are extensively
reported in Appendices A and B.
In the FRAP, one is concerned with assigning farm-
ers to vehicles (each vehicle denes a route) consider-
ing capacity, demand, and milk-type constraints, and
neglecting the tour-length constraint. In particular, let
=
1
2
be the eet of trucks, where
1
is the set of
complete vehicles and
2
is the set of pure trucks; the
FRAP constraints are as follows.
1. For farmer s and milk type , the farmer demand
Q
s
must be satised.
2. If a positive amount of milk type is loaded in
compartment | of tank truck i, milk type is assigned
to compartment | of tank truck i, and this quantity
must not be larger than the capacity c
i|
of compart-
ment | of tank truck i.
3. At least one truck must serve each farmer.
4. Complete vehicles must visit at least one farmer
s S
|r
(this prohibits the undesirable assignment of a
complete vehicle to a set of hard-to-access farmers).
5. If a certain quantity of a milk type is loaded from
farmer s in a tank truck i, then tank truck i serves
farmer s.
6. At most, one milk type per compartment is
allowed.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
134 Interfaces 40(2), pp. 130143, 2010 INFORMS
The FRAP objective function is to minimize the
number of tank trucks used. Given the FRAP solu-
tion, the RDP denes a route for each vehicle with
the objective of minimizing the cumulative tour dura-
tion. Let
, be the collection
of subsets of farmers assigned to each vehicle i .
Let S
i
be the set of customers served by truck and
trailer, and let S
i
be the set of customers served by
truck only.
The RDP formulation works on the
routes by
separately solving (for each vehicle) a relaxation of
the traveling salesman problem. More specically, if
i is a tour associated with a pure truck, then S
i
=S
i
.
The RDP constraints ensure that (1) a tour must start
and nish at the warehouse, and (2) if a tank truck
arrives at a farmer site, it must leave this site (ow
conservation constraints).
If tour i is associated with a complete vehicle, then
the related RDP constraints are split up into two
subsets of constraints, one for S
i
and the other for S
i
.
The rationale for dividing the RDP constraints related
to i into two parts is that a complete vehicle, unlike
a pure truck, must leave the trailer when it serves
farmers belonging to S
.|
; therefore, the correspond-
ing tour must be formed by the proper composition
of subtours with farmers belonging to S
|r
and S
.|
,
respectively.
The RDP objective function is to minimize the total
preparation time and transportation time of all the
tank trucks. The preparation time includes the time
needed for milk analysis, report writing, and pump
connection.
It is important to point out that the RDP for-
mulation might have the following two drawbacks,
which the heuristic functionalities discussed next
address:
1. The minimization of the total tour time might
return a duration for some tours that exceeds the time
T allowed for a working shift.
2. Subtours might be present.
The proposed heuristic has two main blocks,
PHASE I and PHASE II, and is based on the res-
olution of the FRAP and the RDP, respectively. We
refer to a complete execution of both PHASE I and
PHASE II as an iteration of the heuristic.
PHASE I calculates the optimal solution of the FRAP
formulation by obtaining the subset of farmers to be
served by each tank truck, respecting demand and
capacity constraints. However, because this assign-
ment might not be feasible with respect to the max-
imum duration of a tour, PHASE II of the algorithm
veries this by solving the RDP formulation.
Let us examine how the heuristic works depending
on the solution found by the RDP, concentrating on a
generic vehicle i.
1. Vehicle i is a pure truck. If the solution is a unique
tour, then the algorithm terminates; otherwise, the
algorithm tries to dene a feasible solution by execut-
ing an edge-insertion routine. Its goal is to join each
subtour to the warehouse, if necessary, by inserting
the cheapest edges and deleting the heaviest ones.
More formally, this routine, for each subtour i that
does not include the warehouse (node s
0
), inserts the
cheapest edges {s
0
, s] and { s, s], where s is a farmer in
subtour i, s is a neighbor of s, and s is a neighbor of
s
0
. Finally, it deletes edges {s
0
, s] and ( s, s). Figure 3
illustrates a solution of the RDP model.
2. Vehicle i is a complete vehicle. For each tour, the
RDP formulation works with farmers from S
|r
and
S
.|
. A feasible tour for the TTRP requires a main tour
of the CVR and a number of subtours, each starting
from a farmer of the main tour. Therefore, if the solu-
tion to the RDP related to farmers in S
|r
is a unique
tour, this is the main tour of the CVR. Otherwise, to
obtain such a main tour, the algorithm executes the
insertion routine. When the main tour of the CVR
has been dened, the least-cost edge-insertion routine
is invoked again to link each subtour to a farmer in
the main tour, thus obtaining a feasible solution. Such
farmers represent the parking areas of the complete
Warehouse
Warehouse
Figure 3: The schematic illustrates the insertion routine. The left section
shows an RDP model solution with two subtours; one includes the ware-
house, the other does not. The right section shows a solution obtained by
applying the insertion routine.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
Interfaces 40(2), pp. 130143, 2010 INFORMS 135
vehicle tour. It is trivial that, if S
i
= for tour i, the
main tour of the CVR is a feasible solution for i.
In the proposed methodology, we do not permit the
possibility of visiting s S
|r
on the subtours that visit
hard-to-access farmers in S
.|
.
If the solution obtained is such that time limit T is
obeyed for each tour, then the algorithm stops; oth-
erwise, PHASE I is run again with a limitation on
the number of farmers to be serviced by tank trucks.
Formally, if
l
is the subset of tours violating the max-
imum shift duration allowed at the end of iteration l,
at iteration l +1 the FRAP formulation is solved with
the following additional constraints:
sS
z
is
]
i
(l) 1, i
l
, (1)
where ]
i
(l) is the number of farmers assigned to tank
truck i by PHASE I at iteration l, and z
is
is a binary
variable that equals 1 if tank truck i services farmer s
and is zero otherwise.
The restart mechanism diversies the solutions. To
provide counterbalancing, the algorithm tries to build
a new solution at l +1 by not completely varying the
number of farmers assigned to each tour by the FRAP
at iteration l. It accomplishes this as follows: if
l
is
the set of nonempty feasible tours at iteration l, the
FRAP formulation at iteration l +1 is solved with the
additional constraints:
sS
z
is
]
i
(l), i
l
. (2)
To avoid cycling while trying to regain feasibility
i.e., to prevent PHASE I from returning the same solu-
tion on two alternating iterations, e.g., l 1 and l +1
a tabu list in the algorithmis implemented. The assign-
ment of farmers to routes at iterations l 1 and l is
compared, and those farmers on route i at l 1 but not
on route i at iteration l, are marked as tabu to avoid
having a farmer return to route i at an immediate iter-
ation. Therefore, a tabu farmer-tour matrix must be
maintained; its generic entry (s, i) represents the num-
ber of iterations for which farmer s cannot be assigned
to tour i in the optimal solution of the FRAP in PHASE
I. Note that if at iteration l an entry (s, i) of the tabu
matrix is greater than zero, then variable z
is
is forced
to be zero in the solution of the FRAP at iteration l +1.
For example, let us assume that tour i has farm-
ers {1, 2, 5, 10] assigned at iteration 1 and farmers
{1, 2, 3, 4] assigned at iteration 2. Then farmers 5 and
10 are marked as tabu; i.e., they are not allowed to
return to tour i for number of iterations. In our
case study, we notice that must be very small, e.g.,
{2, 3], compared with tenures of tabu search algo-
rithms for other combinatorial optimization problems.
It is worth noting that by imposing constraints (1)
and (2), the solution of PHASE I could become infea-
sible with respect to the capacity constraints. In this
case, the right sides of constraints (1) are increased
by one, the right sides of constraints (2) are decreased
by one, and PHASE I is solved again to retrieve fea-
sibility. This is done iteratively until a feasible solu-
tion is found. We note that the tabu list prevents
cycling among solutions during the search for a fea-
sible solution.
The algorithm is stopped if the last 10 iterations
provide no solution improvement. Table 1 shows the
steps of the proposed algorithm.
Ensure: A set of tours respecting demand, capacity, tour duration, and
milk-type constraints.
Initialization
1: l =1;
2: l
l
=;
3:
l
l
=;
Main loop
4: while not stopping rule do
5: PHASE I: Solve the FRAP mathematical formulation,
adding constraints (1)(2) if l >1;
6: while PHASE I is infeasible do
7: Increase the right sides of constraints (1) by 1, and
decrease the right sides of constraints (2) by 1;
8: Solve the FRAP mathematical formulation,
adding constraints (1)(2);
9: end while
10: PHASE II: Solve the RDP formulation by using for each tour
the farmers assigned by PHASE I;
11: Possibly apply the edge-insertion routine
to retrieve a feasible tour;
12: if the stopping criterion is met then
13: STOP;
14: else
15: Dene sets l
l
and
l
l
;
16: Dene constraints (1) and (2);
17: Update farmer-tour entries of the tabu matrix;
18: Set variables z
is
=0 if farmer s is tabu for tour i.
19: end if
20: end while
Table 1: This table lists the algorithm steps.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
136 Interfaces 40(2), pp. 130143, 2010 INFORMS
Experimental Analysis and
Comparison with Prior Process
In this section, we compare the solution we obtained
using our algorithm with the companys prior opera-
tional process. We implemented our algorithm using
the C language and the mathematical models using
the AMPL language; we also used the solver CPLEX
7.0 (http://www.ilog.com). The C code and the AMPL
implementation were run on a PC Pentium IV with
2.8 GHz and 512 MB of RAM.
Case Study Data
ASSO.LA.C. collects milk from 158 farmers in four
towns in Calabria, a region located in southern Italy.
The towns are Cosenza (80), Catanzaro (8.7), Vibo
Valentia (6.6), and Crotone (4.7) (see Figure 4); the
number following each town represents the per-
centage of the 158 farmers who live in that town.
The companys main warehouse is in the city of
Castrovillari.
Figure 4: This map shows where ASSO.LA.C. collects milk; circles in-
dicate the four towns in which farmers live and the companys main
warehouse.
Truck Trailer No. of Capacity of
ID vehicle Capacity capacity capacity compartments compartments
0l
1
150 75 75 4 37.5/37.5/37.5/37.5
0l
2
150 75 75 4 37.5/37.5/37.5/37.5
0l
3
310 140 170 5 80/60/50/60/60
0l
4
310 130 180 3 130/130/50
0l
5
150 75 75 4 37.5/37.5/37.5/37.5
Table 2: This complete vehicle characteristics table shows capacities
expressed in quintals.
The milk types are denoted as high-quality,
standard-quality, sanitary-prescription, and origin-
protected milk. The eet comprises complete vehicles
and pure trucks. Table 2 shows complete vehi-
cle characteristics, and Table 3 shows pure truck
characteristics.
Tables 47 show the case studys main demand
nodes; note that to decrease the problem size to
improve tractability, we aggregated farmers closer
than two kilometers in a single node with a demand
equal to the sum of the demands of the clus-
tered nodes. The Complete vehicle column indi-
cates whether a complete vehicle can access the farm,
thereby indicating hard-to-access farms.
Finally, we assume that the preparation time |
s
is
known a priori for each farmer s and that the work
shift for drivers is eight hours.
Case Study Computational Results
The computational results demonstrate that the pro-
posed algorithm can provide tours such that the tank
trucks start their tours from Castrovillari and come
back to Castrovillari within the work shift. We used
No. of Capacity of
ID vehicle Capacity compartments compartments
F!
1
140 3 46.7/46.7/46.7
F!
2
140 3 46.7/46.7/46.7
F!
3
130 3 43.5/43.5/43.5
F!
4
105 3 37.37/31
F!
5
60 3 20/20/20
F!
6
60 3 20/20/20
F!
7
40 3 13.35/13.35/13.35
F!
8
110 3 37/37/36
Table 3: This pure vehicle characteristics table shows capacities
expressed in quintals.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
Interfaces 40(2), pp. 130143, 2010 INFORMS 137
Node City Complete vehicle High quality Standard quality Sanitary prescription Origin protected
1 Castrovillari (1) Yes 20.94 8
2 Castrovillari (2) Yes 8.55
3 Francavilla Marittima Yes 2.8
4 Spezzano Albanese Yes 7.03
5 San Lorenzo (1) No 12.61 22.43
6 San Lorenzo (2) No 5.8 7.87
7 Terranova da Sibari (1) No 5.05 4
8 Terranova da Sibari (2) No 2.62 1.6
9 Cassano allo Ionio Yes 2.6 33.48
10 Tarsia (1) Yes 10.77
11 Tarsia (2) No 3.75 2.4
12 Altomonte No 4.35 2.9
13 San Sosti No 8.4
14 Malvito No 3.76
15 Roggiano Gravina No 13.53
16 San Marco Argentano Yes 10.4
17 Cerzeto No 58.33
18 Santa Soa DEpiro No 2.5
19 Bisignano No 20 1.2
20 Luzzi (1) No 26.3 12.72
21 Luzzi (2) No 8.6
22 Lattarico No 8.2 6.62
23 San Vincenzo la Costa No 1.75
24 Montalto (1) No 12.2 1.6 12.67 6.45
25 Montalto (2) No 8.1 8.9
26 Castiglione Cosentino No 7.2
27 Rende (1) Yes 12.04 23.9
28 Rende (2) Yes 15.87 12.8
29 Cosenza (1) Yes 19.36
30 Cosenza (2) Yes 52.6 11.9
31 Carolei No 4.7 3
32 Celico (1) No 3.89 6.1
33 Celico (2) No 14.65
34 Spezzano Sila No 11 3.8 2.4
35 San Giovanni in Fiore Yes 20.9
36 Corigliano Yes 71.93
37 Rossano Yes 62.5
38 Paludi No 39.28
39 Crosia No 2
40 Calopezzati No 6.46
Table 4: The demand data for Cosenza are shown.
three complete vehicles, CV
1
, CV
2
, and CV
4
, to serve
farmers in Crotone, Vibo Valentia, and Catanzaro
areas that provide easy access to farmers. CV
1
and
CV
2
serve Crotone and Vibo Valentia. CV
4
is the
only vehicle that can be used to serve farmers in
Catanzaro to ensure that the working-shift duration
is not exceeded.
The algorithm uses all eight pure trucks to collect
milk from farmers in Cosenza. Note that the average
lling ratio, i.e., the average ratio between the load of
a truck and its capacity, is 95 percent.
To complete the study, we computed the distance
that each vehicle travelled and the transportation
cost (Table 8). ASSO.LA.C. provided both direct and
indirect transportation costs. We used 1,189 seconds
and 20 iterations to nd the solution.
Table 9 shows details of the proposed algorithms
performance. To show the effectiveness of constraints
(1) and (2) in the proposed method, we report the
results we achieved using three implementations of
the algorithm. The rst implementation (Both in
Table 9) considers constraints (1) and (2), the second
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
138 Interfaces 40(2), pp. 130143, 2010 INFORMS
Complete High Standard Sanitary Origin
Node City vehicle quality quality prescription protected
1 Catanzaro Yes 4.65
2 Lamezia Terme Yes 76.72 43.2
Table 5: The demand data for Catanzaro are shown.
Complete High Standard Sanitary Origin
Node City vehicle quality quality prescription protected
3 Crotone Yes 15.45
4 Crucoli No 15.11
5 Cutro Yes 4.76
6 Isola Capo Rizzuto Yes 30.58
7 Roccabernarda No 32.21
8 Scandale No 12.39
Table 6: The demand data for Crotone are shown.
Complete High Standard Sanitary Origin
Node City vehicle quality quality prescription protected
9 Vibo Valentia Yes 115.31 2
10 Cir Marina Yes 15.1
Table 7: The demand data for Vibo Valentia are shown.
(None) does not implement constraints (1) or (2),
and the third (Only (1)) uses only constraints (1).
For each iteration l in Table 9, we list (1) the num-
ber of tours obtained from PHASE I, (2) the total
tour length from PHASE II, (3) the fullment of the
maximum shift duration for each tour (yes means
that all the tours respect the maximum shift duration
allowed and no means that at least one tour has
a length greater than T ), and (4) the average tight-
ness of constraints (1) and (2), computed, respectively,
as
i
l
sluc|
i
,
l
and
i
l
surplus
i
,
l
, where sluc|
i
is the slack variable of constraint i
l
and surplus
i
is the surplus variable of constraint i
l
. The algo-
rithm takes advantage of both constraints to produce
a better-quality solution.
Figure 5 shows the cost trend (j axis indicates the
cost of the solution in euros) over different values
(x axis). As we mentioned in the previous section,
the algorithm reaches its best solution when the value
of is very small; e.g., = 2 ( is the number of
iterations within which a given farmer cannot belong
to a given tour).
Distance travelled Transportation cost
ID vehicle (km/day) (euro/day)
0l
1
275 103
0l
2
282 106
0l
4
274 114
F!
1
186 84
F!
2
198 86
F!
3
176 83
F!
4
166 81
F!
5
135 77
F!
6
135 76
F!
7
141 79
F!
8
158 81
Total 2,126 667
Table 8: The data in this table illustrate case study results for our opti-
mized solution.
To show the improvements that the proposed
method produced, Table 10 reports how ASSO.LA.C.
operated prior to implementing our optimization
method; it uses the same parameters as Table 8 to
provide a fair comparison.
Note that the prior solution used 12 vehicles; our
optimized solution used 11 vehicles (it did not use
complete vehicle CV
3
), thus implying that the FRAP
objective function makes a difference. In the prior
solution, the daily transportation cost was 1,100 euros
and the trucks travelled 2,484 km.
Comparing values in Tables 8 and 10, we see that
the dairy company attained a reduction of about
14.4 percent in the total distance that the tank trucks
600
700
800
900
1 2 3 4 5 6
Figure 5: The graph illustrates solution cost varying , values. The y axis
indicates the cost in euros of the solution over different , values reported
in the x axis; , is the number of iterations within which a given farmer
cannot belong to a given tour.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
Interfaces 40(2), pp. 130143, 2010 INFORMS 139
Constraints No. of tours Total tour length Fullment of the maximum Average tightness Average tightness
Iterations (1) and (2) in PHASE I in PHASE II (km) shift duration for each tour of constraints (1) of constraints (2)
1 Both 10 2,268 No
None 10 2,268 No
Only (1) 10 2,268 No
2 Both 11 2,156 No 1.00 0.00
None 11 2,212 No
Only (1) 11 2,178 No 0.25
3 Both 12 2,148 Yes 0.67 0.00
None 11 2,178 No
Only (1) 12 2,154 Yes 0.33
4 Both 13 2,132 Yes 0.00
None 11 2,184 No
Only (1) 12 2,144 Yes
5 Both 11
2,209 No 0.00
None 12 2,144 Yes
Only (1) 11 2,182 No
6 Both 11 2,198 No 0.33 0.00
None 12 2,154 Yes
Only (1) 11 2,192 No 0.00
7 Both 11 2,172 No 0.00 0.00
None 11 2,182 No
Only (1) 12
S, be farmers s and s
in the set S of
farmers;
set S of farmers be split into S
|r
and S
.|
, with S
|r
as the set of farmers reachable by complete vehicles
and S
.|
reachable by pure trucks only;
| K
i
be compartment | in tank truck i;
K
i
=K
i
K
i
, where K
i
is the set of compartments
on the truck component of complete vehicle i and K
i
is the set of compartments on the trailer component
of complete vehicle i;
Q
s
, be the amount of milk type associated with
farmer s; and
c
i|
, be the capacity of compartment | in tank
truck i.
We dene a (real) variable j
i|s
0, which is asso-
ciated with the quantity of milk type loaded in
compartment | of tank truck i from farmer s. Vari-
able j
i|s
> 0 means that tank truck i had to load a
certain quantity of milk type from farmer s. We
then dene a binary variable z
is
to keep track of this
farmer; i.e.,
z
is
=
i
=
|K
i
j
i|s
=Q
s
) , s S, (A1)
sS
j
i|s
c
i|
x
i|
i , ) , | K
i
, (A2)
i
z
is
1 s S, (A3)
sS
|r
z
is
i
i
1
, (A4)
j
i|s
z
is
c
i|
i , | K
i
, ) , s S, (A5)
sS
z
is
i
S i , (A6)
)
x
i|
1 i , | K
i
, (A7)
j
i|s
=0 i
1
, | K
i
, ) , s S
.|
(A8)
x
i|
{0, 1] i , | K
i
, )
j
i|s
+
i , | K
i
, ) , s S
i
{0, 1] i .
Constraints (A1) say that for farmer s and milk
type , demand Q
s
must be satised. Constraints (A2)
impose the restriction that if a positive amount of
milk type is loaded in compartment | of tank truck
i, then x
i|
= 1; i.e., milk type is assigned to com-
partment | of tank truck i, and this quantity must
not be larger than the capacity c
i|
of compartment |
of tank truck i. Constraints (A3) mean that at least
one truck must serve each farmer. Constraints (A4)
state that complete vehicles (if utilized) must visit
at least one farmer in S
|r
. Constraints (A5) establish
that if a certain quantity of a milk type is loaded from
farmer s in a tank truck i (i.e., j
i|s
0), then tank
truck i serves farmer s; i.e., z
is
= 1. Inequalities (A6)
are strictly related to the objective function. Indeed,
when at least one customer is assigned to vehicle i,
then
i
must equal one and contributes to the value
of the objective. Constraints (A7) are the milk-type
incompatibility constraints. Recall that by constraints
(A2), if the quantity
sS
j
i|s
of milk type loaded
in compartment | of tank truck i is greater than zero,
the binary variable x
i|
is forced to assume a value
equal to one. The FRAP formulation is completed by
constraints (A8), which ascertain that milk cannot be
transferred between the truck and trailer because of
the existence of varying milk types.
Appendix B. The Route Denition
Problem Formulation
Let .
iss
be a binary variable, which is dened for each
tank truck i and for each farmer s and s
. We have
.
iss
=
,
0 otherwise.
Caramia and Guerriero: Milk Collection Problem with Incompatibility Constraints
142 Interfaces 40(2), pp. 130143, 2010 INFORMS
Let Succ(s) and Prcd(s) be the set of successors and
predecessors, respectively, of farmer s. Starting from
the denitions of S
i
and S
i
, we can dene the RDP
constraints separately for each tour i. In particular, if
i is a tour associated with a pure truck, then the RDP
constraints are
sSucc(s
0
)S
i
.
is
0
s
=1 i , (B1)
sPrcd(s
0
)S
i
.
iss
0
=1 i , (B2)
Succ(s)S
i
.
iss
=1 i , s S
i
, (B3)
Prcd(s)S
i
.
is
s
=1 i , s S
i
. (B4)
Constraints (B1) and (B2) say that a tour must start
and nish at warehouse s
0
. Constraints (B3) and (B4)
are ow-conservation laws; i.e., if a tank truck arrives
at a farmer site, it must leave this site.
As we discussed in the Milk Collection with Incom-
patibility Constraints section, if tour i is associated with
a complete vehicle, then the RDP constraints split up
into two subsets, one related to S
i
obtained by replac-
ing S
i
with S
i
in constraints (B1)(B4) and the other
related to S
i
dened by constraints (B3)(B4) in which
S
i
is replaced by S
i
.
The objective function of RDP takes the following
form:
min
sS
z
is
|
s
+
sS
S
d
ss
.
iss
.
This equation comprises two parts; the rst is
the total preparation time, i.e., the time needed for
the milk analysis, writing the report, and connect-
ing pumps to tanks. For this rst part, we must con-
sider which tank truck serves which farmer. If tank
truck i serves farmer s, then z
is
is equal to one. When
this happens, we consider the contribution given by
the preparation time |
s
of farmer s. Summing up the
total number of farmers, we have the total prepa-
ration time. Note that this contribution depends on
the number of tank trucks that services a certain
client.
The second part refers to the transportation time.
When .
iss
=1, then tank truck i serves both farmers
s and s