Modeling Flows and Information

Slides:



Advertisements
Similar presentations
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Advertisements

BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Lecture 13: Transportation ‘Autopower Co. Case’ AGEC 352 Spring 2011 – March 9 R. Keeney.
Introduction to Algorithms
Spring 02 Vande Vate 1 1 Modeling Service When Transport is restricted to Load-Driven Pool Points in Retail Distribution John Vande Vate Spring.
Operations Management Linear Programming Module B - Part 2
Linear Programming Using the Excel Solver
1 5. Linear Programming 1.Introduction to Constrained Optimization –Three elements: objective, constraints, decisions –General formulation –Terminology.
Supply Chain Management
3 Components for a Spreadsheet Linear Programming Problem There is one cell which can be identified as the Target or Set Cell, the single objective of.
Ford Motor Company’s Finished Vehicle Distribution System April 2001 Ellen Ewing Project Director UPS Logistics Dr. John Vande Vate Exec. Director EMIL.
Network Models II Shortest Path Cross Docking Enhance Modeling Skills Modeling with AMPL Spring 03 Vande Vate.
The Supply Chain Customer Supplier Manufacturer Distributor
1 1 Project #1 Optimization Model John H. Vande Vate Spring, 2001.
2/14: More Transportation Planning & Production Scheduling Roll call Return homework Go over homework Transportation planning w/ transshipments Revisiting.
Spring 03 Vande Vate1 Practice Final: Linear? param T; param Demand{1..T}; var InitialLevel; var GrowthRate; var Estimate{1..T}; minimize TotalError:
作業研究 Using Excel to Formulate and Solve Transportation Problems.
Transportation Problems Dr. Ron Lembke. Transportation Problems Linear programming is good at solving problems with zillions of options, and finding the.
Spring 03 Vande Vate1 Agenda Practice Exam to help you prepare for Tuesday Questions.
New Stage zCourse Phases yDescription of Systems and Issues yPrescriptive tools and modeling yInternational Aspects.
1 1 Practice Final John H. Vande Vate Fall, 2002.
Network Flow. Network flow formulation A network G = (V, E). Capacity c(u, v)  0 for edge (u, v). Assume c(u, v) = 0 if (u, v)  E. Source s and sink.
Weight and Cube, Frequency zExtend Network Flows to Multicommodity zMore than one product zDifferent products share conveyance capacity zDelivery Schedules.
Performance Mean 65. Solutions to Exam 2 zWe have a single commodity in warehouses around the country and wish to ship it to our customers at minimum.
Two Discrete Optimization Problems Problem: The Transportation Problem.
1 1 Location Problems John H. Vande Vate Spring 2006.
1 1 Solutions to Exam #1 John H. Vande Vate Fall, 2002.
1 1 Exam I John H. Vande Vate Spring, Question 1 … centers to minimize its total transportation costs from its 2 plants to its 5 markets. We.
1 1 Modeling Flows John H. Vande Vate Spring, 2006.
1 1 Modeling Inventory (Deterministic View) John H. Vande Vate Spring 2007.
Inventory and Models in Project 3 Load Driven Systems John H. Vande Vate Spring, 2001.
1 1 Transportation & Supply Chain Systems John H. Vande Vate Spring, 2001.
1 1 Review of Exam 1 John H. Vande Vate Fall 2009.
1 1 Review of Part I Preparation for Exam John H. Vande Vate Fall 2009.
Spring 02 Vande Vate 1 1 Modeling Service When Transport is restricted to Load-Driven Pool Points in Retail Distribution John Vande Vate Spring.
1 1 Exam 1 John H. Vande Vate Spring, Process 80+ exams to grade Certainly errors, misunderstanding, … Happy to re-grade BUT –Only respond to.
Lecture 6 – Integer Programming Models Topics General model Logic constraint Defining decision variables Continuous vs. integral solution Applications:
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or.
Introduction to Integer Programming Integer programming models Thursday, April 4 Handouts: Lecture Notes.
1 1 1-to-Many Distribution with Transshipments John H. Vande Vate Spring, 2001.
1 1 Practice Exam #1 John H. Vande Vate Fall, 2002.
Chapter 13 Transportation in the Supply Chain
1 1 Modeling Inventory (Deterministic View) John H. Vande Vate Spring 2008.
Lecture 13: Transportation Introduction AGEC 352 Fall 2012 – October 24 R. Keeney.
Appendix A with Woodruff Edits Linear Programming Using the Excel Solver Copyright © 2010 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin.
Modeling Flows and Information
Chapter 13 Transportation in a Supply Chain
Transportation Problems
Review for Exam 2 Pratt & Whitney is preparing to make final arrangements for delivery of jet engines from its final assembly plants to aircraft manufacturers’
John H. Vande Vate Spring, 2005
John H. Vande Vate Spring, 2001
Many-to-Many Models Multicommodity Flows
John H. Vande Vate Spring, 2007
Location Case Study Shanghai GM Service Parts Part II
The Transportation Model
1.3 Modeling with exponentially many constr.
1.206J/16.77J/ESD.215J Airline Schedule Planning
Transportation in the Supply Chain
Routing and Logistics with TransCAD
Transportation & Supply Chain Costs: Answers to Questions
Location Problems John H. Vande Vate Fall,
John H. Vande Vate Spring 2005
Modeling Service When Transport is restricted to Load-Driven
Network Models with Excel
1.3 Modeling with exponentially many constr.
Logistics Systems Analysis Mid-Term Review
John H. Vande Vate Spring, 2008
Project #1 Optimization Model
Chapter 1. Formulations.
John H. Vande Vate Spring, 2005
Presentation transcript:

