06Consolidation TL and LTL Shipment Column Generation Approach

Embed Size (px)

Citation preview

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    1/85

    1

    1

    Consolidation

    John H. Vande Vate

    Spring, 2007

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    2/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    3/85

    3

    3

    Motivations

    Speed

    LTL shipments are consolidated, routed to

    intermediate terminals, sorted,

    TL shipments can be faster

    Cost

    Remember concave cost structure

    Typically TL is less expensive per unit

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    4/85

    4

    4

    Context

    Manufacturer/Distributor shipping to regular

    customers

    Default Option: LTL shipment to each customer

    Consolidation: TL several order to LTL terminal near customers

    LTL from terminal to customers

    Typically not dynamic:

    Where is the customer?

    How large is the order?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    5/85

    5

    5

    Interrelated Questions

    Where do we consolidate (what

    terminals)?

    Which customers (orders) do we servethrough each terminal?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    6/85

    6

    6

    Assumptions

    Single Plant or origin for suppliesWe are not allocating customers to

    production plants. Thats already been done

    We know our customersNot always the case

    Can use geographic regions in place ofactual customer locations

    We have adjusted last years orders toreflect next years projections

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    7/85

    7

    7

    A Model

    Identify a candidate set of consolidation points (terminals) More choices allows exploring more options

    More choices slows computation

    On the order of 30 say

    Key Decisions Open: Do we use a candidate consol pt or not?

    One for each candidate consol pt

    Assign: Does a consol pt serve a customer or not?

    One for each candidate consol pt and (reasonably close) customer

    ServeDirect: Do we serve the customer directly via LTL or not?

    One for each

    Trucks: Annual (say) number of TL shipments to a candidate consol

    pt.

    One for each candidate consol pt.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    8/85

    8

    8

    Objective: Transportation Cost

    LTL shipments direct to customers Easy to rate these, weve been shipping this way

    Recommend using rating engine to rate them anyways

    Compute discount rate: DR = (Rated Cost -Actual Cost)/Rated Cost

    Cost to serve * Serve Direct

    Truck load shipments to consolidation points Might use $/mile and get distances from PC Miler or CzarLite

    Might distinguish by region of country

    Cost per truck * Trucks to Consol Pt.

    LTL shipments from consol pts to customers These are painful to get

    Use rating engine to rate historical shipments apply discount rate DR

    Cost to Serve from Consol pt * Assign to Consol pt

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    9/85

    9

    9

    Elaborations Consider inventory costs

    Handling charges at consol pts

    Amortized capital charge or rent for consol pts

    Time to customer

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    10/85

    10

    10

    Transport Requirements

    TL shipments cost depends on capacity

    How many trucks

    Homogeneous commodity Either weight or cube or floor space drives

    capacity Translate each customers annual demand into a

    demand for this unit of capacity, e.g., weight

    Heterogeneous commodities

    Treat like homogeneous commodity based onbasket of products or

    Translate each customers annual demand intoweight and cube (or floor space)

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    11/85

    11

    11

    Constraints

    Every Customer is Served

    For each customer:

    ServeDirect + Sum over consol pts Assign = 1

    Trucks required to each consol pt

    For each consol pt (and type of capacity,

    e.g., weight, cube, floor space)

    Trucks*Load Factor Sum over customersAssign*Requirement/Capacity

    Demand

    varies.

    Trucks

    wont be full

    e.g.,Weight of

    customers

    orders

    e.g.,Weight

    limit of Truck

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    12/85

    12

    12

    Frequency

    Time matters

    Minimum level of service to consol pt E.g., once per week or thrice per week

    Amounts to a fixed (operating cost) foropening a consol pt.

    ServiceLevelConstraint:

    For each consol ptTrucks Minimum Service level*Open

    e.g.,156 = 52*3

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    13/85

    13

    13

    Logic

    Cant assign a customer to a consol pt

    unless it is open

    For each customer and consol pt (withinreason)

    Assign Open

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    14/85

    14

    14

    Peculiarities

    Typical of integer optimization

    Does strange things to ensure we get the most

    out of the fixed operating cost associated with

    opening a consol pt.See assignments bypassing consol pts

    Adding a nearby customer may force us to use

    another truck, but adding a smaller one fartheraway may not

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    15/85

    15

    15

    Odd Assignments

    Reasonable to use recommended consol pts?

    Reasonable to use recommended

    assignments?

    Plant in

    FL!?*

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    16/85

    16

    16

    Translation to Implementation

    Suggests the value of dynamic

    assignments that change from week to

    week Reasonable to drop integrality of Assign

    One Project: Implement and evaluate the

    impact of dynamic assignments

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    17/85

    17

    17

    Next Step: Multi-Stop Routes

    Can we improve performance by sharingthe fixed operating cost across severalconsol pts

    Advantage: Allows smaller consol pts Disadvantage: Lower efficiency in TLshipmentsDo you really want to run trucks half empty

    half way across the country?Stop charges: e.g., $50 per stop

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    18/85

    18

    18

    Typical Multi-Stop Rt

    Clustered

    destinations

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    19/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    20/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    21/85

    21

    21

    Objective

    Transportation Costs

    TL to Consol Pts

    Multi-stop TL to Consol Pts LTL to Consol

    Pts

    LTL Direct to Customer

    Multi-Stop TL costs include

    Mileage charge

    Stop charges

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    22/85

    22

    22

    Constraints Every Customer is Served

    For each customer:

    ServeDirect + Sum over consol pts Assign = 1

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor space)

    Sum over routes that stop at the consol pt Route Volume + Trucks*Load Factor

    Sum over customers Assign*Requirement/Capacity Service Level Constraint For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt MultiStopTrucks

    Minimum Service level*Open

    Logic: For each customer and consol pt (within reason)

    Assign Open

    Multi-Stop Trucks For each multi-stop route

    MultiStopTrucks*Load Factor Sum over stops on the route Route Volume

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    23/85

    23

    23

    Problems

    How do we know all the (interesting) routes?

    How many are there?

    If we have ~ 50 consol pts and limit routes to say4 stops, we get 5.5 million potential routes!

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    24/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    25/85

    2525

    Column Generation

    Turns out this is a bit more complicated

    Illustrate the basic concept first

    Apply to our Multi-Stop problem

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    26/85

    2626

    Column Generation

    Illustrate with a pure Multi-Commodity

    Flows problem

    Multi-Commodity Network FlowsNetwork flows with several products

    (commodities)

    Joint capacity constraints Total volume of all commodities moving on a link

    2 commodities

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    27/85

    2727

    Example MCNF Problem

    Costs

    From\To 1 2 3 4 5

    1 0 9 4 8 60

    2 0 0 9 70 3

    3 0 6 0 4 1

    4 7 7 2 0 7

    5 3 6 5 7 0

    Product 1 10 0 0 0 -10

    Product 2 0 20 0 -20 0

    Capacities

    From\To 1 2 3 4 5

    1 0 1 2 1 10

    2 1 0 1 20 1

    3 1 1 0 2 1

    4 2 2 1 0 1

    5 1 1 1 2 0

    2 commodities

    Prod 1 from 1 to 5

    Prod 1 from 2 to 4

    2 to 4 has

    lots of

    capacity

    But it is

    expensive

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    28/85

    2828

    Understand Problem?

    Capacity Constraints:

    Capacity on 1-3 is 1

    Either 1 unit of Product 1 or 1 unit of Product 2, not

    both

    Can send 0.5 units of Product 1 & 0.5 units of Product

    2.

    How to solve this if there are no capacityconstraints?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    29/85

    2929

    A Flows on Paths Model

    Variables: For Product 1: Each path from node 1 to node 5

    For Product 2: Each path from node 2 to node 4

    1

    23

    45

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    30/85

    3030

    Constraints

    Product 1 Demand:Total Flow of Product 1 on paths from 1

    to 5 is 10 Product 2 Demand:

    Total Flow of Product 2 on paths from 2to 4 is 20

    And?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    31/85

    3131

    Capacity Constraints

    One for each edge in the network (in

    this case 20)

    Example: Capacity on 2-3 is 1:

    Total Flow of Product 1 on paths that use

    edge from 2 to 3 +

    Total Flow of Product 2 on paths that use

    edge from 2 to 3 1

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    32/85

    3232

    Column Generation Approach

    Start with a small initial set of paths E.g., just the single-edge path from 1 to 5 for

    Product 1 and from 2 to 4 for Product 2

    Solve the Flows on Paths Model with thesepaths

    Use the Dual Prices or Shadow Prices fromthis solution to determine if any new paths

    will improve the solution. If there are no better paths, youre done.Otherwise add the paths to the formulationand repeat.

    The art &

    science

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    33/85

    3333

    The Dual Prices

    One for each constraint Tell us the change in the objective per unit

    increase in the right-hand-side of theconstraint (its a rate, i.e., $/unit)

    Examples: Product 1 Demand Constraint: The dual pricetells us how much more it would cost if weinsisted on sending 10 + units of Product 1from 1 to 5

    Capacity Constraint on Edge 2-3: The dualprices tells us how much more (less) it wouldcost if we increase the capacity on this edge by

    What does intuition suggest about the signs?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    34/85

    3434

    Try It

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    35/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    36/85

    3636

    Reduced Cost

    Sending flow on a new path has two impacts:

    We have to pay to send the flow

    We reduce flows on the current paths

    Computing the cost of sending the flow iseasy: Cost of the path * Units sent

    Cost of the path is?

    Computing the cost of the corresponding

    changes in the flows on the current paths

    turns out to be easy too.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    37/85

    3737

    Use the Shadow Prices

    Sending flow of Product 1 on the path from 1 to 3 andthen 3 to 5 has 4 effects: It incurs the cost to send flow on this path

    It reduces the requirements for sending flow of Product 1from node 1 to node 5 on the current paths: Whats the value

    of this? It reduces the capacity on the edge 1-3 available to thecurrent paths: Whats the value of this?

    It reduces the capacity on the edge 3-5 available to thecurrent paths: Whats the value of this?

    Reduced Cost of Path 1-3-5:Cost of using edge 1-3 + Cost of using edge 3-5Minus Shadow Price for demand of Product 1

    Minus Shadow Price for capacity on edge 1-3

    Minus Shadow Price for capacity on edge 3-5

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    38/85

    3838

    Is Path 1-3-5 Attractive?

    Is Reduced Cost of Path 1-3-5 < 0?Cost of using edge 1-3 + Cost of using edge 3-5

    Minus Shadow Price for demand of Product 1

    Minus Shadow Price for capacity on edge 1-3

    Minus Shadow Price for capacity on edge 3-5

    < 0?

    Reduced Cost of Path:

    Sum over the edges ofCost of edge Shadow Price for capacity on edge

    < Shadow Price for Demand

    The net cost

    (including the value

    of the consumedcapacities) to send

    a unit of flow

    The net

    value

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    39/85

    3939

    Finding Attractive Paths

    Reduced Cost of Path:Sum over the edges of

    Cost of edge Shadow Price for capacity on edge

    < Shadow Price for Demand

    If we fix the commodity, the right-hand-side is aconstant

    Find a shortest path for this commodity using themodified costs for the edges

    If the length of this path is less than the Shadow Price for Demand, we have a candidate

    Greater than the Shadow Price for Demand, there is nocandidate path for this commodity

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    40/85

    4040

    Try It

    Shadow Price for Demand for Product 1

    is 60 (Explain)

    No edge is at capacity so all shadow

    prices for capacities are 0

    Find a shortest path from 1 to 5, if it is

    less than 60, it is better than sending

    flows direct.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    41/85

    4141

    Shortest Path

    For Product 1

    1-3-5 has cost 5 < 60 so its reduced cost is

    -55. It is attractive, add it.

    For Product 2

    2-1-4 has cost 8 < 70 so its reduced cost is

    -62. It is attractive, add it.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    42/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    43/85

    4343

    Solve the Master

    Uses the new paths to capacity

    Objective value drops to 1883

    Edge 3-5 at capacity.Shadow Price55

    Modified cost for 3-5 is 1(-55) = 56

    Edge 2-1 at capacityShadow Price62

    Modified cost for 2-1 is 0(-62) = 62

    Since these edges

    are at capacity,

    using them in a

    new path wouldforce us to give

    up some of the

    gains

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    44/85

    44

    44

    Next Iteration

    A Most attractive path for Product 1

    1-2-5 with cost 12

    A Most attractive path for Product 2

    2-5-4 with cost 10

    Master Problem objective drops to 1823

    Shadow Price for capacity on 2-5 is -60

    Competing

    for capacity

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    45/85

    45

    45

    Etc.

    After 4 iterations, the Objective value in theMaster Problem has fallen to 1721

    The Shadow Prices for demand are still Product 1: 60

    Product 2: 70

    The lengths of the Shortest Paths usingmodified costs are

    Product 1: 60 Product 2: 70

    We have an optimal answer.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    46/85

    46

    46

    Questions?

    Everyone understand the basics of

    column generation

    Comment: Computationally this is only

    different from basic LP in so far as we

    used the Shortest Path Problem to find

    an attractive path rather than simply

    work through a list of variables, pricingthem out one by one.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    47/85

    47

    47

    Back to Multi-Stop Routes

    Lets apply Column Generation to solve ourMulti-Stop Consolidation Problem

    Recall Shipping to customers from a single plant

    Consolidating LTL shipments throughconsolidation points

    Serving the consolidation points via TL and/orMulti-Stop TL

    Modeled as though we knew all the Multi-Stop

    Routes Use Column Generation to produce the

    Routes

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    48/85

    48

    48

    Objective

    Transportation Costs

    TL to Consol Pts

    Multi-stop TL to Consol Pts LTL to Consol

    Pts

    LTL Direct to Customer

    Multi-Stop TL costs include

    Mileage charge

    Stop charges

    T

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    49/85

    49

    49

    Constraints

    Every Customer is Served For each customer:

    ServeDirect + Sum over consol pts Assign = 1

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor space)

    Sum over routes that stop at the consol pt Route Volume + Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0

    Service Level Constraint For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt MultiStopTrucks

    - Minimum Service level*Open 0

    Logic:

    For each customer and consol pt (within reason)Open - Assign 0

    Multi-Stop Trucks For each multi-stop route

    MultiStopTrucks*Load Factor - Sum over stops on the route Route Volume 0

    Two aspects

    of a route:

    Trucks &Volume

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    50/85

    50

    50

    Two Issues

    Issue #1: What columns do we generate?

    MultiStop Trucks?

    Route Volume?

    Both?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    51/85

    51

    51

    Issue #2

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor

    space)

    Sum over routes that stop at the consol pt Route Volume +Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0 Service Level Constraint

    For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt MultiStopTrucks

    - Minimum Service level*Open 0

    Multi-Stop Trucks For each multi-stop route

    MultiStopTrucks*Load Factor - Sum over stops on the route Route

    Volume

    0

    We wont write this tillwe have generated the

    route! But wont we

    need the Shadow Priceon this to generate the

    route?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    52/85

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    53/85

    53

    53

    Case 1: Issue #2

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor

    space)

    Sum over routes that stop at the consol pt Route Volume +Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0 Service Level Constraint

    For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt MultiStopTrucks

    - Minimum Service level*Open 0

    Multi-Stop Trucks For each multi-stop route

    MultiStopTrucks*Load Factor - Sum over stops on the route Route

    Volume

    0

    If its not

    tight

    dropping it

    has no effect.

    W t b th th R t V l

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    54/85

    54

    54

    Case 1: Relevant Constraints

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight,

    cube, floor space)

    Sum over routes that stop at the consol pt Route Volume

    + Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0

    Service Level Constraint

    For each consol pt.Trucks +

    Sum over routes that stop at the consol pt

    MultiStopTrucks

    - Minimum Service level*Open 0

    We want both the Route Volumes

    & the MultiStopTrucks to price out

    I R V l A i ?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    55/85

    55

    55

    Is a RouteVolume Attractive?

    What are the effects (direct and indirect)

    of increasing a RouteVolume variable?

    For clarity we should write that as

    RouteVolume[route, consol]: the volume

    for the consolidation point that is

    delivered on this route.

    Is there a direct cost for the

    RouteVolume[route, consol] variable?

    No. We pay for trucks

    and LTL. We will

    handle the cost of the

    multi-stop route whenwe ensure Multi-Stop

    Trucks prices out

    Pricing Out

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    56/85

    56

    56

    Pricing Out

    RouteVolume[route, consol]

    So there is no direct cost

    Just indirect costs, (like consuming

    capacity on an edge or satisfying

    demand in the multi-commodity flowproblem)

    What Shadow Prices do we need to

    look at?

    R V l [ l]

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    57/85

    57

    57

    RouteVolume[route, consol]

    Which Shadow Prices? Trucks required to each consol pt

    For each consol pt (and type of capacity, e.g., weight,

    cube, floor space)

    Sum over routes that stop at the consol pt Route Volume

    + Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0

    Service Level Constraint

    For each consol pt.Trucks +

    Sum over routes that stop at the consol pt

    MultiStopTrucks

    - Minimum Service level*Open 0

    Just the one for the trucks required

    at the consol point

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    58/85

    58

    58

    The Shadow Price

    Trucks required to each consol pt

    For each consol pt (and type of capacity,

    e.g., weight, cube, floor space)

    Sum over routes that stop at the consol ptRoute Volume + Trucks*Load Factor

    - Sum over customers

    Assign*Requirement/Capacity

    0

    What happens to cost if

    we increase this?

    R V l [ l]

    0 i th Sh d P i f

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    59/85

    59

    59

    RouteVolume[route, consol]

    Reduced Cost

    The Shadow Price for trucks required at

    consol point is the cost of satisfying

    another truck load of demand there

    0 if the service constraint is the driver

    Something positive otherwise

    Whats the reduced cost of

    RouteVolume[route, consol]?

    When is RouteVolume[route, consol]

    attractive?

    0 minus the Shadow Price fortrucks required at consol point

    As long as service isnt thedriver there!

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    60/85

    60

    60

    Is MultiStop Trucks Attractive?

    What are the effects (direct and indirect)

    of increasing a MultiStop Trucks

    variable?

    For clarity we should write that as

    MultiStop Trucks[route]

    Is there a direct cost for the

    MultiStop Trucks[route] variable?

    Yes. The cost of a

    truck on that route

    Pricing Out

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    61/85

    61

    61

    Pricing Out

    MultiStop Trucks[route]

    So the direct cost is Route Cost

    What indirect costs?

    What Shadow Prices do we need to

    look at?

    M ltiSt T k [ t ]

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    62/85

    62

    62

    MultiStop Trucks[route]

    Which Shadow Prices?

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight,

    cube, floor space)

    Sum over routes that stop at the consol pt Route Volume

    + Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0

    Service Level Constraint

    For each consol pt.Trucks +

    Sum over routes that stop at the consol pt

    MultiStopTrucks

    - Minimum Service level*Open 0

    The route provides service to each

    consol point it visits!

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    63/85

    63

    63

    The Shadow Price

    Service Level Constraint

    For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt

    MultiStopTrucks

    - Minimum Service level*Open 0

    What happens to cost if

    we increase this?

    Reduced Cost of

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    64/85

    64

    64

    Reduced Cost of

    MultiStop Trucks[route]

    Direct CostIndirect Costs < 0

    Route CostSum of Shadow Prices for

    Service on the route < 0

    Route Cost < Sum of Shadow Prices for

    Service on the route

    The value of the services exceeds the

    cost of the route!

    I th R t Att ti ?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    65/85

    65

    65

    Is the Route Attractive?

    For each consol pt on the routeRouteVolume[route, consol]

    prices out

    0 < Shadow Price for trucks at consol pt (i.e.,service isnt the driver, the trucks are full)

    Does

    MultiStop Trucks[route]

    price out?

    Route Cost < Sum over stops on the route ofFrequency Shadow Prices

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    66/85

    66

    66

    A Resolution

    Two Cases:

    Case 1: MultiStopTrucks*Load Factor - Sum

    over stops on the route Route Volume> 0

    Case 2: MultiStopTrucks*Load Factor - Sum

    over stops on the route Route Volume= 0

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    67/85

    67

    67

    Case 2

    MultiStopTrucks = (Sum over stops on

    the route Route Volume)/ Load Factor

    Eliminate MultiStopTrucks

    Insist each Route Volume be attractive

    (price out)Otherwise, we would short-

    cut the route and not stop at that Consol

    pt.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    68/85

    68

    68

    Case 2

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight, cube, floor

    space)

    Sum over routes that stop at the consol pt Route Volume +Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0 Service Level Constraint

    For each consol pt.

    Trucks +

    Sum over routes that stop at the consol pt MultiStopTrucks

    - Minimum Service level*Open 0

    Multi-Stop Trucks For each multi-stop route

    MultiStopTrucks*Load Factor - Sum over stops on the route RouteVolume 0

    Sum over stops on the route

    Route Volume/Load Factor

    Route Volume is specific to the

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    69/85

    69

    69

    Relevant Constraints

    Trucks required to each consol pt For each consol pt (and type of capacity, e.g., weight,

    cube, floor space)

    Sum over routes that stop at the consol pt Route Volume

    + Trucks*Load Factor

    - Sum over customers Assign*Requirement/Capacity 0

    Service Level Constraint

    For each consol pt.Trucks +

    Sum over routes that stop at the consol pt (Sum over

    stops on the route Route Volume/Load Factor)

    - Minimum Service level*Open 0

    Route Volume is specific to the

    Route AND the Consol Pt

    But this is the sum over all the

    stops on the route

    So, to determine ifone Route volume

    is attractive

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    70/85

    70

    70

    Route Volume Attractive

    We must consider

    What we pay for the Route Volume (later)

    Its influence on the Trucks required at the

    Consol Pt (Shadow Price of the Trucksrequired to carry the weight at the consol

    pt)

    Its influence on the Frequency constraint

    for every consol pt on the route (Shadow

    Prices of these constraints/Load Factor)

    This is

    where wereplaced

    Multi-Stop

    Trucks with

    the sum

    h f l

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    71/85

    71

    71

    What we pay for Route Volume

    In the objective, we also replacedCost per Multi-Stop Truck * Multi-Stop

    Trucks

    WithCost per Multi-Stop Truck * (Sum over stops

    on the route Route Volume/Load Factor)

    So, each Route Volume bears the full

    cost of the Multi-Stop Route/LoadFactor

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    72/85

    72

    72

    Route Volume Attractive

    Three Factors:1. What we pay for the Route Volume?

    Cost per Multi-Stop Truck/Load Factor

    2. Its influence on the Trucks required at the

    Consol Pt?Shadow Price of the Trucks required to carrythe weight at the consol pt

    3. Its influence on the Frequency constraint for

    every consol pt on the routeSum over all the stops on the route of theShadow Prices of the Frequencyconstraint/Load Factor

    Route Volume Attractive

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    73/85

    73

    73

    Route Volume Attractive

    IsRoute Cost/Load Factor

    - Weight Price at Consol Pt

    - Sum of Frequency Prices/Load Factor

    < 0?

    Is

    Route Cost

    - Load Factor*Weight Price at Consol Pt- Sum of Frequency Prices

    < 0?

    The only thingthat changes from

    consol pt to

    consol pt

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    74/85

    H t t t ?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    75/85

    75

    75

    How to generate routes?

    Have to decide which consol pts are onthe route

    Decision Variables

    Is Consol pt first on a multi-stop route?

    Does consol pt A follow consol pt B on a

    multi-stop route?

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    76/85

    76

    76

    Constraints

    Limit number of stops (practical)

    At least 2 (so its multi-stop)

    At most 4 (say)

    Bounds on the total number of legs Find 1 Route

    One leg out of the origin

    Cant go from consol pt B to consol pt C

    unless some leg takes you to B

    Number of legs out of B Number of legs into B

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    77/85

    77

    77

    Price Constraints

    For each consol pt on the route

    Route Cost < Load Factor * Weight Shadow

    Price for consol pt + Sum of Frequency

    Shadow Prices on route

    But we dont know whats on the route!

    Define

    OnRoute = sum of legs into consol pt (0 or 1)

    Disjunctive Constraint

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    78/85

    78

    78

    Price Constraints

    For each consol pt on the route

    Route Cost < Load Factor * Weight Shadow

    Price for consol pt + Sum of Frequency

    Shadow Prices on route + M*(1-OnRoute)

    Define

    OnRoute = sum of legs into consol pt (0 or 1)

    Try It

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    79/85

    79

    79

    Try It

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    80/85

    80

    80

    New Problem

    Sub-Tours:

    16

    5

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    81/85

    81

    81

    Resolutions

    Practical: Each subsequent stop must be farther from the

    plant.

    Subtour Elimination (Less Practical)

    For each three consol pts, we can choose at mosttwo legs

    For each two consol pts, we can choose at mostone leg

    Generally, for each N consol pts, we can choose at

    most N-1 legs (but we limited routes to 4 legs) Dynamic Programming type algorithm or

    iterative heuristic (software)

    Try It

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    82/85

    82

    82

    Try It

    S

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    83/85

    83

    83

    Summary

    Solve the Master LP (relax integrality)without routes

    Get Shadow Prices

    Generate Routes (Case 1 & Case 2)

    If there are attractive routes, add them

    and solve the Master LP again

    If there are no attractive routes, solve to

    an Integer Optimum

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    84/85

    84

    84

    Issues

    Our procedure for generating multi-stoproutes does not consider the integer

    decisions about what consol pts to use.

    Heuristic resolution: At the end, repeatthe column generation procedure with

    the consol pt decisions fixed.

  • 7/30/2019 06Consolidation TL and LTL Shipment Column Generation Approach

    85/85

    Next Time

    Change in Emphasis:

    This time

    Service level was fixed

    Reduce transport cost

    Next time

    Transport cost fixed Load Driven

    Increase service