Upload
koto
View
72
Download
0
Embed Size (px)
DESCRIPTION
サプライ・チェイン最適化 のための統一言語 とソルバー群. 久保 幹雄 東京海洋大学 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 - PowerPoint PPT Presentation
Citation preview
サプライ・チェイン最適化のための統一言語とソルバー群
久保 幹雄東京海洋大学
http://kubomikio.com
概要• SCML (Supply Chain Modeling Language) とは• Python による実装• 応用
What is the SCML?
SCML
Supply Chain Optimization
Models
Combinatorial Optimization
Models
Solvers(metaheuristics and/or MIP/CP)
proposed in 2009 by M. K. (international scheduling symposium)
What is the SCML.py ?
SCML
Supply Chain Optimization
Models
Combinatorial Optimization
Models
Solvers(metaheuristics and/or MIP/CP)SCML.py
サプライ・チェイン最適化の現在 - 統一言語SCML によるアプローチ - (朝倉書店; 2010 出版予定)
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)
Combinatorial optimization problems
• set covering problem (SC)• generalized assignment problem (GA)• rectangular packing problem (RP)• facility location problem (FL)• etc. , ...
Previous SCO models
Flow models
(LND, FL)
Multi-echelon inventory models
(IPO, SSA, EOQ, LS)
Constrained optimization models
(Algebraic modeling languages)
Scheduling models
(RCS, LS, VR)
Previous SCO models
Flow models
(LND, FL)
Multi-echelon inventory models
(IPO, SSA, EOQ, LS)
Constrained optimization models
(Algebraic modeling languages)
Scheduling models
(RCS, LS, VR)
Network=(Node, Arc)Product, Resource Activity, Resource
Product (BOM)Variable, Constraint
Entities of the SCML
• activity• resource• product• node• arc
• temporal• piecewise• horizon• state• solver• etc., ...
Basic entities
Activity
• Every action that requires the resources, consumes and/or produces the product, and derives the cost
activity
resource
product productconsume produce
require
Fixed CostVariable Cost
Resource
• Every entity of limited availability required and/or consumed by activities
Our focus is on the physical, human, and financial resources.
Product
• Products are consumed and/or produced by activities
• Products are items or commodities through the network
node node
product product
arc
Node and arc
• Network is defined by the set of nodes and arcs
node nodearc
Declaration and attributes
• activity• resource• product• node• arc
activity declaration activity activity-name [attributes]
attribute:
duedate integer+
weight integer+
consume product-name unit real+ ...
produce product-name unit real+ ...
...
Key concepts for implementing the SCML• Inheritance / Composition
• Hierarchy
• Global / Local
Inheritance
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)
An activity object for LSact1=Activity("act1",
variablecost=1,fixedcost=53, leadtime=3, resources={“mach1":1},consume={"parts1":1,"parts2":2},produce={"prod1":1})
prod1
Resource“mach1”
Activity“act1”
consume
produce
parts1
parts2
Composition
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
Mode Mode Modechildren
Example: an activity object for RP
item1=Activity("item1”, cost=10, childrenchildren=“mode1": {resources:{"width":3,"height":2}} ,“mode2”: {resources={"width":2,"height":3}, cost=5})
mode1(cost=10)
mode2(cost=5)
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.
activity
resource
product productconsume produce
require
node nodearc
Example: a node object for LND
source=Node("source",products={"apple":{"holdingcost":10,"supply":100}, "melon":{"holdingcost":10,"supply":50}})
apple
node
melon
"source"
Lot-sizing (LS) model
horizon, activity, resource, product
product
resource
activity
consume
produce
product
demand holdingcost leadtime
capacity
variablecost fixedcost
Example for solving LS in pythonfrom 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 ソルバーで求解
Resource constrained scheduling (RCS) model
activity, resource, temporal, state
activity
resource
activity
min-max typetemporal constraintswith delay
children activities (=modes)
statetime-dependent resource requirement
time-dependent UB
duedate, weight,parallel, break
Logistics network design (LND) modelhorizon, activity, resource, product, node, arc
activity
resource
product productconsume produce
require
node node
Activity-based multi-period LND model
holdingcost supply demand
variablecost cycletime
products
arc activities resources fixedcost
capacity
Vehicle routing (VR) modelactivity, resource, node, arc, piecewise
depot a customer
“move” activity
“vehicle” resource
time windows= duedate piecewise
capacity location depot time piecewise
arc time piecewise cost piecewise
node
Inventory models
horizon, product, activity, resource
1. (network type) economic ordering quantity model (EOQ)
2. safety stock allocation model (SSA)3. inventory policy optimization model (IPO)
Inventory models and BOM
product
resource
activity
capacity (IPO)
demand, holdingcost (common)
leadtime, basestocklevel, backordercost (IPO)servicetime, processingtime (SSA) cycletime (EOQ)
fixedcost (EOQ)
Set covering (SC) cost 5646335
row 1 1001101row 2 1101000row 3 1100011row 4 0110010row 5 0011100
・・・
columns
Rows (constraints) => resources
Columns (variables) => activities
Generalized assignment (GA)
agents=>resources
jobs=> activities
bi=>capacity
aij (requirement)
cij (cost)
activity
resources: resource-name (aij, cij)
Rectangular packing (RP)activity, resource, piecewise
rectangle=>activity
withchildren (modes)
width=>resource
height=>resource
resource (width or height) capacity, piecewise
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
Facility location (FL): Excel interface
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