Modeling Flows and Information Single commodity flow problems Multicommodity Flow Conservation Weight and Cube Pass through vs Unload/Reload Tracking Information Column Generation 15.057 Spring 02 Vande Vate 1

Motor Distribution Belgium Netherlands Germany 500 500 800 800 500 400 700 400 900 200 * Belgium Germany Netherlands The Hague Amsterdam Antwerp Nancy Liege Tilburg Leipzig Miles 100 50 500 800 500 400 700 200 900 15.057 Spring 02 Vande Vate 2

Transportation Costs Minimize Unit transportation costs from harbors to plants Minimize the transportation costs involved in moving the motors from the harbors to the plants 15.057 Spring 02 Vande Vate 3

A Transportation Model 15.057 Spring 02 Vande Vate 4

Challenge Find a best answer 15.057 Spring 02 Vande Vate 5

Building a Solver Model Tools | Solver… Set Target Cell: The cell holding the value you want to minimize (cost) or maximize (revenue) Equal to: Choose Max to maximize or Min to minimize this By Changing Cells: The cells or variables the model is allowed to adjust In the Transportation spreadsheet that’s G19 - the total transportation cost In the Transportation spreadsheet we choose Min to minimize transport cost In the Transportation spreadsheet that is C9:F11 - the Shipment volumes 15.057 Spring 02 Vande Vate 6

Solver Model Cont’d Subject to the Constraints: The constraints that limit the choices of the values of the adjustables. Click on Add Cell Reference is a cell that holds a value calculated from the adjustables Constraint is a cell that holds a value that constraints the Cell Reference. <=, =, => is the sense of the constraint. Choose one. In the Transportation spreadsheet for example, G9 is the total volume shipped out of Amsterdam In the Transportation spreadsheet for example, H9 is the total volume we can ship out of Amsterdam 15.057 Spring 02 Vande Vate 7 <= in this case. Don’t ship more than we have in AMS

What are the Constraints? Supply Constraints Amsterdam: G9 <= H9 Antwerp: G10 <= H10 The Hague: G11 <= H11 Demand Constraints Leipzig: C12 => C13 Nancy: D12 => D13 Liege: E12 => E13 Tilburg: F12 => F13 G9 is the total volume shipped from Amsterdam Short cut: G9:G11 <= H9:H11 C12 is the total volume shipped to Leipzig Short cut: C12:F12 => C13:F13 15.057 Spring 02 Vande Vate 8

The Model $G$9 <= $H$9 15.057 Spring 02 Vande Vate 9

What’s Missing? 15.057 Spring 02 Vande Vate 10

