Copyrights (H.Rashidi & E.Tsang)

Slides:



Advertisements
Similar presentations
Lindsey Bleimes Charlie Garrod Adam Meyerson
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Greedy Algorithms.
Introduction to Algorithms Greedy Algorithms
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
Greed is good. (Some of the time)
MINIMUM COST FLOWS: NETWORK SIMPLEX ALGORITHM A talk by: Lior Teller 1.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 13 MATERIAL HANDLING SYSTEMS E. Gutierrez-Miravete Spring 2001.
Scheduling of Rail-mounted Gantry Cranes Based on an Integrated Deployment and Dispatching Approach 15 th Annual International Conference on Industrial.
Branch and Bound Searching Strategies
1 Greedy Algorithms. 2 2 A short list of categories Algorithm types we will consider include: Simple recursive algorithms Backtracking algorithms Divide.
Math443/543 Mathematical Modeling and Optimization
Tracking Moving Objects in Anonymized Trajectories Nikolay Vyahhi 1, Spiridon Bakiras 2, Panos Kalnis 3, and Gabriel Ghinita 3 1 St. Petersburg State University.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Breadth-first search (BFS) 8-puzzle problem The breadth-first search uses a queue to hold all expanded nodes.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Package Transportation Scheduling Albert Lee Robert Z. Lee.
Lecture 23. Greedy Algorithms
Primal-Dual Meets Local Search: Approximating MST’s with Non-uniform Degree Bounds Author: Jochen Könemann R. Ravi From CMU CS 3150 Presentation by Dan.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
June 21, 2007 Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks Anand Prabhu Subramanian, Himanshu Gupta.
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.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
The minimum cost flow problem. Simplifying assumptions Network is connected (as an undirected graph). – We can consider each connected component separately.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Network Simplex Animations Network Simplex Animations.
Branch and Bound Searching Strategies
The minimum cost flow problem. Solving the minimum cost flow problem.
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.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Greedy Algorithms.
Part 3 Linear Programming
Data Driven Resource Allocation for Distributed Learning
Algorithm Design Methods
A Study of Group-Tree Matching in Large Scale Group Communications
Dynamic Graph Partitioning Algorithm
The minimum cost flow problem
For Monday Chapter 6 Homework: Chapter 3, exercise 7.
Network Simplex Animations
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
ElasticTree Michael Fruchtman.
Course Description Algorithms are: Recipes for solving problems.
ISP and Egress Path Selection for Multihomed Networks
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Refresh and Get Ready for More
The Network Simplex Method
James B. Orlin Presented by Tal Kaminker
Part 3 Linear Programming
Finding Fastest Paths on A Road Network with Speed Patterns
Integer Programming (정수계획법)
Graphs Chapter 11 Objectives Upon completion you will be able to:
Advanced Analysis of Algorithms
Graph Searching.
Graphs.
Branch and Bound Searching Strategies
Integer Programming (정수계획법)
Algorithm Design Methods
Network Simplex Animations
Part 3 Linear Programming
The Network Simplex Method
Course Description Algorithms are: Recipes for solving problems.
Approximation Algorithms
Vehicle routing in Python
The network simplex method
Algorithm Design Methods
Presentation transcript:

Copyrights (H.Rashidi & E.Tsang) 12/28/2018 Applying the Extended Network Simplex Algorithm to Dynamic Automated Guided Vehicle Scheduling Hassan Rashidi Edward Tsang 2nd Multidisciplinary International conference on Scheduling: Theory and Applications MISTA 2005, 18-21 July Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Container Terminals Components and problem 12/28/2018 Container Terminals Components and problem RTGC Storage Area AGV Quay Crane Quay Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Automated Guided Vehicle (AGV) Scheduling 12/28/2018 Automated Guided Vehicle (AGV) Scheduling Objectives: to minimize (a) the total AGV waiting time at the quay side; (b) the total AGV travelling time in the route of port; (c) the total lateness times to serve the jobs. Assumptions: 1. Layout of port container terminal given 2. Travel time between every combination of Pickup and Drop-off points provided. 3. No Collision, Congestion, Deadlocks or Livelock. 4. Every AGV can transport only one container. 5. RTGCs or Yard Crane resources are always available. 6. Every container job on the quay side has a given appointment time. 7. Every container job has a given source and destination. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

