2008-02-12Christopher J. Hazard 1 Resource Allocation and Routing in Multi-vehicle Warehousing:...
-
Upload
prudence-willis -
Category
Documents
-
view
217 -
download
0
Transcript of 2008-02-12Christopher J. Hazard 1 Resource Allocation and Routing in Multi-vehicle Warehousing:...
Resource Allocation and Routing in Multi-vehicle Warehousing:
Alphabet Soup
Christopher J. HazardNorth Carolina State University
2008-02-12 Christopher J. Hazard 2
Outline
• Motivation & Kiva Systems• Alphabet Soup
– Problem– Demo– Testbed & code details
• Viable Solutions– Abstraction with MILP & Stochastic
programming– Market oriented programming
2008-02-12 Christopher J. Hazard 3
Retailer,Customer
The Problem
MFG
MFG
Pallets
Cases, Eaches
Shipping Boxes,
Cartons
Reserve Forward Shipping
2008-02-12 Christopher J. Hazard 4
Kiva Systems
• Philosophy– People Hands >> Robot Hands (for now)
– All products mobile– Move products to hands
• Solution– Robots move “pods” to humans on perimeter– System completely manages fulfillment
2008-02-12 Christopher J. Hazard 9
Kiva Systems Features
• All workers have access to all products
• Order completed by single worker
• Adaptive storage & replenishment
• Spatial flexibility
• Route around problems
• Item shape flexibility– Slots, hanging, shelves– Optimizes for weight & shape
2008-02-12 Christopher J. Hazard 10
What is Alphabet Soup?
LetterStation Word
Station
Abstraction of Physical Routing in Warehouses, Manufacturing, Assembly
LetterStation
WordStation
2008-02-12 Christopher J. Hazard 11
Alphabet Soup Testbed Mechanics
• Maximum speed & acceleration clamped
• Time penalty for collisions
• “Perfect sensing”
• Robot coordination important– High level for controlling robots
2008-02-12 Christopher J. Hazard 12
Alphabet Soup Demos
• Small example
• Large example
• Greedy vs. market
• Java + LWJGL, GPL 2+
• http://research.csc.ncsu.edu/alphabetsoup
2008-02-12 Christopher J. Hazard 13
Alphabet Soup High Level View
Map
Simulation World
Word Stations
Letter Stations
Managers
Render Window
Word ListBuckets
Bucketbots
Quadtree
• Extend base classes– implement behavior
• Statistics
Waypoint Graph
2008-02-12 Christopher J. Hazard 14
Alphabet Soup Code Overview• base
– Bucket– Bucketbot– BucketbotTask– LetterStation– SummaryReport– WordList– WordStation
• userinterface– RenderWindow– BucketbotRender,
BucketRender, etc.– Renderable
Bold: will probably useItalics: interface
• framework– Bucket– Bucketbot– Circle– Letter– LetterColor– LetterStation– LetterType– Map– MersenneTwisterFast– Quadtree– QuadtreeNode– SimulationWorld– Updateable– Word– WordList– WordStation
2008-02-12 Christopher J. Hazard 15
Alphabet Soup Code Overview (2)• simulators.graphexample
– BucketbotManagerExample– LetterManagerExample– SimulationWorldGraphExample– WordOrderManagerExample
• simulators.greedytaskallocation– BucketbotAgent– BucketbotGlobalResources– LetterManager– SimulationWorldGreedyTaskAllo
cation– WordOrderManager
• waypointgraph– BucketbotDriver– BucketbotManager– GenerateWaypointGraph– Waypoint– WaypointGraphRender
2008-02-12 Christopher J. Hazard 16
Code Walkthrough
• alphabetsoup.config• graphexample
– SimulationWorldGraphExample– WordOrderManagerExample– LetterManagerExample– BucketbotManagerExample
• greedytaskallocation– BucketbotAgent
• waypointgraph– BucketbotManager– BucketbotDriver– GenerateWaypointGraph
2008-02-12 Christopher J. Hazard 17
Misc. Tips
• Need Java 5, Java 6 faster– For-each loops
• java.util.– List / ArrayList– HashMap
• Use provided random # generator– SimulationWorld.rand.nextFloat()– nextInt(), etc.
• Is the task complete? Check for errors.• Don’t be afraid to change code
– Add own classes, initialize in SimulationWorld
• Consider DOE (Design Of Experiment)
2008-02-12 Christopher J. Hazard 18
Waypoints & Bucket Storage• Waypoint graph
– Waypoint layout?– Word & Letter station layout?– Storage layout?– Path weights?– Bucket brigade? (exchange is costly)
2008-02-12 Christopher J. Hazard 19
Path Planning
• HUGE impact on throughput
• Robot coordination– Waypoint/path reservation system?– Multi-agent planning
• Currently uses A*– waypointgraph.BucketbotDriver– Checks next couple waypoints– Bounces around when waiting
2008-02-12 Christopher J. Hazard 20
Goals
1. Prevent deadlock
2. Maximize throughput• Minimize congestion
3. Minimize # of robots, buckets, stations
4. Minimize idle time
5. Minimize energy (distance, #pickups & setdowns)
6. Minimize variance of task times
2008-02-12 Christopher J. Hazard 21
Questions to Achieve Goals
• Which letters in which buckets?
• Bucket specializations?
• Which buckets to fulfill words?
• Which stations to assign words and letters?
• Which bucketbots for which buckets?
2008-02-12 Christopher J. Hazard 22
Possible “Solutions”
• Stochastic Programming
• Further abstraction with MILP
• Market oriented programming
2008-02-12 Christopher J. Hazard 23
Stochastic Programming
• Many recourse problems
• How to model probability distributions?– What level of abstraction?
• Joint distributions highly dependent on coordination schemes
• Use MDP’s?
2008-02-12 Christopher J. Hazard 24
Further abstraction with MILP
• Many assignment problems– Assign words to word stations– Assign letters to words, letter stations, buckets, and
robots– Choose event times
• Events take time• Non-integer times• Conditionals to ensure proper ordering of events
• Even abstracting away buckets & robots– ~15 constraint types
• Many ||stations|| x ||items||• Timing: ||items||2 x ||stations||• 1000 items, 10 stations 10M constraints for timing
2008-02-12 Christopher J. Hazard 25
Market-Oriented Programming
• Resource allocation– Agents– Markets/Auctions– Resources– Valuations
• Transform optimization problems
• Interface: price & resource
• Sometimes altruistic or honest agents
[Wellman ‘96]
2008-02-12 Christopher J. Hazard 26
Dual of MILP as Market
• Constraints to prevent discriminatory pricing– Adds O(||items of a type||2 x ||stations||) more
constraints– Preliminary results suggest may not affect
optimality for steady-state– Simpler to solve?
• Simplify problem further?
2008-02-12 Christopher J. Hazard 27
Representing an Economy
Item Type I
Agent Type A Agent Type
Item Type
Item Can Be Sold By
Auction
Auction with Multiple Item or Agent Types
2008-02-12 Christopher J. Hazard 28
Representing an Economy (2)
arrow anonymous price? linear price?no yesno no yes yesyes no
2008-02-12 Christopher J. Hazard 29
Economy 1
Word
Letter Bundle
Letter
Bucket
Letter Station
Transportation
Bucketbot
Storage Right
Storage
Letter Bundle
Letter Builder
Word Station
Word Queue
2008-02-12 Christopher J. Hazard 30
Economy 2
Letter Bundle
Storage RightLetter Bundle
Letter
Bucket
Letter Station
Letter Builder
Transportation
Storage
Bucketbot
Word Station
Word Word Queue
2008-02-12 Christopher J. Hazard 31
Economy 3
Letter BundleBundle Slot
Letter
Word
Bucket
Letter Builder
Transportation
Word Queue
Bucketbot
Storage Right
Storage
Letter Station
Word Station
2008-02-12 Christopher J. Hazard 33
Communicating Price Information Between Market Segments
• Information channel– Auctioneers– “Middleman” agents
• Information timing– Tâtonnement-like– Reactive
2008-02-12 Christopher J. Hazard 34
Auctioneer Communication
• Tâtonnement-like [Cheng & Wellman ’98]
– DCOP [Modi et al. ’03 and Petcu & Faltings ’05]
– Artificially harder problem?• Inefficient “discovery” of valuations• Constraints between agents on both sides
• Reactive– Exposure problem
• No free disposal
– Sub-problems unaccounted for (e.g. TSP)
2008-02-12 Christopher J. Hazard 35
“Middleman” Agents as Information Channel
• Exposure problem– No free disposal
• Learning market prices– Speculators– Specialization
• Propagate demand for goods not in market
• Leverage uncertainty models• Tâtonnement issues
2008-02-12 Christopher J. Hazard 36
Available Resources
• In Alphabet Soup release– Working anonymous linear-price market model:
simulators.markettaskallocation– Start of implementation of non-linear price market model:
simulators.combinatorialmarkettaskallocation
• Available upon request– Collisionless evaluator framework
• In C++, only random decisions• Alphabet Soup provides data
– MILP model of collisionless abstraction• Not validated
• Collaboration tools: sourceforge.net, wiki/forums, SVN
2008-02-12 Christopher J. Hazard 37
Other Ideas…
• Apply Alphabet Soup to Mfg/Assembly
• Affect of distributions• Affect of online
optimization stations• Adaptive storage
algorithms• N-player competitive
Alphabet Soup?!?• Squares, hexagons, and
beyond• Pick/replen station layout