Options 15.057 Spring 02 Vande Vate 11

Multiple Products Same costs Different products Different supply Different Demand 500 800 700 400 900 200 * Belgium Germany Netherlands The Hague Amsterdam Antwerp Nancy Liege Tilburg Leipzig Miles 100 50 Product 1 Product 2 800 500 800 500 500 400 300 400 700 500 200 200 900 500 15.057 Spring 02 Vande Vate 12

Question Can we just combine the products: The Hague Tilburg Total Supply at each source Total Demand at each destination The Hague Total Supply: 1,100 = 800 + 300 Tilburg Total Demand: 1,000 = 500 + 500 15.057 Spring 02 Vande Vate 13

Question Can we just solve two separate problems: One Problem for Product 1 One Problem for Product 2? 15.057 Spring 02 Vande Vate 14

Question Can we just solve two separate problems: One Problem for Product 1 One Problem for Product 2? When won’t this work? Different Costs? Capacities on Transportation ... 15.057 Spring 02 Vande Vate 15

Shared Capacities 15.057 Spring 02 Vande Vate 16

Transshipments 2 PRODUCTS 3 plants 2 distribution centers 2 customers Minimize shipping costs 15.057 Spring 02 Vande Vate 17

Challenge Formulate a model 15.057 Spring 02 Vande Vate 18

Flow Conservation Conserve Flow at the DC Otherwise… Product by Product Otherwise… Alchemy: Turn lead into gold 15.057 Spring 02 Vande Vate 19

AMPL Model set PRODUCTS; set PLANTS; set DCS; set CUSTS; set EDGES within (PLANTS cross DCS) union (DCS cross CUSTS); param Supply{PRODUCTS, PLANTS}; param Demand{PRODUCTS, CUSTS}; param Cost{EDGES}; param Capacity{EDGES}; 15.057 Spring 02 Vande Vate 20

var Flow{PRODUCTS, EDGES} >= 0; minimize TotalCost: sum {p in PRODUCTS, (f, t) in EDGES} Cost[f,t]*Flow[p, f, t]; s.t. ObserveSupply {prd in PRODUCTS, plant in PLANTS}: sum {(plant, toloc) in EDGES} Flow[prd, plant, toloc] <= Supply[prd, plant]; s.t. MeetDemand{prd in PRODUCTS, cust in CUSTS}: sum{(fromloc, cust) in EDGES} Flow[prd, fromloc, cust] >= Demand[prd, cust]; s.t. ConserveFlow{prd in PRODUCTS, dc in DCS}: sum{(fromloc, dc) in EDGES} Flow[prd, fromloc, dc] = sum{(dc, toloc) in EDGES} Flow[prd, dc, toloc]; s.t. JointCapacity{ (fromloc, toloc) in EDGES}: sum{prd in PRODUCTS} Flow[prd, fromloc, toloc] <= Capacity[fromloc, toloc]; 15.057 Spring 02 Vande Vate 21

Weight & Cube More realistic version of “shared capacity” Product 1: 10 lbs/unit 1 cubic ft/unit Pay by Truckload Weight Limit: 4,000 lbs Cubic Capacity: 1,000 Cu. Ft. Joint demands on transportation capacity Product 2: 1 lbs/unit 10 cubic ft/unit 15.057 Spring 02 Vande Vate 22

Weight & Cube How many vehicles? 15.057 Spring 02 Vande Vate 23

Modeling Weight & Cube The number of vehicles required is… The larger of the number required for the weight and for the cube Conveyances = Max(TotalWeight/WeightLimit, TotalCube/CubeCap) 15.057 Spring 02 Vande Vate 24

Challenge Formulate a model Do NOT use MAX 15.057 Spring 02 Vande Vate 25

More Detail Container at a port Container at a distribution center Conserve flow of containers Goods in the containers don’t change Conserve flow of goods Loads change from in-bound to outbound 15.057 Spring 02 Vande Vate 26

Challenge Formulate a model with Transloading at DC 15.057 Spring 02 Vande Vate 27

Without Transloading Same number of conveyances in and out Same products in those conveyances Lose potential to improve capacity utilization How to model? 15.057 Spring 02 Vande Vate 28

