1 / 36

サプライ・チェイン最適化 のための統一言語 とソルバー群

サプライ・チェイン最適化 のための統一言語 とソルバー群. 久保 幹雄 東京海洋大学 http://kubomikio.com. 概要. SCML (Supply Chain Modeling Language) とは Python による実装 応用. What is the SCML?. proposed in 2009 by M. K. (international scheduling symposium). Supply Chain Optimization Models. Solvers (metaheuristics

koto
Download Presentation

サプライ・チェイン最適化 のための統一言語 とソルバー群

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. サプライ・チェイン最適化のための統一言語とソルバー群サプライ・チェイン最適化のための統一言語とソルバー群 久保 幹雄 東京海洋大学 http://kubomikio.com

  2. 概要 • SCML (Supply Chain Modeling Language) とは • Pythonによる実装 • 応用

  3. What is the SCML? proposed in 2009 by M. K. (international scheduling symposium) Supply Chain Optimization Models Solvers (metaheuristics and/or MIP/CP) SCML Combinatorial Optimization Models

  4. What is the SCML.py ? Supply Chain Optimization Models Solvers (metaheuristics and/or MIP/CP) SCML.py SCML Combinatorial Optimization Models サプライ・チェイン最適化の現在-統一言語 SCMLによるアプローチ-(朝倉書店;2010出版予定)

  5. Supply chain optimization models • resource constrained scheduling (RCS) • lot-sizing (LS) • logistics network design (LND) • safety stock allocation (SSA) • economic order quantity (EOQ) • inventory policy optimization (IPO) • vehicle routing (VR)

  6. Combinatorial optimization problems • set covering problem (SC) • generalized assignment problem (GA) • rectangular packing problem (RP) • facility location problem (FL) • etc. , ...

  7. Previous SCO models Flow models (LND, FL) Scheduling models (RCS, LS, VR) Constrained optimization models (Algebraic modeling languages) Multi-echelon inventory models (IPO, SSA, EOQ, LS)

  8. Previous SCO models Network=(Node, Arc) Product, Resource Activity, Resource Flow models (LND, FL) Scheduling models (RCS, LS, VR) Constrained optimization models (Algebraic modeling languages) Multi-echelon inventory models (IPO, SSA, EOQ, LS) Product (BOM) Variable, Constraint

  9. Entities of the SCML • temporal • piecewise • horizon • state • solver • etc., ... • activity • resource • product • node • arc Basic entities

  10. Activity • Every action that requires the resources, consumes and/or produces the product, and derives the cost Fixed Cost Variable Cost consume produce product activity product require resource

  11. Resource • Every entity of limited availability required and/or consumed by activitiesOur focus is on the physical, human, and financial resources.

  12. Product • Products are consumed and/or produced by activities • Products are items or commodities through the network arc node node product product

  13. Node and arc • Network is defined by the set of nodes and arcs arc node node

  14. Declaration and attributes activity declaration activity activity-name[attributes] • activity • resource • product • node • arc attribute: duedate integer+ weight integer+ consume product-name unit real+ ... produce product-name unit real+ ... ...

  15. Key concepts for implementing the SCML • Inheritance / Composition • Hierarchy • Global / Local

  16. Inheritance

  17. Entity class Entity has a name and attributes (defined by arguments as a dictionary)class Entity(): def __init__(self, name="",**args): self.name=name self.attributes=copy.deepcopy(args)

  18. An activity object for LS act1=Activity("act1",variablecost=1,fixedcost=53, leadtime=3, resources={“mach1":1},consume={"parts1":1,"parts2":2},produce={"prod1":1}) consume prod1 parts1 Activity “act1” parts2 produce Resource “mach1”

  19. Composition

  20. Hierarchy • Hierarchy can be defined on every entity using attribute “children” • Every attribute of a parent is copied to its children (same as inheritance) activity children Mode Mode Mode

  21. Example: an activity object for RP item1=Activity("item1”, cost=10, children=“mode1": {resources:{"width":3,"height":2}} ,“mode2”: {resources={"width":2,"height":3}, cost=5}) mode2 (cost=5) mode1 (cost=10)

  22. Global / Local • Local products can be defined on nodes • Local activities and resources can be defined on arcs, i.e., arcs can own activities and resources • Otherwise, entities are global. arc node node consume produce product activity product require resource

  23. Example: a node object for LND source=Node("source",products={"apple":{"holdingcost":10,"supply":100}, "melon":{"holdingcost":10,"supply":50}}) node "source" apple melon

  24. Lot-sizing (LS) model horizon, activity, resource, product variablecost fixedcost consume product demand holdingcost leadtime activity produce resource product capacity

  25. Example for solving LS in python from SCML import * SCMLモジュールを読み込む sample=SCML() SCMLオブジェクトを生成 sample.setHorizon(5) 計画期間を5に設定 製品の情報入力 prod1=Product("prod1",demand=[5,5,6,7,8],holdingcost=5,leadtime=3) parts1=Product("parts1",holdingcost=1,leadtime=3) parts2=Product("parts2",holdingcost=1,leadtime=1) res1=Resource(“res1”,capacity={(0,“inf”):25}) 資源の情報入力 活動の情報入力 act1=Activity("act1",variablecost=1,fixedcost=53,resources={"res1":1},consume={"parts1":1,"parts2":2},generate={"prod1":1}) sample.addActivity(act1) sample.addProducts(prod1,parts1,parts2) sample.addResource(res1) sample.solve(“LS”) LSソルバーで求解

  26. Resource constrained scheduling (RCS) model activity, resource, temporal, state min-max type temporal constraints with delay duedate, weight, parallel, break activity activity state time-dependent resource requirement children activities (=modes) resource time-dependent UB

  27. Logistics network design (LND) model horizon, activity, resource, product, node, arc arc activities resources fixedcost node node products variablecost cycletime consume produce holdingcost supply demand product activity product require resource capacity Activity-based multi-period LND model

  28. Vehicle routing (VR) model activity, resource, node, arc, piecewise time windows= duedatepiecewise node “move” activity a customer depot “vehicle” resource arc time piecewise cost piecewise capacity location depot time piecewise

  29. Inventory models horizon, product, activity, resource • (network type) economic ordering quantity model (EOQ) • safety stock allocation model (SSA) • inventory policy optimization model (IPO)

  30. Inventory models and BOM fixedcost (EOQ) activity product demand, holdingcost (common) leadtime, basestocklevel, backordercost (IPO)servicetime, processingtime (SSA) cycletime (EOQ) resource capacity (IPO)

  31. Set covering (SC) cost  5646335 row 1 1001101 row 2 1101000 row 3 1100011 row 4 0110010 row 5 0011100 ・・・ columns Rows (constraints) => resources Columns (variables) => activities

  32. Generalized assignment (GA) aij (requirement) bi =>capacity cij (cost) agents =>resources jobs => activities activity resources: resource-name (aij, cij)

  33. Rectangular packing (RP) height =>resource activity, resource, piecewise rectangle =>activity with children (modes) width =>resource resource (width or height) capacity, piecewise

  34. Facility location (FL) problem • Multi-source Weber problemGiven n nodes (customers) on a plane, find k locations of facilities • nodes: (attributes: x, y coordinates and weight) Example n=1000 k=30

  35. Facility location (FL): Excel interface

  36. Applications • Resource constrained scheduling:used in some large plants • Logistics network design: used as a consulting tool in three consulting firms • Vehicle routing: used as a core solver in some major companies • Hybrid models • Lot-sizing + Inventory policy optimization • Logistics network design + Resource constrained scheduling +Lot-sizing

More Related