• No results found

Network Problems (Part II)

Minimum Cost Flow Problem

Overview of the Minimum Cost Flow Problem

The Minimum Cost Flow Problem is used to send flow from a set of supply nodes to a set of demand nodes through the arcs of a network, at minimum total cost, and without violating the lower and upper bounds on flows through the arcs. This problem is used for moving only one product / commodity at a time.

Decision: Which arcs are to be used, given the lower and upper bounds or each

arc?

For each supply node:

[a = Available supply of commodity X]

For each demand node: [b = Demand for commodity X]

Linear Programming Method – Standard Form

i = index for origins, i = 1, 2, 3…m ; j = Index for destinations, j = 1, 2, 3…n cij = Cost per unit shipped from origin i to destination j; si = Supply or capacity in units at origin i

dj = Demand in units at destination j; lij = Lower bound on the flow from origin i to destination j

uij = Capacity on the flow from origin i to destination j

xij = Number of units shipped from origin i to destination j, where xij is only defined for arcs that exist in the network

Variations to Minimum Cost Flow Problem • Assignment Problem

• Transshipment Problem • Transportation Problem • Shortest Path Problem • Maximal Flow Problem

• Unbalanced Minimum Cost Flow Problems

Sample List of Algorithms for Minimum Cost Flow Problem • Negative Cycle Algorithm

• Successive Shortest Path Algorithm • Primal-Dual Algorithm

Transportation Problem

Overview of the Transportation Problem

The Transportation Problem can be used to minimize the cost of shipping goods from multiple origins to multiple destinations. It is typically used in distribution planning, where the quantity of goods available at a supply location is limited, and the quantity of goods required at each demand location is known. This is a more specific form of the Minimum Cost Flow problem.

Decision: How much to ship along each arc between any origin and destination?

Objective: Minimize shipping cost.

Linear Programming Method – Standard Form i = Index for origins, i = 1, 2, 3….m

j = Index for destinations, j = 1, 2, 3….n

Variations to Transportation Problem

Assignment Problem:

• All supply and demand values equal 1 and the amount shipped over each arc is either 0 or 1

• Primarily used for assignment of resources to specific tasks such as project staffing in large corporations and deployment of armed forces personnel Supply vs. Demand Problem:

• Total supply is not equal to total demand

• For this sample business problem, you can create a dummy supply and demand node which acts as a catch-all for the excess supply and demand Other Problems:

• Objective function is maximized rather than minimized (e.g., profit criterion) • Routes that have specified capacity restrictions or minimums

• Some routes may be unacceptable

Sample List of Algorithms for Transportation Problem • Northwest Corner rule

• Minimum Cost Method

• Vogel’s Approximation Method • Stepping Stone Method • Modified Distribution Method

Multi-Commodity Flow Problem

Overview of the Multi-Commodity Flow Problem

The Multi-Commodity Flow Problem is a Network Flow Problem that has multiple commodities flowing through a network, where each commodity has different supply and demand nodes and each arc route has capacity restrictions. In finite time, only approximate algorithms can be used.

Decision: How much quantity of each commodity should be sent through each arc, given supply-demand and capacity constraints?

For each arc:

x = Cost of transportation per unit (varies for each commodity) y = Lower capacity constraint

z = Upper capacity constraint For each supply node:

a = Available supply of commodity A b = Available supply of commodity B c = Available supply of commodity C For each demand node:

d = Demand for commodity A e = Demand for commodity B f = Demand for commodity C

Linear Programming Method – Standard Form K = Index for number of commodities, K = 1, 2, 3…k ckij = Cost per unit of commodity k along arc (i,j) uij = Capacity on arc (i,j)

ski = Available supply of commodity k at node i

Variations to Multi-Commodity Flow Problem

• Minimum Cost Multi-Commodity Flow Problem: This problem is applied where there is a cost associated with sending flow on each arc that needs to be minimized

• Maximum Multi-Commodity Flow Problem: This problem is applied where there are no hard demands on each commodity, but the total throughput has to be maximized

• Maximum concurrent flow problem: This problem is applied where the task is to maximize the minimal fraction of the flow of each commodity to its demand Sample List of Algorithms for Multi-Commodity Flow Problem

• Dantzig-Wolfe Decomposition • Frank-Wolfe Algorithm • Lagrangian Relaxation

• Augmented Lagrangian Relaxation • Proximal Decomposition

Which Problem to Choose?

Common Limitations of Network Flow Problems

• Most business problems may not perfectly fit into the format of a particular Network Flow Problem. These problems can be used as a basis for conceptualizing other heuristics

• Most special purpose algorithms can be used to solve only single objectives. It may be necessary to use Linear Programming or other heuristics if there are additional constraints or objectives

• When arc values in a particular network are negative, customized algorithms need to be used

• Depending on the nature of the business problem, objectives may need to be maximized or minimized. For example, given that the Shortest Path Algorithm always identifies a minimum value solution, it may not be ideal to apply the algorithm to situations that involve a profit criterion

Dynamic Programming

Overview of the Dynamic Programming

Dynamic Programming is a unique problem solving approach that decomposes a large, complex problem into multiple smaller problems that are easier to solve. The Dynamic Programming approach results in the optimal solution for the large problem once all the smaller problems have been solved.

Linear Programming Method – Standard Form

xn = State variables, which represent input to stage n (output from stage n + 1) dn = Decision variable at stage n

tn = Stage transformation function that determines the stage n output

rn = Return function for stage n, which represents the payoff or value for a stage N = Number of stages in the dynamic program. N varies from 1 to N.

The general expression for the stage transformation function is xn-1 = tn (xn, dn) The general expression for the return function is rn (xn, dn)

Section 6 – Applied

Related documents