1 / 38

Resource Allocation and Routing in Multi-vehicle Warehousing: Alphabet Soup

Christopher J. Hazard North Carolina State University cjhazard@ncsu.edu. Resource Allocation and Routing in Multi-vehicle Warehousing: Alphabet Soup. Outline. Motivation & Kiva Systems Alphabet Soup Problem Demo Testbed & code details Viable Solutions

taini
Télécharger la présentation

Resource Allocation and Routing in Multi-vehicle Warehousing: Alphabet Soup

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Christopher J. Hazard North Carolina State University cjhazard@ncsu.edu Resource Allocation and Routing in Multi-vehicle Warehousing:Alphabet Soup 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 Christopher J. Hazard

  3. The Problem Reserve Forward Shipping MFG Shipping Boxes, Cartons Cases, Eaches Pallets MFG Retailer, Customer 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 Christopher J. Hazard

  5. Kiva Systems Pods & Robots Christopher J. Hazard

  6. Kiva Systems Picking Workflow Christopher J. Hazard

  7. Kiva Systems Installation Christopher J. Hazard

  8. Kiva Systems Installation (2) 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 Christopher J. Hazard

  10. What is Alphabet Soup? Abstraction of Physical Routing in Warehouses, Manufacturing, Assembly Letter Station Word Station Word Station Letter Station 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 Christopher J. Hazard

  12. Alphabet Soup Demos • Small example • Large example • Greedy vs. market • Java + LWJGL, GPL 2+ • http://research.csc.ncsu.edu/alphabetsoup Christopher J. Hazard

  13. Alphabet Soup High Level View • Extend base classes • implement behavior • Statistics Simulation World Managers Map Quadtree Word List Letter Stations Buckets Render Window Word Stations Bucketbots Waypoint Graph Christopher J. Hazard

  14. base Bucket Bucketbot BucketbotTask LetterStation SummaryReport WordList WordStation userinterface RenderWindow BucketbotRender, BucketRender, etc. Renderable Bold: will probably use Italics: interface framework Bucket Bucketbot Circle Letter LetterColor LetterStation LetterType Map MersenneTwisterFast Quadtree QuadtreeNode SimulationWorld Updateable Word WordList WordStation Alphabet Soup Code Overview Christopher J. Hazard

  15. simulators.graphexample BucketbotManagerExample LetterManagerExample SimulationWorldGraphExample WordOrderManagerExample simulators.greedytaskallocation BucketbotAgent BucketbotGlobalResources LetterManager SimulationWorldGreedyTaskAllocation WordOrderManager Alphabet Soup Code Overview (2) • waypointgraph • BucketbotDriver • BucketbotManager • GenerateWaypointGraph • Waypoint • WaypointGraphRender Christopher J. Hazard

  16. Code Walkthrough • alphabetsoup.config • graphexample • SimulationWorldGraphExample • WordOrderManagerExample • LetterManagerExample • BucketbotManagerExample • greedytaskallocation • BucketbotAgent • waypointgraph • BucketbotManager • BucketbotDriver • GenerateWaypointGraph 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) Christopher J. Hazard

  18. Waypoints & Bucket Storage • Waypoint graph • Waypoint layout? • Word & Letter station layout? • Storage layout? • Path weights? • Bucket brigade? (exchange is costly) 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 Christopher J. Hazard

  20. Goals • Prevent deadlock • Maximize throughput • Minimize congestion • Minimize # of robots, buckets, stations • Minimize idle time • Minimize energy (distance, #pickups & setdowns) • Minimize variance of task times 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? Christopher J. Hazard

  22. Possible “Solutions” • Stochastic Programming • Further abstraction with MILP • Market oriented programming 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? 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 Christopher J. Hazard

  25. Market-Oriented Programming [Wellman ‘96] • Resource allocation • Agents • Markets/Auctions • Resources • Valuations • Transform optimization problems • Interface: price & resource • Sometimes altruistic or honest agents 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? Christopher J. Hazard

  27. Representing an Economy Agent Type Agent Type A Auction Item Type Auction with Item Type I Multiple Item or Agent Types Item Can Be Sold By Christopher J. Hazard

  28. Representing an Economy (2) arrow anonymous price? linear price? no yes no no yes yes yes no Christopher J. Hazard

  29. Economy 1 Letter Builder Storage Letter Station Letter Bundle Storage Right Letter Bundle Bucketbot Bucket Transportation Letter Word Station Word Word Queue Christopher J. Hazard

  30. Economy 2 Letter Builder Storage Letter Station Letter Bundle Storage Right Letter Bundle Bucketbot Transportation Bucket Letter Word Station Word Word Queue Christopher J. Hazard

  31. Economy 3 Letter Builder Letter Station Letter Bundle Storage Bundle Slot Storage Right Bucketbot Transportation Bucket Letter Word Queue Word Station Word Christopher J. Hazard

  32. Segmenting the Market A A X X C B X' B X' C Christopher J. Hazard

  33. Communicating Price Information Between Market Segments • Information channel • Auctioneers • “Middleman” agents • Information timing • Tâtonnement-like • Reactive 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) 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 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 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 Christopher J. Hazard

  38. Acknowledgements • Peter Wurman • Kiva Systems • Raff D’Andrea • Kiva Systems, Cornell Christopher J. Hazard

More Related