36
ササササ サササササササ サササササ ササ ササササササ ササ ササ ササササササ http://kubomikio.com

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

  • 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

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

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

久保 幹雄東京海洋大学

http://kubomikio.com

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

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

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

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)

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

What is the SCML.py ?

SCML

Supply Chain Optimization

Models

Combinatorial Optimization

Models

Solvers(metaheuristics and/or MIP/CP)SCML.py

サプライ・チェイン最適化の現在 - 統一言語SCML によるアプローチ - (朝倉書店; 2010 出版予定)

Page 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)

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

Combinatorial optimization problems

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

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

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)

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

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

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

Entities of the SCML

• activity• resource• product• node• arc

• temporal• piecewise• horizon• state• solver• etc., ...

Basic entities

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

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

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

Resource

• Every entity of limited availability required and/or consumed by activities

Our focus is on the physical, human, and financial resources.

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

Product

• Products are consumed and/or produced by activities

• Products are items or commodities through the network

node node

product product

arc

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

Node and arc

• Network is defined by the set of nodes and arcs

node nodearc

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

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+ ...

...

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

Key concepts for implementing the SCML• Inheritance / Composition

• Hierarchy

• Global / Local

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

Inheritance

Page 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)

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

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

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

Composition

Page 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

Mode Mode Modechildren

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

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)

Page 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.

activity

resource

product productconsume produce

require

node nodearc

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

Example: a node object for LND

source=Node("source",products={"apple":{"holdingcost":10,"supply":100}, "melon":{"holdingcost":10,"supply":50}})

apple

node

melon

"source"

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

Lot-sizing (LS) model

horizon, activity, resource, product

product

resource

activity

consume

produce

product

demand holdingcost leadtime

capacity

variablecost fixedcost

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

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 ソルバーで求解

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

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

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

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

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

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

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

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)

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

Inventory models and BOM

product

resource

activity

capacity (IPO)

demand, holdingcost (common)

leadtime, basestocklevel, backordercost (IPO)servicetime, processingtime (SSA) cycletime (EOQ)

fixedcost (EOQ)

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

Set covering (SC) cost     5646335

row  1 1001101row  2 1101000row  3 1100011row  4 0110010row  5 0011100

・・・

columns

Rows (constraints) => resources

Columns (variables) => activities

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

Generalized assignment (GA)

agents=>resources

jobs=> activities

bi=>capacity

aij (requirement)

cij (cost)

activity

resources: resource-name (aij, cij)

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

Rectangular packing (RP)activity, resource, piecewise

rectangle=>activity

withchildren (modes)

width=>resource

height=>resource

resource (width or height) capacity, piecewise

Page 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

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

Facility location (FL): Excel interface

Page 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