The Out of Kilter Algorithm 204.302 in 2005. Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.

Slides:



Advertisements
Similar presentations
Outline Minimum Spanning Tree Maximal Flow Algorithm LP formulation 1.
Advertisements

Outline LP formulation of minimal cost flow problem
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Linear Programming (LP) (Chap.29)
Introduction to Algorithms
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
© KLMH Lienig Paper: A Unified Theory of Timing Budget Management Presented by: Hangcheng Lou Original Authors: Soheil Ghiasi, Elaheh Bozorgzadeh, Siddharth.
MS&E 211, Lecture 11 The dual of Min-Cost Flow Ashish Goel.
MINIMUM COST FLOWS: NETWORK SIMPLEX ALGORITHM A talk by: Lior Teller 1.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Network Optimization Models: Maximum Flow Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
A Constant Factor Approximation Algorithm for the Multicommodity Rent-or-Buy Problem Amit Kumar Anupam Gupta Tim Roughgarden Bell Labs CMU Cornell joint.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
Time-Constrained Flooding A.Mehta and E. Wagner. Time-Constrained Flooding: Problem Definition ●Devise an algorithm that provides a subgraph containing.
and 6.855J The Capacity Scaling Algorithm.
Network Optimization Models
Introduction to Operations Research
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
1 Linear Programming:Duality theory. Duality Theory The theory of duality is a very elegant and important concept within the field of operations research.
1 Minimum Cost Flows Goal: Minimize costs to meet all demands in a network subject to capacities (combines elements of both shortest path and max flow.
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Network Flow How to solve maximal flow and minimal cut problems.
Network Optimization Problems
Single Source Shortest-Path: The General Case (with negative edges) Bellman-Ford algorithm. Iteratively relax all edges |V|-1 times Running time? O(VE).
Linear Programming Erasmus Mobility Program (24Apr2012) Pollack Mihály Engineering Faculty (PMMK) University of Pécs João Miranda
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
Two Discrete Optimization Problems Problem: The Transportation Problem.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem Thanks to Jim Orlin & MIT OCW.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Network Simplex Animations Network Simplex Animations.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
Decision Maths 1 Shortest path algorithm Dijkstra’s Algorithm A V Ali :
EMIS 8374 The Ford-Fulkerson Algorithm (aka the labeling algorithm) Updated 4 March 2008.
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
The minimum cost flow problem. Solving the minimum cost flow problem.
Approximation Algorithms Duality My T. UF.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Cycle Canceling Algorithm
St. Edward’s University
The minimum cost flow problem
ENGM 535 Optimization Networks
Network Flow 2016/04/12.
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Maximum Flows
Introduction Basic formulations Applications
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Primal-Dual Algorithm
Algorithms (2IL15) – Lecture 7
Successive Shortest Path Algorithm
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
MAXIMUM flow by Eric Wengert.
The Ford-Fulkerson Algorithm
Introduction to Maximum Flows
Out-of-Kilter Algorithm
Introduction to Maximum Flows
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Maximum Flow Problems in 2005.
Linear Constrained Optimization
Presentation transcript:

The Out of Kilter Algorithm in 2005

Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal problem (edges of the network) and the dual problem (nodes) in successive phases to find a feasible solution, and then to optimize the problem. The linear program for the dual problem is given in the notes, but does Not need to be used at all during the working.

What do we keep track of? We will have a variable for each node w i, and the flows through each edge of the original network. As well as these variables, each edge will be given a kilter state and a kilter number k ij. Edges are either “in kilter” or “out of kilter”. We want all edges to be in kilter, so the algorithm keeps “in kilter” edges in kilter, and brings “out of kilter” edges into kilter.

Kilter numbers A kilter number can be thought of as the change required to bring a flow into feasibility and eventually optimality. So we can add up all the kilter numbers to find how far from optimality we are at any given time. An in kilter edge has a kilter number of zero. Rules for kilter states and numbers appear in a table in the notes. Note that these kilter states and numbers are determined by the current flow and the reduced cost.

Starting the algorithm When we start we have a set of upper and lower bounds for all edges in the network and the cost of sending units of flow along each edge. We may need to add an artificial edge from the sink to the source, or even add an artificial node to handle some formulations. All flows x ij and the w i values for the nodes can be set to zero in this initial phase. This makes some working simple.

The primal phase The primal phase of the algorithm finds the most out of kilter edge of the network and tries to being it into kilter. We find the reduced costs of the edges of our network, and determine the kilter states and numbers for all edges. The edge with the highest kilter number is chosen and we then look to augment the flows of the network by finding a cycle through the potential changes of our network flows.

A residual graph Every edge in the original graph below its upper bound is mirrored in the residual graph with the amount of the potential increase in the flow along these edges marked on the edges. Any flows in the original graph that are above their lower bound are represented by edges in the other direction in our residual graph and the allowable reduction along the edge is marked on this “backward edge”. N.B. Some pairs of nodes will have a pair of edges between them in our residual graph.

Finding the cycle of flows We use a shortest path approach to find the cheapest cycle that includes the out of kilter edge using the residual graph. Edges are given a cost of the higher of zero or the reduced cost. Having found the cycle, we check the amount of flow that can be augmented and update the flow variables and the residual graphs.

When do we stop with the primal phase? When we have exhausted all possible cycles in the residual graph involving the out of kilter edge, or have brought that edge into kilter we move onto the dual phase. It is important that all nodes labelled in the shortest path search are kept in a list. We use this information in the dual phase.

The dual phase In the dual phase we update the w i values for the nodes. We put all nodes reached in the shortest path search into one set Q, and all others in P. We are only interested in edges that link these two groups of nodes together. The smallest change that brings the reduced cost of these edges to zero is the quantity  we use to update the w i values.

The amount of change in w i. If node i is in P, then w i 0 = w i - . If node i is in Q, then w i 0 = w i + . We now return to the primal phase and re-evaluate the reduced costs using the new values of w i.