ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13...

57
Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

Upload: samantha-craig

Post on 21-Jan-2016

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

Ontology-based optimization modeling tool for distributed and ad-hoc business problems

2012.12.13

Piao Guangyuan

Page 2: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

2

1.Introduction

2.Related Works

3.Ontology-based Optimization Modeling Tool using SWCL

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

5.Conclusion

Contents

Page 3: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

3

1.Introduction1.1. Background of the research1.2. Why this research is needed?1.3. Scopes and objectives of the research

2. Related Works

3. Ontology-based Optimization Modeling Tool using SWCL

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

5. Conclusion

Contents

Page 4: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

4 1). Supporting System for Shopping Decision Making based on Semantic Web Constraint Language (2006), Youn, Suk Hee 2). Application of Semantic Web Constraint Language SWCL for Virtual Enterprise (2007), Jeong, Kyunbum

Background of the research

Semantic Web

- The Semantic Web is a "man-made woven web of data" that facili-tates machines to understand the semantics, or meaning, of informa-tion on the World Wide Web

SWCL and the applications

- Semantic Web Constraint Language (SWCL) was proposed in 2006 with the vision of complementing the constraints on data and con-cepts represented by ontology.

- The Application of SWCL for decision making in internet shopping environment was proposed by Youn, Suk Hee1) with an implementa-tion of a shopping agent in the Semantic Web environment in 2006.

- Jeong, Kynbum2) , 2007 proposed to apply SWCL based on OWL to be possible interchanging constraints information among each other in the virtual enterprise and more flexible.

1. Introduction

Page 5: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

5

The SWCL Syntax is uncomfortable to read and write

Users need high level of knowledge in OWL

All constraints related to objective are need to be defined manually

It would be a tedious work to deal with expressing many constraints

Difficult to generate and evaluate SWCL as well as inconvenient to users ap-ply it to real problems.

Why this research is needed?

1. Introduction

Page 6: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

6

1. Introduction

Develop Optimization Modelling Tool to facilitate the usage of Onto-logy and SWCL

Object-ives Develop translation algorithm from SWCL to solver’s code

Develop Optimization Modelling Tool based on Protégé

Choose IBM Ilog Cplex Optimization Studio as the solver

Apply SWCL to cope with linear problem

Scopes

Objectives and Scopes of the re-

search

Page 7: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

7

Semantic Web

MemVendor1 CPUVendor

AssemblyVendor

MemVendor2

Optimized Solution Optimized Solution with MemVendor2?

Objective with Virtual Enterprise

scenario

1. Introduction

constraint

constraint constraint

constraint

constraint

Page 8: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

8

Optimization ModelingUsing SWCL Manually

Optimization ModelingUsing SWCL in Protégé

Ilog statement

Reference manually

Reference with OWL API

OWL API

Detect related constraints auto-

matically

Select related constraints manu-

ally

Contributions

1. Introduction

SMART En-gine

Ontology Ontology

Page 9: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

9

1.Introduction

2. Related Works2.1. Semantic Web2.2. OWL2.02.3. SWRL2.4. SWCL2.5. Drawbacks of SWCL

3. Ontology-based Optimization Modeling Tool using SWCL

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

5. Conclusion

Contents

Page 10: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

10

Semantic Web

- The Semantic Web is the extension of the World Wide Web that enables people to share content beyond the boundaries of applications and websites.

OWL 2.0

- OWL 2 Web Ontology Language (OWL) is a Semantic Web language designed to represent rich and complex knowledge about things, groups of things, and relations between things.

SWRL

- Semantic Web Rule Language (SWRL) is a language based on a combination of the OWL DL and OWL Lite sublanguages of the OWL Web Ontology Language with the Unary/Binary Datalog RuleML sublanguages of the Rule Markup Language.

Example: hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) ⇒ hasUn-cle(?x1,?x3)

2. Related works

Semantic Web, OWL 2.0 and SWRL

Page 11: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

11

The Purpose of SWCL

- Representing mathematical expressions about constraints in the Se-mantic Web.- OWL and SWRL cannot support what relates mathematical expressions.- SWCL is the extended version of OWL, because of it’s data connection with OWL classes and properties in SWCL expressions.

yVALUEpartOfx

CountryyallforValuepopulationyValuepopulationx ,..

2. Related works

SWCL (Semantic Web Constraint Lan-

guage)

Country Province

xsd:positiveInteger

populationValuepopulationValue

partOf

Fig. 1. Country and province classes and the relation-ship of them

Page 12: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

12

Fig. 2. SWCL structure

yVALUEpartOfx

CountryyallforValuepopulationyValuepopulationx ,..

2. Related works

SWCL (Semantic Web Constraint Lan-

guage)

Page 13: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

