Title: Supply Chain Modeling Language (SCML) Project
1Supply Chain Modeling Language (SCML) Project
- Mikio KUBO
- Tokyo University of Marine Science of Technology
- http//kubomikio.com
2Koji Nonobe _at_ Hosei University
Mutsunori Yagiura _at_Nagoya University
Hideki Hashimoto _at_Nagoya University
J. Pedro Pedroso _at_ Porto University
3What is the SCML?
Supply Chain Optimization Models
Solvers
SCML
AMPL Model Files
Combinatorial Optimization Problems
4Supply 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)
5Combinatorial optimization problems
- generalized assignment problem (GAP)
- set covering problem (SCP)
- rectangular packing problem (RPP)
- multi-dimensional knapsack problem (MKP)
- facility location problem (FLP)
6Related work
- SCOR (supply chain operations reference) model
- SCML (same name!) supply chain modeling
language for simulation - Algebraic modeling languages
7SCOR model
- proposed by Supply Chain Council
- A reference model designed for effective
communication among SC partners - SC (plan, source, make deliver, return) ...
8Another SCML
- Chatfield et al. (2009)
- XML-based document format for simulation
- Basic entities are
- node and arc (network is essential)
- component (? product resource)
- action (? activity)
- policy (for doing simulation)
9Algebraic modeling languages
- AMPL, MOSEL, OPL, GAMS, etc.
- solvers (general purpose)
- Mixed integer programming, constrained
programming, other nonlinear programming - using set, parameter, variable, objective
function, constraints, etc. (also general purpose)
10Previous work
- Activity based view of linear programming
Resource constrained scheduling model - Lot-sizing models
- State-task network representation for batch
process - Logistics network design model
- Algebraic modeling languages
11Activity based view of linear programming
matrix Aaij
b
-
row resource
system input of resource
activity i consumes resource j by aij
column activity (amount Xj)
12Resource constrained scheduling model
activity
precedence relation
activity
require
resource
13Lot-sizing models
BOM (bill of material)
resource
resource
product
14State-task network representation
Kandili-Pantelides-Sargent (1993)
state product
task activity
resource
15Logistics network design model
resource
node
node
require
assemble
disassemble
product
transport
16Key entities
- activity
- resource
- product
- node
- arc
- horizon
- mode
- state, temporal, piecewise, solver
17Activity
- Every action that requires the resources,
consumes and/or produces the product, and
derives the cost
Fixed Cost Variable Cost
consume
produce
activity
product
product
require
resource
18Resource
- Every entity of limited availabilityOur focus
is on the physical, human, and financial
resources. - Categorized into
- Renewable
- Nonrenewable
19Product , node, arc
- A product is an item or commodity through the
network - Network is defined by the set of nodes and arcs
arc
node
node
product
product
20Relation among entities
arc
node
node
consume
produce
activity
product
product
require
resource
Activities and resources can be defined on
arcs.(They are called local. Otherwise called
global.) Products are defined on nodes.
21Notations
- inf 8
- integer a non-negative integer or 8
- integer an integer or 8 or -8
- real a non-negative real number or 8
- real a real number or 8 or -8
- range a pair of two integers (a,b) such that a ?
b - ... allow any number of repetitions
- optional
- select one within the braces
22Horizon
- horizon declaration
- horizon integer
horizon 4
0
1
2
3
4
set the planning horizon to 4
23Activity attributes
autoselect mode-name ... mode
mode-attributes duedate integer weight
integer start integer, range,
piecewise-name completion integer,
range, piecewise-name selected
mode-name, resource-name execute interval
range parallel integer ...
24Interval
interval 1 3 gt ?,?
1,3)
0
1
2
3
4
?
?
?
?
range
execute interval 1 3 execute interval 3 4
parallel 2
25Mode attributes
duration integer resource-name max
interval range requirement integer
cost integer, piecewise-name
... break interval range max integer
... parallel interval range max integer
... state-name from state-value to
state-value amount interval range real (LS,
LND) consume product-name unit real ...
produce product-name unit real ...
variablecost interval range real ...
fixedcost interval range real
... cycletime interval range integer,
range leadtime interval range
integer, range
26Resource attributes
- interval range capacity integer...
- location node-name time integer
- cost real
interval 0 1 capacity 1 interval 1 3
capacity 2 interval 3 4 capacity 1
27Temporal constraints
temporal declaration temporal activity-name
activity-name attributes attribute type
SS, SC, CS, CC delay integer
Completion
Start
delay
A
B
28States
- state declaration
- state state-name time integer value
integer ...
29Piecewise linear function attributes
interval range init real slope real ...
default real
piecewise example default inf interval 0
1 init 1 slope 1 interval 1 3 init 1 slope 0
Must be lower semicontinous
30Product attributes
supply interval range real, range,
randvar ... demand interval range
real, range, randvar ... holdingcost
interval range real ... backordercost
interval range real ... inventory
interval range real ... capacity
interval range real ... variability
real safetyratio real reorderpoint
real basestocklevel real
31Nodes
- node declaration
- node node-name attributes
- attribute
- location latitude longitude
- weight real
- product-name product-attributes ...
32Arcs
- arc arc-name node-name node-name attributes
- attribute
- cost real
- time real, piecewise-name
- distance real
- activity-name activity-attributes ...
- resource-name resource-attributes ...
33Solvers
- solver declaration
- solver RCS, LS, LND, SSA, EOQ, IPO, VR, SCP,
GAP, RPP, MKP, FLP attributes - attribute
- option option-name option-value ...
34Hierarchies
- activity (resource, product) attributes
- children activity (resource, product)-name
... - type and, or
-
- Modes children of an activity with type or
- Vehicle capacities (weight, volume,...)
children of a resource (vehicle) with type and
35Scheduling model
- horizon, activity, mode, resource,
nonrenewable, temporal, state
activity
temporal
activity
state
modes
require
require
nonrenewable
resource
36Scheduling model (example)
activity B duedate 9 weight 5 mode
duration 2 writer interval 0 2
requirement 1 break interval 0 2 max 1
... solver RCS option time 100
resource writer interval 0 3 capacity 1
interval 4 6 capacity 1 interval 7 10 capacity
1 interval 11 inf capacity 1 activity A
duedate 5 weight 20 mode duration 1
writer interval 0 1 requirement 1
37Lot-sizing model
- horizon, activity, mode, resource, product
consume
product
activity
produce
resource
product
38BOM
- BOM (bill of materials) G(N,A)
fpq the units of product p to produce one unit
of product q.
p
fpq
product
child product of q
parent product of q
q
resource
39BOM representation using SCML
activity
consume
product
activity
produce
activity
resource
child
parent
resource
40Lot-sizing model (example)
resource res1 interval 0 inf capacity
25 activity act1 mode duration 1
variablecost interval 0 inf 1 fixedcost
interval 0 inf 53 setup cost leadtime
interval 0 inf 3 setup time res1 interval
0 inf requirement 1 consume parts1 unit 1
consume parts2 unit 2 generate prod1 unit
1 solver LS
horizon 5 product prod1 holdingcost 0 inf 5
demand interval 0 1 5 demand interval 1 2 7
demand interval 2 3 3 demand interval 3 4 6
demand interval 4 5 4 product parts1
holdingcost 0 inf 1 ...
41Logistics network design (LND) model
- horizon, activity, resource, product, node, arc
node
node
consume
produce
activity
product
product
require
resource
42An example of LND model
source1
vehicle
line1
vehicle
apple
plantout
customer
plantin
juice
juice
source2
line2
apple
juice
ship
2
bottle
bottle
43LND model (SCML example) 1
node source2 bottle supply interval 0
inf 100 node plantin node plantout juice
holdingcost 10 node customer juice
demand interval 0 inf 10 holdingcost 30
horizon 2 product apple holdingcost 5 inf
5 product bottle holdingcost 1 inf 5 product
juice variability 1 safetyratio 1.65 node
source1 apple supply interval 0 inf 100
44LND model (SCML example) 2
activity trans_apple mode duration 1
variablecost 0 inf 1 cycletime 0 inf 1
vehicle requirement 1 consume apple unit
1 produce apple unit 1 activity
trans_bottle mode duration 1 variablecost 0
inf 1 cycletime 0 inf 1 ship
requirement 1 consume bottle unit 1
produce bottle unit 1
arc source1 plantin trans_apple activity
vehicle cost 10 resource arc source2 plantin
trans_bottle activity ship cost 30
resource arc plantin plantout
prod_juice_online1 prod_juice_online2
line1 cost 50 line2 cost 100 arc plantout
customer trans_juice vehicle cost 20
45LND model (SCML example) 3
resource line1 interval 0 inf capacity 100
cost 70 resource line2 interval 0 inf capacity
100 cost 20 resource vehicle interval 0 inf
capacity 2 resource ship interval 0 inf
capacity 10 solver LND
activity prod_juice_online1 mode duration 1
variablecost 0 inf 10 cycletime 0 inf 5
line1 requirement 1 consume apple unit
2 consume bottle unit 1 produce juice unit
1 ...
46Vehicle routing model
- activity, resource, node, arc, piecewise
completion piecewise
start piecewise
move activity
depot or origin
a customer or destination
vehicle resource
weight resource
volume resource
47Inventory models
- horizon, product, activity, resource
- (network type) economic ordering quantity model
(EOQ) - safety stock allocation model (SSA)
- inventory policy optimization model (IPO)
48Inventory models and BOM
fixedcost, cycletime (range) (EOQ) leadtime
(range), cycletime (integer), duration (SSA)
leadtime (integer), cycletime (integer) (IPO)
activity
product
demand, holdingcost basestocklevel, backordercost
(IPO)
resource
capacity (IPO)
49Set covering problem
Cost 5646335 row 1 1001101 row 2 1101000 row 3
1100011 row 4 0110010 row 5 0011100
columns
Rows gt Resources Columns gt Activities
50Generalized assignment problem
aij gtrequirement
bi gtcapacity
cij gtcost
agents gtresources
jobs gt activities
51Rectangular packing problem
height gtresource
rectangle gtactivity with multiple modes
cost gt piecewise
width gtresource
52Multi-dimensional knapsack problem
aij gtrequirement
bi gtcapacity
profit pj gt -cost
constraints gtresources
items gt activities
53Other problems
- facility location problem
- defined on nodes (x, y coordinates and weight)
- traveling salesman problem
- defined on nodes (x,y coordinates) Euclidian
TSP - defined on nodes and arcs (cost) general TSP
- bin packing problem
- defined on activities (items) and a resource (bin
size)