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

Post on 22-Jan-2016

73 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

TRANSCRIPT

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

久保 幹雄東京海洋大学

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

top related