13

)''('':: subjectToobjectiveOptModelOptModel OptModelAxiom ::

)''('':: ermobjectiveTiononInstructoptimizatiObjectiveobjective )'}'{('':: tconstrainsubjectTo

'|''':: MaximizeMinimizeiononInstructoptimizati )'}'{('':: termBlocktermBlockermobjectiveTermsobjectiveT

RHSoperatorLHSqualifierceURIreferentConstraintconstrain (''::)''|('':: riablevariableIDvaQualifierqualifier )''('':: ndescriptioriableIDvaVariableriableva

)''('':: ceURIreferenVariableIDriableIDva )'}'{('':: termBlocktermBlockLHSLHS

'|''|''|''|''|''':: nOrEqualgreaterThangreaterThaEquallessThanOrlessThannotEqualequaloperator )'}'{('':: termBlocktermBlockRHSRHS

)''('':: factorfactorparameterperatoraggregateOsignTermBlocktermBlock '|''':: sign

'|''':: roductionPSigmaperatoraggregateO )''('|')''('':: ropertyIDPdatavaluedriableIDvaFactorropertyIDdatavaluePIDindividualFactorfactor

)''|('':: riablevariableIDvaParameterparameter

2. Related works

SWCL Abstract Syntax

Page 14: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

14

<swcl:Constraint rdf:ID=”numberOfPopulation"><swcl:qualifier>

<swcl:Variable rdf:id="y"><swcl:bindingClass rdf:resource="#Country"/>

</swcl:Variable></swcl:qualifier><swcl:hasLHS>

<swcl:TermBlock rdf:ID="termBlock_1"><swcl:sign rdf:resource="&swcl;plus"/><swcl:aggregateOperator rdf:resource="&swcl;Sigma"/><swcl:parameter>

<swcl:Variable rdf:id="x"><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#partOf"/><owl:hasValue rdf:resource="#y"/>

</owl:Restriction></rdfs:subClassOf>

</swcl:Variable></swcl:parameter><swcl:factor>

<swcl:FactorAtom><swcl:bindingClass rdf:resource="#x"/><swcl:bindingDatatypeProperty rdf:resource="#populationValue"/>

<swcl:FactorAtorm></swcl:factor>

</swcl:TermBlock></swcl:hasLHS><swcl:hasOperator rdf:resource="&swcl;equal"/><swcl:hasRHS>

<swcl:TermBlock rdf:ID="termBlock_2"><swcl:sign rdf:resource="&swcl;plus"/><swcl:factor>

<swcl:FactorAtom><swcl:bindingClass rdf:resource="#y"/><swcl:bindingDatatypeProperty rdf:resource="#populationValue"/>

</swcl:FactorAtom></swcl:factor>

</swcl:TermBlock></swcl:hasRHS>

</swcl:Constraint>

2. Related works

The SWCL Syntax present is difficult to read and write

Users need high level of knowledge in OWL

It would be a tedious work to deal with expressing many constraints

Drawbacks of SWCL

In order to cope with these prob-lems…

Page 15: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

15

1.Introduction

2. Related Works

3. Ontology-based Optimization Modeling Tool using SWCL 3.1. Architecture of Optimization Modeling Tool3.2. Constraint Editor3.3. Optimization Model Constructor3.4. Optimization Modeling Language Translator

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

5. Conclusion

Contents

Page 16: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

16

Ontology-based Optimization Modeling Tool

IBM Ilog Cplex Optimization Studio

Protégé 4.1

Protégé 4.1 API

OWL API

Optimization Model Con-structor

Constraint Editor

User In-terface

Objective Identification

Constraint Identification

Decision Variable Identification

Optimization Model Identifica-tion

Optimization Model-ing Language Trans-lator

OWL/SWCL State-ment

OWL/SWCL State-ment

Ilog State-ment

Ilog State-ment

3.Ontology-based Optimization Modeling Tool using

SWCL Architecture of Optimization Modeling

Tool

Page 17: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

17

The constraint editor of OMT which can help users

Manipulate SWCL more straightforward

Create, retrieve, update, delete SWCL easily

Refer to resources in Protégé intuitively

For the reasons, we develop Optimization Modeling Tool as a plug-in of Protégé…

3.Ontology-based Optimization Modeling Tool using

SWCL Constraint Editor

Page 18: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

18

Apply Manchester Syntax in variable’s class expressions which is

<swcl:Variable rdf:id="x"><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#partOf"/><owl:hasValue rdf:resource="#y"/>

</owl:Restriction></rdfs:subClassOf>

</swcl:Variable>

Designed to produce a syntax that was concise

Designed for writing OWL class expres-sions

Less verbose, quicker to write and easier to read

Manchester Syntax

- The Manchester OWL syntax is a user-friendly syntax for OWL 2 de-scriptions

3.Ontology-based Optimization Modeling Tool using

SWCL Constraint Editor – Adapting Manchester

Syntax

Fig. 3. Class expression for variable x

Page 19: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

19

OWL Constructor DL Syntax Manchester Syntax

intersectionOf C D C AND D

unionOf C D C OR D

complementOf ¬ C NOT C

oneOf {a} {b} {a b…}

someValueFrom ∃ R C R SOME C

allValuesFrom ∀ R C R ONLY C

minCardinality ≥ N R R MIN 3

maxCardinality ≤ N R R MAX 3

Cardinality = N R R EXACTLY 3

hasValue ∃ R {a} R VALUE a

Fig. 4. The Manchester OWL Syntax Class Con-structors

x partOf VALUE ?y

<swcl:Variable rdf:id="x"><rdfs:subClassOf>

<owl:Restriction><owl:onProperty rdf:resource="#partOf"/><owl:hasValue rdf:resource="#y"/>

</owl:Restriction></rdfs:subClassOf>

</swcl:Variable>

Constraint Editor – Adapting Manchester

Syntax

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 20: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

20

3.Ontology-based Optimization Modeling Tool using

SWCL Constraint Editor – Refer to classes and properties in

Protégé easily

Fig. 5. Screenshot of Protégé

Page 21: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

21

3.Ontology-based Optimization Modeling Tool using

SWCL Constraint Editor

Adapting Manchester Syntax

Referring resources in Protégé

Fig. 6. Screenshot of Constriant Editor

Page 22: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

22

Ontology-based Optimization Modeling Tool

IBM Ilog Cplex Optimization Studio

Protégé 4.1

Protégé 4.1 API

OWL API

Optimization Model Con-structor

Constraint Editor

User In-terfaceObjective Identification

Constraint Identification

Decision Variable Identification

Optimization Model Identifica-tion

Optimization Model-ing Language Trans-lator

OWL/SWCL State-ment

OWL/SWCL State-ment

Ilog State-ment

Ilog State-ment

3.Ontology-based Optimization Modeling Tool using

SWCL Architecture of Optimization Modeling

Tool

Page 23: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

23

Optimization Model Constructor

3.Ontology-based Optimization Modeling Tool using

SWCL

Objective Identification

- The step identifies the user’s objective for the optimization model.

Constraint Identification

- Once the objective is given, the constraints related to the objective should be identified automatically.

Decision Variable Identification

- In this step, for all factors, we first examine whether its value is exist. If this is the case, the factor is called “constant factor”; otherwise, it is identified as “decision variable factor”

Optimization Model Identification

- We identify which kind of programming model (e.g., linear program-ming problem, constraint logic problem, constraint satisfaction prob-lem) is given in this step.

Page 24: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

24

Optimization Model Constructor – Objective Identification

3.Ontology-based Optimization Modeling Tool using

SWCL

Fig. 7. Screenshot of Objective View

Page 25: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

25

Constraint04

Constraint03

Constraint01

Constraint06Constraint02

Constraint05

Objective

After objective identified based on classes and properties from Ontology,the constraints related to the objective should be identified automatically.

Constraint07

Constraint08

Optimization Model Constructor – Constraint Identification

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 26: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

26

initialize decision variable factors set emptyinitialize relevant factors set emptyinitialize identified constraint set empty

for all Objective TermBlocksfor all Factors

if Factor is “decision variable factor”set {Factor’s class expression, property} as a pairadd the pair to decision variable factors set

endifendfor

endfor

repeatfor all Constraints

for all Factors in Constraintif Factor is exist in decision variables setadd Constraint to identified constraint set

if relevant factors in the Constraint is “decision variable”set {Factor’s class expression, property} as a pairadd the pair to relevant factors set

endifendif

endforendforset decision variable factors set as relevant factors setset relevant factors set empty

until decision variable factors set is empty

Optimization Model Constructor – Constraint Identification

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 27: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

27

a

tionCosthasConsumpationAmounthasConsumpa ..mini-mize

c

bilityroduceCapahasPbtionAmounthasConsumpc ..

Add factor to decision variable factors set

Add to identified con-straints set

2 3

Add to relevant factors set

Set as decision variable factors set, empty relev-ant factors set

4

Repeat until decision variable factors set is empty

5

if factor value is not ex-ist

if the factor exist in decision variable factors set

1

if factor value is not ex-ist

Optimization Model Constructor – Constraint Identification

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 28: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

28

for all individuals in variableif individual has no property value

the individual‘s property value is decision valueendif

endfor

a

tionAmounthasConsumpa.

v1Consump-tion11

Constant Decision Variable

v1Consump-tion12

v1Consumption11.hasConsumptionAmount

factor value exist

Optimization Model Constructor – Decision Variable Identi-

fication

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 29: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

29

Ontology-based Optimization Modeling Tool

IBM Ilog Cplex Optimization Studio

Protégé 4.1

Protégé 4.1 API

OWL API

Optimization Model Con-structor

Constraint Editor

User In-terfaceObjective Identification

Constraint Identification

Decision Variable Identification

Optimization Model Identifica-tion

Optimization Model-ing Language Trans-lator

OWL/SWCL State-ment

OWL/SWCL State-ment

Ilog State-ment

Ilog State-ment

3.Ontology-based Optimization Modeling Tool using

SWCL Architecture of Optimization Modeling

Tool

Page 30: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

30

OWL/SWCL StatementOWL/SWCL Statement

Constraint03

Constraint01 Constraint06

Objective

Constraint02

Ilog State-ment

Ilog State-ment

Optimization Modeling Language Translator

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 31: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

31

initialize VariableDeclaration String to ""initialize ObjectiveTo String to ""

for all Objective TermBlocksinitialize Objective TermBlock String to ""

for all individuals in Parameter for all factors in individual initialize Factor String to "“

if factor's variable has the value in factor's property append the value to Factor String

elsedeclare the variable with property's name appending individual's nameappend the variable to Factor String

endifappend Factor String to Objective TermBlock

endfor endfor append Objective TermBlock String to ObjectiveTo String

endfor

Optimization Modeling Language Translator - Objective

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 32: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

32

v1Consump-tion11

Factor Value (30)

Property Name + Individual Name (hasConsumptionAmountv1Consump-tion11)

Termblock String

Factor String

a

tionCosthasConsumpationAmounthasConsumpa ..mini-mize

v1Consump-tion12

v1Consump-tion44

v1Consumption11.hasConsumptionAmount

v1Consumption11.hasConsumptionCost

factor value exist

Optimization Modeling Language Translator - Objective

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 33: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

33

for all qualifiersinitialize LHS String to ""

for all LHS TermBlocksinitialize LHS TermBlock String to ""

if there is no Parameterfor all factorsinitialize Factor String to ""

if factor's variable has the value in factor's propertyappend the value to Factor String

elsedeclare the variable with property's name appending individual's nameappend the variable to Factor String

endifendforappend Factor String to LHS TermBlock String

elsefor all individuals in Parameter

for all factors in individualinitialize Factor String to ""

if factor's variable has the value in factor's propertyappend the value to Factor String

elsedeclare the variable with property's name appending individual's nameappend the variable to Factor String

endifendfor

endforendifappend LHS TermBlock String to LHS String

endforendfor

Optimization Modeling Language Translator - Constraints

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 34: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

34

WeekwVendorvallfor ,

wVALUEroduceWeekhasPANDvVALUEtionVendorhasConsumpANDnConsumptioa

wVALUEyWeekhasCapacitANDvVALUEtionVendorhasConsumpANDCapacityb

a

bilityroduceCapahasPbtionAmounthasConsumpa ..

v=v1 v2 v3 v4

w=v1Week1 v1Week2 v1Week3 v1Week4

v1Consump-tion11

Termblock String

v1Consump-tion12

v1Consump-tion14…

Factor Value Property Name + Individual Name

Factor Stringv1Consumption11.hasConsumptionA

mount

factor value exist check declared variables, if not exist

Optimization Modeling Language Translator - Constraints

3.Ontology-based Optimization Modeling Tool using

SWCL

Page 35: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

35

1.Introduction

2. Related Works

3. Ontology-based Optimization Modeling Tool using SWCL

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

4.1. Virtual Enterprise problem4.2. Constraints sharing among vendors4.3. Virtual Enterprise Ontology Modeling4.4. Optimization Modeling with Optimization Modeling Tool4.5. Translated Ilog code from SWCL4.6. Get optimal objective of VE problem

5. Conclusion

Contents

Page 36: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

36

- Product: PC- BOM (Bill of Material): PC – 2 memories, 1 CPU- PC demands: 1st week: 30, 2nd week: 20, 3rd week: 35, 4th week: 40

Virtual Enterprise

- Virtual Enterprise (VE) is a temporary alliance of companies that shares resources to respond to business opportunities better. Obtaining an op-timal production schedule for a VE’s supply chain is usually the most im-portant factor for its success.

Virtual Enterprise Problem

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Fig. 4. Virtual Enterprise

Page 37: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

37

Vendor 1(Memory Ven-

dor)

Vendor 3(CPU Vendor)

Vendor 4(Assembly Vendor)

Capacity(Week1)

90대 70대 50대

Capacity(Week2)

80대 80대 60대

Capacity(Week3)

90대 75대 65대

Capacity(Week4)

90대 70대 50대

Own Demand(Week1)

20대 0대 0대

Own Demand(Week2)

0대 10대 20대

Own Demand(Week3)

10대 0대 10대

Own Demand(Week4)

0대 10대 0대

Production Cost

50$/대 70$/대 30$/대

Inventory Cost 5$/대 5$/대 10$/대Fig. 8. Virtual Enterprise Prob-lem

Virtual Enterprise Problem

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Page 38: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

38

Constraint-1: Producing amount should less or equal than the produce capabil-ity in that week.

computermemorycpupallforandkiforCapacityx pik

ij

pijk ,,4,3,2,14,3,2,1

4

Constraint-2: Demand in the week should less or equal than the sum of spend-ing amount.

pallforandkjforxVeDemandOwnDemandj

i

pijk

pjk

pjk 4,3,2,14,3,2,1

1

Constraint-3: The demand of CPU vendors should greater or equal to as-sembly company’s producing amount.

4

43 4,3,2,1ij

computorij

cpui iforxVeDemand

:Prodout p produced at i-th week and comsumed at j-th week by k-th

company

:The maximum production capacity at i-th week of k-th company

for p

:Own demand at i-th week of k-th company for p

:Virtual Enterprise demant at i-th week of k-th company for p

pijkx

pikCapacity

pikOwnDemand

pikVeDemand

Constraints sharing among vendors

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Page 39: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

39

Constraint-4: The demand of Memory vendors should greater or equal to two times of assembly company’s producing amount.

4

4

2

1

4,3,2,12ij

computorij

k

memoryik iforxVeDemand

Total Cost

computermemcpu TCTCTCTC

4

1 1

4

2

1

13333 )(

i

i

j j

j

i

cpuij

cpucpuij

cpucpu xijVxCTC

2

1

4

1 1

4

2

1

1

])([k i

i

j j

j

i

memijk

memk

memijk

memkmem xijVxCTC

4

1 1

4

2

1

14444 )(

i

i

j j

j

i

computerij

computercomputerij

computercomputer xijVxCTC

:Unit production cost of p-th product in k-th company

:Unit inventory cost per week of p-th product in k-th company

pkCp

kV

Constraints sharing among vendors

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Page 40: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

40

Inverse Properties:hasConsumptionVendor↔hasConsumptionhasDemandVendor↔hasDemandhasCapacityVendor↔hasCapacityhasDemandWeek↔hasDemandhasSpendWeek↔hasSpendConsumptionhasProduceWeek↔hasProduceConsumption

Consumption

Capacity

Demand

Vendor Week

int int

int

int int

MemoryVen-dor

CPUVendor

Assem-blyVendor

subClassOf

subClassOf

subClassOf

hasDemandVendor

hasCapaci-tyVendor

hasConsumption-Vendor

hasProduce-Week

hasCapacity-Week

hasOwnDemand hasVeDemand

hasDemandWeek

hasProduceCapa-bility

hasConsumption-Cost

hasConsumption-Amount

hasSpendWeek

Virtual Enterprise Ontology Modeling

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Page 41: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

41

Constraint-1: Producing amount should less or equal than the produce capabil-ity in that week.

WeekwVendorvallfor ,

wVALUEroduceWeekhasPANDvVALUEtionVendorhasConsumpANDnConsumptioa

wVALUEyWeekhasCapacitANDvVALUEtionVendorhasConsumpANDCapacityb

Constraint-2: Demand in the week should less or equal than the sum of spending amount.

wVALUEeekhasDemandWANDvVALUEendorhasDemandVANDDemandc

d

tionAmounthasConsumpddhasVeDemancndhasOwnDemac ...

a

bilityroduceCapahasPbtionAmounthasConsumpa ..

WeekwVendorvallfor ,

wVALUEekhasSpendWeANDvVALUEtionVendorhasConsumpANDnConsumptiod

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Constraints sharing among vendors

Page 42: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

42

Constraint-3: The demand of CPU vendors should greater or equal to assembly company’s producing amount.

Constraint-4: The sum of demands of memory vendors should greater or equal to assembly company’s producing amount.

ndorAssemblyVezWeekwallfor ,

fk

tionAmounthasConsumpfdhasVeDemank ..

wVALUEroduceWeekhasPANDzVALUEtionVendorhasConsumpANDnConsumptiof

ndorAssemblyVezWeekwallfor ,

fq

tionAmounthasConsumpfdhasVeDemanq .2.

weekhasDemandWANDeVALUEendorhasDemandVANDDemandk

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Constraints sharing among vendors

weekhasDemandWANDgVALUEendorhasDemandVANDDemandq

CPUVendore

orMemoryVendg

Page 43: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

43

i

tionCosthasConsumpitionAmounthasConsumpi ..mini-mize

Objective: Minimize the total cost of all vendors

nConsumptioiallfor

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Objective from user

Page 44: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

44

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Optimization Modeling with Optimization Modeling Tool

Page 45: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

45

Optimization Modeling with Optimization Modeling Tool

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise

Page 46: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

46

Virtual Enterprise with Memory Vendor 1

Semantic Web

MemVendor1 CPUVendor

AssemblyVendor

constraint

constraintconstraint

Page 47: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

47

dvar int+ hasConsumptionAmountv1Consumption11;dvar int+ hasConsumptionAmountv1Consumption12;dvar int+ hasConsumptionAmountv1Consumption13;dvar int+ hasConsumptionAmountv1Consumption14;; … …

minimize50*hasConsumptionAmountv1Consumption11+55*hasConsumptionAmountv1Consumption12+…+30*hasConsumptionAmountv4Consumption44;

subject to { hasConsumptionAmountv1Consumption11+hasConsumptionAmountv1Consumption12+hasConsumptionAmountv1Consumption13+hasConsumptionAmountv1Consumption14<=90;

hasConsumptionAmountv1Consumption23+hasConsumptionAmountv1Consumption24+hasConsumptionAmountv1Consumption22<=80; hasConsumptionAmountv1Consumption33+hasConsumptionAmountv1Consumption34<=90; hasConsumptionAmountv1Consumption44<=90;

hasConsumptionAmountv3Consumption11+hasConsumptionAmountv3Consumption14+hasConsumptionAmountv3Consumption12+hasConsumptionAmountv3Consumption13<=70;

hasConsumptionAmountv3Consumption22+hasConsumptionAmountv3Consumption23+hasConsumptionAmountv3Consumption24<=80; hasConsumptionAmountv3Consumption33+hasConsumptionAmountv3Consumption34<=75; hasConsumptionAmountv3Consumption44<=70;

… …… … }

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Translated Ilog code from SWCL

Page 48: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

48

hasConsumptionAmountv1Consump-tion11 = 90;hasConsumptionAmountv1Consump-tion12 = 0;hasConsumptionAmountv1Consump-tion13 = 0;hasConsumptionAmountv1Consump-tion14 = 0;hasConsumptionAmountv1Consump-tion22 = 70;hasConsumptionAmountv1Consump-tion23 = 10;hasConsumptionAmountv1Consump-tion24 = 0;hasConsumptionAmountv1Consump-tion33 = 90;hasConsumptionAmountv1Consump-tion34 = 0;hasConsumptionAmountv1Consump-tion44 = 80;hasConsumptionAmountv3Consump-tion11 = 35;hasConsumptionAmountv3Consump-tion12 = 0;hasConsumptionAmountv3Consump-tion13 = 0;hasConsumptionAmountv3Consump-tion14 = 0;hasConsumptionAmountv3Consump-tion22 = 45;hasConsumptionAmountv3Consump-tion23 = 0;hasConsumptionAmountv3Consump-tion24 = 0;hasConsumptionAmountv3Consump-tion33 = 45;hasConsumptionAmountv3Consump-tion34 = 0;hasConsumptionAmountv3Consump-tion44 = 50;hasConsumptionAmountv4Consump-tion11 = 30;hasConsumptionAmountv4Consump-tion12 = 5;hasConsumptionAmountv4Consump-tion13 = 0;hasConsumptionAmountv4Consump-tion14 = 0;

hasConsumptionAmountv4Consumption22 = 35;hasConsumptionAmountv4Consumption23 = 0;hasConsumptionAmountv4Consumption24 = 0;hasConsumptionAmountv4Consumption33 = 45;hasConsumptionAmountv4Consumption34 = 0;hasConsumptionAmountv4Consumption44 = 40;hasVeDemandv1DemandWeek1 = 70;hasVeDemandv1DemandWeek2 = 70;hasVeDemandv1DemandWeek3 = 90;hasVeDemandv1DemandWeek4 = 80;hasVeDemandv3DemandWeek1 = 35;hasVeDemandv3DemandWeek2 = 35;hasVeDemandv3DemandWeek3 = 45;hasVeDemandv3DemandWeek4 = 40;

Solution (optimal) with objective 34000

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Get optimal objective of VE problem

Page 49: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

49

Semantic Web

MemVendor1 CPUVendor

AssemblyVendor

MemVendor2

Virtual Enterprise with Memory Vendor 1,2

Vendor 2(Memory Ven-

dor)

90대

100대

90대

85대

10대

10대

0대

0대

40$/대

10$/대

constraint

constraint

constraint

constraint

Page 50: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

50

dvar int+ hasConsumptionAmountv1Consumption11;dvar int+ hasConsumptionAmountv1Consumption12;dvar int+ hasConsumptionAmountv1Consumption13;dvar int+ hasConsumptionAmountv1Consumption14;; … …

minimize50*hasConsumptionAmountv1Consumption11+55*hasConsumptionAmountv1Consumption12+…+30*hasConsumptionAmountv4Consumption44;

subject to { hasConsumptionAmountv1Consumption11+hasConsumptionAmountv1Consumption12+hasConsumptionAmountv1Consumption13+hasConsumptionAmountv1Consumption14<=90;

hasConsumptionAmountv1Consumption23+hasConsumptionAmountv1Consumption24+hasConsumptionAmountv1Consumption22<=80; hasConsumptionAmountv1Consumption33+hasConsumptionAmountv1Consumption34<=90; hasConsumptionAmountv1Consumption44<=90;

hasConsumptionAmountv2Consumption14+hasConsumptionAmountv2Consumption13+hasConsumptionAmountv2Consumption12+hasConsumptionAmountv2Consumption11<=90;

hasConsumptionAmountv2Consumption23+hasConsumptionAmountv2Consumption22+hasConsumptionAmountv2Consumption24<=100; hasConsumptionAmountv2Consumption34+hasConsumptionAmountv2Consumption33<=90; hasConsumptionAmountv2Consumption44<=85;

… …… …

}

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Translated Ilog code from SWCL

Page 51: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

51

hasConsumptionAmountv1Consump-tion11 = 20;hasConsumptionAmountv1Consump-tion12 = 0;hasConsumptionAmountv1Consump-tion13 = 0;hasConsumptionAmountv1Consump-tion14 = 0;hasConsumptionAmountv1Consump-tion22 = 0;hasConsumptionAmountv1Consump-tion23 = 0;hasConsumptionAmountv1Consump-tion24 = 0;hasConsumptionAmountv1Consump-tion33 = 10;hasConsumptionAmountv1Consump-tion34 = 0;hasConsumptionAmountv1Consump-tion44 = 0;hasConsumptionAmountv2Consump-tion11 = 70;hasConsumptionAmountv2Consump-tion12 = 0;hasConsumptionAmountv2Consump-tion13 = 0;hasConsumptionAmountv2Consump-tion14 = 0;hasConsumptionAmountv2Consump-tion22 = 90;hasConsumptionAmountv2Consump-tion23 = 0;hasConsumptionAmountv2Consump-tion24 = 0;hasConsumptionAmountv2Consump-tion33 = 90;hasConsumptionAmountv2Consump-tion34 = 0;hasConsumptionAmountv2Consump-tion44 = 80;hasConsumptionAmountv3Consump-tion11 = 30;hasConsumptionAmountv3Consump-tion12 = 0;hasConsumptionAmountv3Consump-tion13 = 0;hasConsumptionAmountv3Consump-tion14 = 0;hasConsumptionAmountv3Consump-tion22 = 50;hasConsumptionAmountv3Consump-tion23 = 0;hasConsumptionAmountv3Consump-tion24 = 0;

hasConsumptionAmountv3Consumption33 = 45;hasConsumptionAmountv3Consumption34 = 0;hasConsumptionAmountv3Consumption44 = 50;hasConsumptionAmountv4Consumption11 = 30;hasConsumptionAmountv4Consumption12 = 0;hasConsumptionAmountv4Consumption13 = 0;hasConsumptionAmountv4Consumption14 = 0;hasConsumptionAmountv4Consumption22 = 40;hasConsumptionAmountv4Consumption23 = 0;hasConsumptionAmountv4Consumption24 = 0;hasConsumptionAmountv4Consumption33 = 45;hasConsumptionAmountv4Consumption34 = 0;hasConsumptionAmountv4Consumption44 = 40;hasVeDemandv1DemandWeek1 = 0;hasVeDemandv1DemandWeek2 = 0;hasVeDemandv1DemandWeek3 = 0;hasVeDemandv1DemandWeek4 = 0;hasVeDemandv2DemandWeek1 = 60;hasVeDemandv2DemandWeek2 = 80;hasVeDemandv2DemandWeek3 = 90;hasVeDemandv2DemandWeek4 = 80;hasVeDemandv3DemandWeek1 = 30;hasVeDemandv3DemandWeek2 = 40;hasVeDemandv3DemandWeek3 = 45;hasVeDemandv3DemandWeek4 = 40;

Solution (optimal) with objective 31600 . It’s better working with MemVendor2

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Get optimal objective of VE problem

Page 52: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

52

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Get minimal cost for vendor 1

m

tionCosthasConsumpmtionAmounthasConsumpm ..mini-mize

nConsumptioVmallfor 1

Page 53: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

53

dvar int+ hasConsumptionAmountv1Consumption11;dvar int+ hasConsumptionAmountv1Consumption12;dvar int+ hasConsumptionAmountv1Consumption13;dvar int+ hasConsumptionAmountv1Consumption14;; … …

minimize50*hasConsumptionAmountv1Consumption11+55*hasConsumptionAmountv1Consumption12+…+50*hasConsumptionAmountv1Consumption44;

subject to { hasConsumptionAmountv1Consumption11+hasConsumptionAmountv1Consumption12+hasConsumptionAmountv1Consumption13+hasConsumptionAmountv1Consumption14<=90;

hasConsumptionAmountv1Consumption23+hasConsumptionAmountv1Consumption24+hasConsumptionAmountv1Consumption22<=80; hasConsumptionAmountv1Consumption33+hasConsumptionAmountv1Consumption34<=90; hasConsumptionAmountv1Consumption44<=90;

hasConsumptionAmountv2Consumption14+hasConsumptionAmountv2Consumption13+hasConsumptionAmountv2Consumption12+hasConsumptionAmountv2Consumption11<=90;

hasConsumptionAmountv2Consumption23+hasConsumptionAmountv2Consumption22+hasConsumptionAmountv2Consumption24<=100; hasConsumptionAmountv2Consumption34+hasConsumptionAmountv2Consumption33<=90; hasConsumptionAmountv2Consumption44<=85;

… …… …

}

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Translated Ilog code from SWCL

Page 54: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

54

hasConsumptionAmountv1Consump-tion11 = 20;hasConsumptionAmountv1Consump-tion12 = 0;hasConsumptionAmountv1Consump-tion14 = 0;hasConsumptionAmountv1Consump-tion22 = 0;hasConsumptionAmountv1Consump-tion23 = 0;hasConsumptionAmountv1Consump-tion24 = 0;hasConsumptionAmountv1Consump-tion33 = 0;hasConsumptionAmountv1Consump-tion34 = 0;hasConsumptionAmountv1Consump-tion44 = 0;hasConsumptionAmountv1Consump-tion13 = 70;hasConsumptionAmountv2Consump-tion14 = 0;hasConsumptionAmountv2Consump-tion13 = 0;hasConsumptionAmountv2Consump-tion12 = 80;hasConsumptionAmountv2Consump-tion11 = 10;hasConsumptionAmountv2Consump-tion23 = 0;hasConsumptionAmountv2Consump-tion22 = 100;hasConsumptionAmountv2Consump-tion24 = 0;hasConsumptionAmountv2Consump-tion34 = 90;hasConsumptionAmountv2Consump-tion33 = 0;hasConsumptionAmountv2Consump-tion44 = 85;hasConsumptionAmountv3Consump-tion11 = 0;hasConsumptionAmountv3Consump-tion14 = 0;hasConsumptionAmountv3Consump-tion12 = 70;hasConsumptionAmountv3Consump-tion13 = 0;hasConsumptionAmountv3Consump-tion22 = 80;hasConsumptionAmountv3Consump-tion23 = 0;hasConsumptionAmountv3Consump-tion24 = 0;

hasConsumptionAmountv3Consumption33 = 75;hasConsumptionAmountv3Consumption34 = 0;hasConsumptionAmountv3Consumption44 = 70;hasConsumptionAmountv4Consumption12 = 0;hasConsumptionAmountv4Consumption11 = 30;hasConsumptionAmountv4Consumption14 = 20;hasConsumptionAmountv4Consumption13 = 0;hasConsumptionAmountv4Consumption24 = 0;hasConsumptionAmountv4Consumption22 = 40;hasConsumptionAmountv4Consumption23 = 20;hasConsumptionAmountv4Consumption33 = 65;hasConsumptionAmountv4Consumption34 = 0;hasConsumptionAmountv4Consumption44 = 50;hasVeDemandv1DemandWeek1 = 0;hasVeDemandv1DemandWeek2 = 0;hasVeDemandv1DemandWeek3 = 0;hasVeDemandv1DemandWeek4 = 0;hasVeDemandv2DemandWeek1 = 0;hasVeDemandv2DemandWeek2 = 0;hasVeDemandv2DemandWeek3 = 0;hasVeDemandv2DemandWeek4 = 0;hasVeDemandv3DemandWeek1 = 0;hasVeDemandv3DemandWeek2 = 0;hasVeDemandv3DemandWeek3 = 0;hasVeDemandv3DemandWeek4 = 0;

Solution (optimal) with objective 1000.

4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-

prise Get optimal objective of vendor 1

Page 55: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

55

1.Introduction

2. Related Works

3. Ontology-based Optimization Modeling Tool using SWCL

4. Applying Ontology-based Optimization Modeling Tool to Vir-tual Enterprise

5. Conclusion

Contents

Page 56: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

56

Develop Optimization Modeling Tool to manipulate SWCL simply.

- Developed as a plug-in in Protégé which could reference classes and properties directly.

- Make the generation process of SWCL straightforward.- CRUD functions have been provided to SWCL.

- Adapting Manchester Syntax to write the domain description con-cisely.

- Develop the algorithm to identify decision variable, constraints related to objective automatically.

- Translation algorithm from optimization modeling language to Ilog code is developed.

5. Conclusion

Page 57: Ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13 Piao Guangyuan

57

Q & A