performance

Post on 21-Mar-2016

19 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Performance. Mean 65. Solutions to Exam 2. We have a single commodity in warehouses around the country and wish to ship it to our customers at minimum cost. The carrier charges us a cost per unit shipped that depends only on the location of the warehouse and the location of the customer. - PowerPoint PPT Presentation

TRANSCRIPT

Performance

0

5

10

15

20

25

[ 10, 20 ) [ 20, 30 ) [ 30, 40 ) [ 40, 50 ) [ 50, 60 ) [ 60, 70 ) [ 70, 80 ) [ 80, 90 ) [ 90, 100 )

Mean 65

Solutions to Exam 2We have a single commodity in

warehouses around the country and wish to ship it to our customers at minimum cost. The carrier charges us a cost per unit shipped that depends only on the location of the warehouse and the location of the customer.

Transportation Model

Weight & Cube We have several commodities in warehouses around the

country and wish to ship them to our customers at minimum cost. The commodities have different unit weights and densities. The carrier charges us a cost per truck load shipped that depends only on the location of the warehouse and the location of the customer. The truck has both a weight limit and a cubic capacity. If we ship a truck that is only partially full, the carrier will charge us for the larger of the fraction of the weight limit of the truck that we use or the fraction of the cubic capacity of the truck that we use.

General Linear Programming Model

Single Sourcing We have a single commodity in warehouses around

the country and wish to ship it to our customers at minimum cost. The carrier charges us a cost per unit shipped that depends only on the location of the warehouse and the location of the customer. Each customer insists on receiving all of his demand from a single warehouse. Different customers may be served from different warehouses, but no customer can be served by more than one warehouse.

General Mixed Integer Linear Programming Model

Sets and Parameters /* The Plants */ set PLANTS;

/* The DCS */ set DCS;

/* The Cross Docks */ set CROSSDOCKS;

/* The capacity at each plant */ param Capacity{PLANTS};

/* The Demand at each Cross Dock */ param Demand{CROSSDOCKS};

Variables and Objective /* The set of shipments possible */ set EDGES := (PLANTS cross DCS) union (DCS cross CROSSDOCKS);

/* The unit cost on each edge */ param Cost{EDGES};

/* The variables are the quantities shipped on each edge */ var Ship{EDGES} >= 0;

/* The Objective: Minimize Freight Costs */ minimize FreightCost: sum{(f,t) in EDGES} Cost[f,t]*Ship[f,t];

Constraints /* Constraints: Observe plant capacities */ s.t. PlantCapacities {plant in PLANTS}: sum{(plant, dc) in EDGES} Ship[plant, dc] <=

Capacity[plant];

/* Constraints: Meet Demand at each CROSSDOCK */ s.t. MeetDemand{dock in CROSSDOCKS} sum{(dc,dock) in EDGES} Ship[dc,dock] >= Demand[dock];

/* Constraints: Conserve Flow at DC's */ s.t. ConserveFlow{dc in DCS} sum {(plan, dc) in EDGES} Ship[plant, dc] = sum {(dc, dock) in EDGES} Ship[dc, dock];

Single Sourcing etcThe model described above does not impose the

single sourcing constraints at the DCs or the single destination for the plants. Here’s how to do that -- merge the following with the previous model

/* Whether or not we use each edge */var UseEdge{EDGES} binary;s.t. DefineUseEdgePlant{(plant, dc) in EDGES: plant in PLANTS}: Ship[plant, dc] <= Capacity[plant]*UseEdge[plant,dc];s.t. DefineUseEdgeDock{(dc, dock) in EDGES: dock in CROSSDOCKS}: Ship[dc, dock] <= Demand[dock]*UseEdge[dc, dock];

Single Sourcing etc./* Use one edge from each plant */s.t. SingleDCforPlant {plant in PLANTS}: sum{dc in DCS} UseEdge[plant,dc] = 1;/* Use one edge to each Cross Dock */s.t. SingleDCforCrossDock{dock in

CROSSDOCKS}:sum{dc in DCS} UseEdge[dc, dock] = 1;

Building the SystemDisney is planning to build tunnels to

connect its merchandise warehouse in EuroDisney to all of the stores in the park. For safety reasons, the company will not allow tunnels to connect except at the warehouse or at stores. It wishes to minimize the cost of building the tunnels.

Minimum Spanning Tree Model

