Xerox Routing Problem 3

Embed Size (px)

Citation preview

  • 8/14/2019 Xerox Routing Problem 3

    1/30

    Column Generation combined with Constraint

    Programming to solve a Technician Dispatch

    Problem

    Andrs WeintraubIndustrial Engineering Department

    University of Chile

    Working with:

    November 2005

    Cristin E. CortsCivil Engineering Department

    University of Chile

    Michael GendreauCentre de recherche sur les transports,

    Universit de Montral

    Sebastin SouyrisIndustrial Engineering Department

    University of Chile

    Fernando OrdoezIndustrial Engineering DepartmentUniversity of Southern California

  • 8/14/2019 Xerox Routing Problem 3

    2/30

    Motivation

    Real Problem: Dynamic dispatch of technicians of Xerox Chile to repair failuresof their machinesalong the day.

    The proposed scheme is based upon the classic formulationof the Vehicle Routing Problem with Soft Time Windows(VRPSTW), and it is formulated and solved as a Dantzig-Wolfe decomposition by using column generation, with aconstraint programming approach.

    Xerox strategic objective: Client satisfaction, sotechnical service becomes relevant

  • 8/14/2019 Xerox Routing Problem 3

    3/30

    The Problem: Characteristic

    Service times are stochastic and depend on the type of

    machine and the specific failure.

    Requests for one day must be scheduled at the beginning of it.

    There is a scheduled response times

    0tClientj

    calls

    time

    jTW

    jbMax arrival

    timeClientj

    Max Response Time

  • 8/14/2019 Xerox Routing Problem 3

    4/30

  • 8/14/2019 Xerox Routing Problem 3

    5/30

    Master Problem

    Set Partitioning

    Model

    COLUMN

    GENERATOR

    Sub Problem

    : min

    1

    {0,1},

    r r

    xr R

    r ri

    r R

    r

    P c

    a i I

    r R

    =

    DualMultipliers

    Columns: dual variablei

    ,

    Reduced Cost Column

    (1 )

    : path followed by technician

    k k k

    k ki ij

    i P i j P

    i

    i

    k

    P

    c t

    P k

    = +

    Reformulation

    * 0?kc

    Generate complete daily schedule for each technician

    ,

    variable 1 if route served out by some technician

    cost of the route

    parameter 1 if client is in route

    : pool of routes

    :

    = (1 ) ,

    :

    r

    r

    i ij

    i r i j r r

    i

    r

    i r

    R

    r R

    c t

    a

    +

    2I

    1I+

    1I

  • 8/14/2019 Xerox Routing Problem 3

    6/30

    { } 1 2 2

    2

    0,1 ,

    , 0

    ij

    i i

    x i I I j I

    w i I

    UNature of Variables

    OF: Minimize reduced cost

    2 1 2

    , ,, ,

    min (1 )i ij ij i ijx w

    i I i j I I k K i j I

    t x x

    +

    { }1 2 2

    2

    1

    0ij jii I I i I I

    j x x I

    +

    = U U

    Flow Conservation

    1 2

    1iji I j I

    x

    = One technician follow the new path

    1 2

    1 2 2

    2

    2

    (1 )* ,i i ij j ij

    i ji

    j I I

    i i i

    w s t w x M i I I j I

    w L x i I

    w b i I

    + +

    U

    UTemporal and

    feasibility constraints

    Path ends in the final

    fictitious node

    SP: Shortest Path Problem With Soft Time Windows

    1 2

    11

    iI

    i I I

    x+

    =U

  • 8/14/2019 Xerox Routing Problem 3

    7/30

    How to solve it?

    Dynamic Programming:

    The most used approach in literature.

    Difficult to implement and solve it under Branch and

    Price scheme. Constraint Programming:

    Good performance for short routes (five clients).

    Easy to implement and solve it under Branch and Price

    scheme with Constraint Branching.

  • 8/14/2019 Xerox Routing Problem 3

    8/30

    Constraint Programming Model

    MaqSeq[l] M: secuence of clients in path to generate, l = 0..L

    w[l] [0..F] : time to begin service of client l = 0..L

    d[l] [0..F] : time windows violation of client l =1..L

    t[l] [0..tvmax]: travel

    VARIABLES

    time to clients in position l-1 to l

    SETS

    M : clients

    MT M : clients with technicianMQ M : clients in queue

    PARAMETERS

    i

    i

    ij

    i

    s :reparation time of client i

    b :goal time of client i

    F : period end of evaluation

    tv : travel time between clients i and j

    L : lenght of the path to generate

    c : dual variable of client i given by the LR of SSP

    tvmax : maximum time of trip allowed in the path to generate

  • 8/14/2019 Xerox Routing Problem 3

    9/30

    )

    OBJECTIVE FUNCTION

    MaqSeq[l]

    l l l

    Min ReducedCost = * d[l]+(1- t[l] - c

    1. Time to begin the service

    SUBJECT TO

    MaqSeq[l-1]w[l]= w[l-1]+s +t[l] , l =1..L

    2. Violation of time windows

    MaqSeq[l]

    w[l]-d[l] b , l = 0..L

    3. Travel time between clients in the path

    MaqSeq[l-1],MaqSeq[l]

    t[l]=tv , l =1..L

    4. Path begin time (depends of the state of service of the first client)

    MaqSeq[0]w[0]= b

    5. All the clients in the path must be different

    alldifferent[MaqSeq]

    6. First client in the path must have technician

    MaqSeq[0] MT

    7. Other clients in the path be not have technician

    MaqSeq[l] MQ , l = 1..L

  • 8/14/2019 Xerox Routing Problem 3

    10/30

    Other constraints:

    Avoid routes created before.

    Start with a technician already serving a client.

    Solver Search:

    Strategic dichotomic.

    Procedure: depth first search.

  • 8/14/2019 Xerox Routing Problem 3

    11/30

    General ProcessGenerate a set of initial routes.

    One Route for each client. Feasible problem.

    Solve a Linear Relaxation of the Master

    Problem (MP) with the actual pool of routes

    Ad new route to

    the MP

    From the Master Dual Variables generate a

    route with Minimum Reduced Cost

    Solve MP

    END

    0?r

    c

    i

    rc

    YES

    NO

  • 8/14/2019 Xerox Routing Problem 3

    12/30

    Example Real Instance

    Real Operation: Normal working day, 36 clients,9

    technicians

    Optimization total time 500 sec. The following maps show observed routing versus

    optimized routing.

  • 8/14/2019 Xerox Routing Problem 3

    13/30

    Real instance

  • 8/14/2019 Xerox Routing Problem 3

    14/30

  • 8/14/2019 Xerox Routing Problem 3

    15/30

    Path used by the firm

  • 8/14/2019 Xerox Routing Problem 3

    16/30

    3

    Path in Column Generation

  • 8/14/2019 Xerox Routing Problem 3

    17/30

    Technician Path Arrival time b Violation Travel time Technician Path Arrival time b Violation Travel time

    1 m1 755 755 0 0 2 m2 660 1002 0 19

    m20 838 765 73 23 m10 810 1015 0 30

    m17 892 929 0 24 m27 1680 2040 0 30

    m34 993 1059 0 21 m34 1800 1059 741 0

    m36 1109 1890 0 26 4 m4 1670 1022 648 20

    2 m2 1002 1002 0 0 m36 2085 2032 53 22

    m15 1152 1716 0 30 m32 1820 1890 0 26m32 1290 2032 0 18 1 m1 870 970 0 0

    m26 1371 1652 0 11 m21 930 947 0 0

    m16 1581 1718 0 30 9 m9 1020 1068 0 30

    4 m4 1022 1022 0 0 m15 1710 1716 0 60

    m10 1152 845 307 30 m16 1860 1718 142 17

    m21 1262 947 315 25 5 m5 1665 1662 3 15

    m30 1354 1893 0 32 m17 1770 1834 0 20

    5 m5 1024 1024 0 0 m29 910 929 0 20

    m31 1083 1780 0 14 m12 765 765 0 0

    m22 1190 1832 0 17 m14 1020 1955 0 20

    m11 1325 1779 0 15 m31 1980 1780 200 406 m6 1980 1980 0 0 3 m3 1665 1024 641 15

    m23 2068 2250 0 28 m20 720 845 0 30

    m33 2113 2214 0 25 m28 1980 1779 201 60

    8 m8 943 943 0 0 m22 1800 1832 0 15

    m19 1101 985 116 23 m11 1740 1701 39 30

    m13 1244 999 245 23 m33 2130 2214 0 42

    m28 1352 1701 0 48 7 m7 900 755 145 41

    m35 1425 2010 0 43 m18 600 805 0 14

    9 m9 1068 1068 0 0 m25 990 1651 0 18

    m14 1143 1834 0 15 m26 1650 1652 0 0

    m25 1244 1651 0 11 6 m6 990 1980 0 203 m3 1662 1662 0 0 m23 990 2250 0 30

    m12 1761 2040 0 24 m30 1680 1893 0 30

    m29 1812 1955 0 21 8 m8 705 943 0 10

    7 m7 970 970 0 0 m13 930 999 0 20

    m12 1045 1015 30 25 m19 1800 985 815 150

    m18 1249 805 444 24 m24 1995 1758 237 15

    m24 1474 1758 0 30 m35 2110 2010 100 10

    TOTAL 1530 656 TOTAL 3965 918

    B =0.7 Z* 1268 B =0.7 Z* 3051

    Path used by the firmPath in Column Generation

  • 8/14/2019 Xerox Routing Problem 3

    18/30

    CG Firm CG Firm CG Firm

    1530 3965 656 918 1268 3051

    Z*Travel timeViolation

    = 0.7

  • 8/14/2019 Xerox Routing Problem 3

    19/30

    0

    100

    200

    300

    400

    500

    0.1 0.3 0.4 0.6 0.8 0.9

    B

    [min]

    Violation(B)

    Travel Time(B)

    But this procedure does not assure

  • 8/14/2019 Xerox Routing Problem 3

    20/30

    But, this procedure does not assureoptimality

    Improve CG methodology: Branch and Price.

    Along the B&B tree, new routes with negative reduced cost could be found.

    B&P: Generate columns at each node of the Branch & Bound

    First Approach: Maestro Library for B&P (ILOG).

    Same Master Problem.

    Sub Problem: IP Shortest Path Model =>very inefficient.

    Designed for hard time windows.

    Second Approach:

    Same Master Problem.

    Branching Strategy: Constraint Branching (Ryan and Foster)

    Sub Problem:1. Constraint Programming.2. Dynamic Programming very inefficient to satisfied constraint branching conditions.

    B hi St t C t i t B hi (R

  • 8/14/2019 Xerox Routing Problem 3

    21/30

    Branching Strategy: Constraint Branching (Ryanand Foster)

    If a basic solution is fractional then there existtwo clients i andj such that:

    : 1, 1

    0 1r r

    i j

    r

    r a a

    = =

    <

  • 8/14/2019 Xerox Routing Problem 3

    22/30

    Branching Strategy: Constraint Branching (Ryanand Foster)

    i

    j

    i

    j

    i

    j

    i

    j

    Two type of columns Three type of columns

    i

    j

  • 8/14/2019 Xerox Routing Problem 3

    23/30

    Ryan and Foster (1981) branching strategy:benefits

    All constraints are imposed at the sub-problem directly

    B&B terminates after a finite number of branches since

    there are only a finite number of pairs of rows.

    Each branching decision eliminates a large number of

    variables from consideration .

  • 8/14/2019 Xerox Routing Problem 3

    24/30

  • 8/14/2019 Xerox Routing Problem 3

    25/30

    Stochastic Service Times (work with FernandoOrdez)

    SVRP Literature: Formulate the problem either resource or

    chance constraint, or both.

    Robust Optimization:

    Box uncertainty: completely independent uncertainty in

    each sigiven by a box uncertainty set

    { }| ,= + i i i iU s s s s i I

    Worst Case: all service times are the maximum, which is improbable

  • 8/14/2019 Xerox Routing Problem 3

    26/30

    Stochastic Service Times

    Worst Case: for each path, first clients complete their repair time until Uk

    Independent service time uncertainty per technician

    robust parameter:

    kk ii PU

    =

    ( )

    routing solution

    ( ) | , ,

    :

    kr

    r i i i i i k i P x

    r r

    U x s s s s z i I z U

    x

    = +

    Estimation of :1. From the real services time estimate each i.

    2. From real routes estimate maximum over reparation time, max Uk.

    3. From this data estimate statistically .

    M d l f t h ti ti f l th t b i i f h th th t

  • 8/14/2019 Xerox Routing Problem 3

    27/30

    { }2 1 2, 1

    parameter for control uncertainty:

    k

    ik ij i

    i I i I j I I

    k

    k Kz x

    +

    U

    Max Over ReparationTime for technician

    1 2

    k

    ik i ji

    j I I

    k Kz y

    U

    Max Over ReparationTime for client

    { }1 2, 1 ,k k

    ij iji I j I k K y x I +U

    Relation between variables xandy

    { } 1 2 2

    , , 2

    0,1 , ,

    , 0 ,

    k

    ij

    i k i k

    x i I I j I k K

    w i I k K

    U

    { }1 2 2

    2

    1

    ,0k k

    ij ji

    i I I i I I

    j k K x x I

    +

    = U U

    1 21k

    ij

    k K j I

    x i I I

    =

    U

    2 2 2

    end of the day

    (1 )*

    , ,

    , , :

    ,

    k

    ik i i ij jk ij

    k

    ik ji

    j I

    ik ik i

    w s z t w x M

    i I I j I k K

    w L x

    i I k K L

    w b i I k K

    + + +

    U

    1 2

    1 1k

    iI

    i I I

    x k K +

    = U

    ,

    ,

    min (1 )k

    x ik ij ij

    k K i I k K i j I

    t x

    + Two new Variables:20

    k

    i z i I Upper Time of reparationfor client

    { }1 2 2

    0,1,

    ijyi I I j I

    UIf previous client hasmax length reparation time

    { }1 2, 1 ,k

    iiji

    i I j I k Kz

    y I +U

    Relation between variables zandy

    Model forces to have reparation time of max length at beginning of each path, the worst case.

  • 8/14/2019 Xerox Routing Problem 3

    28/30

    Robust Model Test

    Robust Problem solved with Column Generation and ConstraintProgramming. New constraints are added to the SubProblem.

    Test:

    Comparison with deterministic model.

    Artificial data.

    Solve for same set of customers deterministic and robust model.

    Obtain routes for technicians in each case. For each customer, assume Weibell distribution (which represents

    well repair times). Parameters for Weibell, derived from data. Obtain2000 values of repair time for each customer, leading to 2000simulations.

    For each simulation test which solution is better for a given

  • 8/14/2019 Xerox Routing Problem 3

    29/30

    P(rob

  • 8/14/2019 Xerox Routing Problem 3

    30/30

    Conclusions and Further Research

    Routing Problems are mostly IP friendly, small LP/IP gaps.

    Branch and Price does not improve much in these instances.

    Constraint Programming works quite well and provides the shortestroutes: Better and simpler than DP?.

    Results are promising, considering that Xerox is supposed to havegood quality logistics.

    Consider less friendly problems for Branch and Price.

    When incorporating stochastic nature of repair times, obtain numericalresults for Robust Optimization. Compare to deterministic model.

    Develop algorithm for real time scheduling as customers appearduring the day.