An example for 2 AGVs and 4 Jobs 12/28/2018 An example for 2 AGVs and 4 Jobs The Auxliary Arc (one lower and upper bound at zero cost) prevent the vehicles to go directly to the sink node. The problem has a huge search space. (M+M*N+N*(N-1)+2*N arcs ) Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Cost of serving a job W1: Weight of Waiting Time of the AGVs 12/28/2018 Cost of serving a job W1: Weight of Waiting Time of the AGVs W2: Weight of Travelling Time of the AGVs P : Penalty of Lateness Time to serve the jobs (if the AGV can not reach in the appointment time) Cij : the cost of the arc between node i and node j Waiting Times of an AGV to serve node j Lateness Time of an AGV to serve node j Travelling Times of an AGV between nodes i and node j Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Minimum Cost Flow Model of the Problem 12/28/2018 Minimum Cost Flow Model of the Problem Decision variables f -- one for each arc: fij represents the flow between nodes i and j fij = 1 means an AGV goes from node i to node j; 0 otherwise Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Network Simplex Algorithm (NSA) (A complete algorithm) 12/28/2018 Network Simplex Algorithm (NSA) (A complete algorithm) NSA is an algorithm to solve the MCF problem NSA maintains the solution feasibility and moves towards optimality. Each connected graph has a spanning tree. At each stage, the arcs in the graph divide into two sets: Basic Arcs: This set makes the spanning tree. Non-Basic Arcs: This set may violate the optimality condition. In each iteration, one non-basic arc is added to the spanning tree and one basic arc has to be removed (the two arcs are exchanged) Search methods for violated arcs determine the speed of the algorithm. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

NSA+ (Network Simplex Algorithm with enhanced feature) Anti-Cycling: To avoid cycling the spanning tree must be strongly feasible. On each iteration the algorithm maintains strong feasibility by removing an appropriate arc. A mixture of heuristic approach and memory technique: At each iteration, a sorted packet of the violated arcs is collected. The most violated arc is added to the spanning tree. Arcs in the graph are divided into several blocks. The blocks are scanned for violating the optimality condition. The first block is chosen randomly or heuristically. Circularly scan the blocks for violating the optimality condition. At each scan, one violating arc from each block is added to the packet. k elements in the packet are kept for the next iteration (a memory technique). Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Greedy Vehicle Search (GVS) (Incomplete Search for Approximations) Although NSA+ is efficient, it can only work on problems with limited size GVS is a greedy local search method GVS is sacrifices completeness for speed Focus on the job to be served next Calculate the cost of serving this job by all vehicles Pick the vehicle with the least cost Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

12/28/2018 Experimental Result of running NSA+ and GVS (Static Problems for 50 AGVs) NSA+: CPU-time to Number of Jobs NSA: CPU-time to Number of Arcs GVS: CPU-time to Number of Jobs NSA+ can find the global optimal solution for 3,000 jobs and 10 million arcs in the graph model within 2 minutes. GVS is fast and finds a local solution for 8,000 jobs within 35 seconds. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

12/28/2018 Experimental Results for six hours simulation (Dynamic Problems for 50 AGVs) Actual Time: Synchronization of the Vehicles and Cranes Appointment time of job i Number of Carried Jobs Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Copyrights (H.Rashidi & E.Tsang) Summary NSA+ is a complete algorithm. NSA+ is efficient in practice. It can find the globally optimal solution for 3,000 jobs and 10 millions arcs in the graph model within 2 minutes. NSA+ is efficient and effective in terms of both waiting and travelling times of the vehicles. GVS is quicker than NSA+. GVS is useful when the problem is too big for NSA+ to solve. GVS is effective at reducing the Average Lateness of jobs over NSA+. NSA+ and GVS are both practical algorithms for dynamic automatic vehicle scheduling. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Thank for your attention. 12/28/2018 Thank for your attention. Email Address: edward@essex.ac.uk; hrashi@essex.ac.uk Web Page: http://cswww.essex.ac.uk/CSP/edward/ http://privatewww.essex.ac.uk/~hrashi Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

A short Literature over NSA (Selecting an entering Arc) 12/28/2018 A short Literature over NSA (Selecting an entering Arc) Pricing Scheme Description Bradley, Brown and Graves (BBG)-1977 Using a dynamic queue, containing the ‘interesting’ nodes and admissible arcs. An ‘interesting’ node is a node whose incident arcs have not been re-priced in recent iterations. The entering arc is selected from the queue. Mulvey List (1978) There is a major and minor loop. A limited number of favourably violated arcs are collected by scanning the non-basic arcs in a major iteration. In the minor iteration, the most violated arc in the list is chosen to enter the basis.. Arc Block (1986) The set arcs are divided into a number of subsets with a certain size. The most violated arc is selected from a block. The blocks are scanned circularly. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)

Selecting Entering Arc… 12/28/2018 Selecting Entering Arc… Pricing Scheme Description Arc Sample Like Arc block, but considering arcs at constant intervals (Skip factor). First Violated Arc The first arc encountered with violation is selected. Most Violated Arc (1987) All non-basic arcs are repriced, and the most violated arc is selected. Clustering Technique(1993) Partitioning trees into smaller sub trees, or clusters of vertices. The entering arc is selected from the clusters. Multiple Pricing (2000) The Arc Block with different size, based on the number of arcs in the graph. Friday, December 28, 2018 Copyrights (H.Rashidi & E.Tsang)