Supply Chain Modeling Language for Optimization -Implementation in Python-

About This Presentation
Title:

Supply Chain Modeling Language for Optimization -Implementation in Python-

Description:

Supply Chain Modeling Language for Optimization-Implementation in Python-Mikio KUBO Tokyo University of Marine Science of Technology Agenda What s the SCML (Supply ... –

Number of Views:209
Avg rating:3.0/5.0
Slides: 29
Provided by: Goo7594
Category:

less

Transcript and Presenter's Notes

Title: Supply Chain Modeling Language for Optimization -Implementation in Python-


1
Supply Chain Modeling Language for
Optimization-Implementation in Python-
  • Mikio KUBO
  • Tokyo University of Marine Science of Technology

2
Agenda
  • Whats the SCML (Supply Chain Modeling Language)
  • How to implement the SCML in Python
  • (Applications)

3
What is the SCML?
proposed in 2009 by M. K. (international
scheduling symposium)
Supply Chain Optimization Models
Solvers (using metaheuristics and/or MIP/CP
solvers)
SCML
SCML.py
Combinatorial Optimization Models
4
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)

5
Combinatorial optimization problems
  • set covering problem (SC)
  • generalized assignment problem (GA)
  • rectangular packing problem (RP)
  • facility location problem (FL)
  • multi-constrained knapsack problem (MK)
  • graph coloring problem (GC)
  • graph partitioning problem (GP)
  • maximum stable set problem (MSS)
  • (constrained) bin packing problem (BP)
  • quadratic assignment problem (QA)

6
Previous SCO models
Flow models (LND, FL)
Scheduling models (RCS, LS, VR)
Multi-echelon inventory models (IPO, SSA, EOQ, LS)
Constrained optimization models (Algebraic
modeling languages)
7
Previous SCO models
Network(Node, Arc), Product
Activity, Resource
Flow models (LND, FL)
Scheduling models (RCS, LS, VR)
Multi-echelon inventory models (IPO, SSA, EOQ, LS)
Constrained optimization models (Algebraic
modeling languages)
Product (BOM)
Variable, Constraint
8
Activity based view of linear programming
Dantzig-Wolfe (1963)
matrix Aaij
row (constraint) resource
b
-
system input of resource
activity i consumes resource j by aij
column (variable) activity Xj
9
Problem class
Gurobi (MIP) GLPK (MIP/Free) SCOP (CP)
10
Entities of the SCML
  • temporal
  • piecewise
  • horizon
  • state
  • solver
  • etc., ...
  • activity
  • resource
  • product
  • node
  • arc

Basic entities
11
Activity
  • 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
12
Resource
  • Every entity of limited availability required
    and/or consumed by activitiesOur focus is on
    the physical, human, and financial resources.

13
Product
  • Products are consumed and/or produced by
    activities
  • Products are items or commodities through the
    network

consume
produce
activity
product
product
14
Product
  • Products are consumed and/or produced by
    activities
  • Products are items or commodities through the
    network

arc
node
node
product
product
15
Node and arc
  • Network is defined by the set of nodes and arcs

arc
node
node
16
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 ... ...
17
Key concepts for implementing the SCML in Python
  • Inheritance / Composition
  • Hierarchy
  • Global / Local

18
Inheritance
19
Entity class
  • Entity has a name and attributes (defined by
    arguments as a dictionary)class Entity()
    def __init__(self, name"",args)
  • self.namename
  • self.attributescopy.deepcopy(args)

20
An activity object for LS
  • act1Activity("act1",variablecost1,
    fixedcost53,,leadtime3, resources"res1"1,co
    nsume"parts1"1,"parts2"2,produce"prod1"1
    )
  • Class Activity(Entity)

consume
prod1
parts1
activity
produce
parts2
resource
21
Composition
22
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
23
Example an activity object for RP
  • item1Activity("item1, cost10,
    childrenmode1" resources"width"3,"heig
    ht"2 ,mode2 resources"width"2,"heig
    ht"3, cost5)

mode2 (cost5)
mode1 (cost10)
24
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 called global.

arc
node
node
produce
consume
activity
product
product
require
resource
25
Lot-sizing (LS) model
  • horizon, activity, resource, product

consume
product
activity
produce
resource
product
26
Example for solving LS in python (1)
  • from SCML import import everything from
    SCML module
  • sampleSCML() generate SCML class
    object
  • sample.setHorizon(5) set the planning horizon
    to 5
  • generate the product class objects
  • prod1Product("prod1",demand5,5,6,7,8,
    holdingcost5,leadtime
    1)
  • parts1Product("parts1",holdingcost1,leadtime3)
  • parts2Product("parts2",holdingcost1,leadtime1)
  • generate the resource class object
  • res1Resource(res1,capacity(0,inf)25)

27
Example for solving LS in python (2)
  • generate the activity class object
  • act1Activity("act1",variablecost1,fixedcost53,
    resources"res1"1,consume"parts1"1,"parts2"
    2,generate"prod1"1)
  • add the generated objects into the problem class
  • sample.addActivity(act1)
  • sample.addProducts(prod1,parts1,parts2)
  • sample.addResource(res1)
  • sample.solve(LS) solve by the lot-sizing
    solver

28
Future plans
  • Applications (hybrid models)
  • Lot-sizing Inventory policy optimization
  • Logistics network design Resource constrained
    scheduling Lot-sizing
  • Excel interface for beginners
  • A book on the SCML (will be published in 2010-11
    from Asakura Publishers)
Write a Comment
User Comments (0)
About PowerShow.com