Flows on Paths Product 1 from Plant 1 to Customer 1 via DC 1 15.057 Spring 02 Vande Vate 29

Challenge Formulate a model WITHOUT Transloading at the DC 15.057 Spring 02 Vande Vate 30

AMPL Model set PLANTS; set DCS; set CUSTS; set PRODS; set EDGES := (PLANTS cross DCS) union (DCS cross CUSTS); param Cost{EDGES}; param Weight{PRODS}; param Cube{PRODS}; param Supply {PRODS, PLANTS} default 0; param Demand {PRODS, CUSTS} default 0; param WeightLimit; param CubicCapacity; 15.057 Spring 02 Vande Vate 31

var PathFlow {PRODS, PLANTS, DCS, CUSTS} >= 0; var Conveys{PLANTS, DCS, CUSTS} >= 0; minimize FreightCost: sum{plant in PLANTS, dc in DCS, cust in CUSTS} (Cost[plant, dc] + Cost[dc, cust])*Conveys[plant, dc, cust]; s.t. ObserveSupply {prd in PRODS, plant in PLANTS}: sum{dc in DCS, cust in CUSTS} PathFlow[prd, plant, dc, cust] <= Supply[prd, plant]; s.t. MeetDemand {prd in PRODS, cust in CUSTS}: sum{dc in DCS, plant in PLANTS} PathFlow[prd, plant, dc, cust] >= Demand[prd, cust]; 15.057 Spring 02 Vande Vate 32

AMPL Model s.t. ConveysByWeight {plant in PLANTS, dc in DCS, cust in CUSTS}: sum{prd in PRODS} Weight[prd]*PathFlow[prd, plant, dc, cust] <= Conveys[plant, dc, cust]*WeightLimit; s.t. ConveysByCube {plant in PLANTS, dc in DCS, cust in CUSTS}: sum{prd in PRODS} Cube[prd]*PathFlow[prd, plant, dc, cust] <= Conveys[plant, dc, cust]*CubicCapacity; 15.057 Spring 02 Vande Vate 33

Other Uses Additional Information about the products history Where it was made for Duties Pipeline Inventory How long it has been traveling … Extreme cases: very long involved paths 15.057 Spring 02 Vande Vate 34

Column Generation Airlines Crew Scheduling Complex pay and duty rules Unions FAA Tour of duty for a crew Several legs returning to base Millions of possible tours of duty Each is a variable: 1 = use it in schedule 0 = do not. 15.057 Spring 02 Vande Vate 35

Solution Strategy Initial Tours of Duty Repeat until Done Used in previous solutions Fillers to ensure feasibility Repeat until Done Solve small problem Use Shadow Prices to generate new tours that will improve solution When no better tours are found -- done 15.057 Spring 02 Vande Vate 36

Column Generation Example Multicommodity Flow 15.057 Spring 02 Vande Vate 37

Flows On Paths Formulation Variable for Product 1: Each path from 1 to 5 Product 2: Each path from 2 to 4 Constraints: Capacity on each edge: Sum of flows on paths that use the edge do not exceed capacity of the edge Cost: Each unit of flow on a path pays the cost of all the edges on the path Why no Flow Conservation Constraints? 15.057 Spring 02 Vande Vate 38

Column Generation Approach Start with 2 paths Product 1: The edge from 1 to 5 Product 2: The edge from 2 to 4 Solve and get Shadow Prices on the capacity constraints Calculate new (shortest) paths with the best reduced costs Repeat. 15.057 Spring 02 Vande Vate 39

Column Generation Example Multicommodity Flow 15.057 Spring 02 Vande Vate 40

AMPL Commands Off the deep end. For the crazy few… Modeling languages do more than model. They also drive the solver. ColumnGeneration.mod 15.057 Spring 02 Vande Vate 41

Summary Conserve Flow at lowest level of detail Distinction between transloading and container handling Involves additional information in “Edges”, e.g., what port it passed through Extreme cases: Additional information is the entire path Very Technical: Column Generation can handle these cases (sometimes). 15.057 Spring 02 Vande Vate 42