Using the SystemAfter the tunnels (described in d.) are built,

Disney is concerned with getting special orders to the stores from the warehouse as quickly as possible using a combination of the tunnels and surface streets. It has estimates of the time required to travel through each tunnel and down each street.

Shortest Path Model

FormulationPratt & Whitney is preparing to make final

arrangements for delivery of jet engines from its final assembly plants to aircraft manufacturers’ sites.

Each jet engine is transported in a 747. A 747 can carry only a single engine at a time.

Each engine costs $100 million. Pratt & Whitney estimates inventory carrying cost at about 25%/year.

P & W FormulationThe set of P&W Plants set PLANTS;The set of customer manufacturing sites set SITES;The capacities of the plants in engines per year param Capacity{PLANTS};The demands at the customer manufacturing

sites in engines per year param Demand{SITES};

The freight cost per engine from each plant to each customer site

param FreightCost{PLANTS, SITES};The travel time in days from each plant to each customer site param TravelDays{PLANTS, SITES};The Engine Cost in $/engineparam EngineCost;The inventory carrying cost as a fraction of the value of the

item charged per year param HoldingCost;

The Heart of the MatterCalculated parameter, the freight and

inventory cost incurred per engine shipped from each plant to each site in $/engine

param Cost{plant in PLANTS, site in SITES} := FreightCost[plant, site] + HoldingCost*EngineCost* TravelDays[plant, site]/365;

The ModelVariables: Number of engines

shipped from each plant to each customer manufacturing site

This is a transportation problem (with integer data) so we don't need to specify that these variables be integral.

var Ship{PLANTS, SITES} >= 0;

The ModelObjective: Minimize annual freight and pipeline inventory

costs minimize TotalCost: sum{plant in PLANTS, site in SITES} Cost[plant, site]*Ship[plant, site];s.t. ObserveCapacity {plant in PLANTS}: sum{site in SITES} Ship[plant, site] <= Capacity[plant];s.t. MeetDemand{site in SITES}: sum{plant in PLANTS} Ship[plant, site] >= Demand[site];

Set Covering/Location Intel Corporation is facing increasing pressure to provide

consignment inventory to computer manufacturers in emerging markets including Eastern Europe. The company has 10 major customers in the region and holds options to lease at 5 sites in the region. It would like to exercise the fewest options necessary to guarantee it has a warehouse within 200 miles of each customer.

Formulate an optimization model to identify which lease options Intel should exercise in order to ensure it has the fewest possible warehouses and has a warehouse within 200 miles of each customer.

The set of Intel Sitesset SITES;The set of Customer Sitesset CUSTS;The distance dataparam Dist{SITES, CUSTS};The allowed distance (200 miles)param MaxDist;

Calculated parameter: is customer within 200 miles of the site?

Param Covers{site in SITES, cust in CUSTS} := if Dist[site,cuts] < MaxDist then 1 else 0;Variables: Open the site or notvar Open{SITES} binary;

The ModelObjective: Minimize the number of sites

openedmiminize OpenSites: sum {site in SITES} Open[site];s.t. CoverEachCustomer{cust in CUSTS} sum{site in SITES} Covers[site,

cust]*Open[site] >= 1;

set PRODUCERS;set PRODUCTS;set PORTS;set DCS;set CROSSDOCKS;param Supply{PRODUCERS, PRODUCTS};param Demand{CROSSDOCKS,

PRODUCTS};

set EDGES dimen 2;param Cost{EDGES};var Flow{EDGES, PRODUCTS}>=0;minimize FreightCost:sum{(f,t) in EDGES, prd in PRODUCTS}

Cost[f,t]*Flow[f,t,prd];

s.t. RespectSupply{producer in PRODUCERS, prd in PRODUCTS}:sum{(producer, t) in EDGES, prd in PRODUCTS} Flow[producer, t, prd] <= Supply[producer, prd];s.t. MeetDemand{crossdock in CROSSDOCKS, prd in PRODUCTS}:sum{(f, crossdock) in EDGES, prd in PRODUCTS} Flow[f, crossdock, prd] >= Demand[crossdock, prd];

The Problem

s.t. ConserveFlow{fac in PORTS union DCS}:

sum{(f, fac) in EDGES, prd in PRODUCTS} Flow[f, fac, prd] = sum{(fac, t) in EDGES, prd in PRODUCTS} Flow[fac, t, prd];

top related