ontology-based optimization modeling tool for distributed and ad-hoc business problems 2012.12.13...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
12
Fig. 2. SWCL structure
yVALUEpartOfx
CountryyallforValuepopulationyValuepopulationx ,..
2. Related works
SWCL (Semantic Web Constraint Lan-
guage)
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
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…
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
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
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
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
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
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é
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
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
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.
24
Optimization Model Constructor – Objective Identification
3.Ontology-based Optimization Modeling Tool using
SWCL
Fig. 7. Screenshot of Objective View
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
44
4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-
prise Optimization Modeling with Optimization Modeling Tool
45
Optimization Modeling with Optimization Modeling Tool
4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-
prise
46
Virtual Enterprise with Memory Vendor 1
Semantic Web
MemVendor1 CPUVendor
AssemblyVendor
constraint
constraintconstraint
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
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
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
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
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
52
4. Applying Ontology-based Optimization Modeling Tool to Virtual Enter-
prise Get minimal cost for vendor 1
m
tionCosthasConsumpmtionAmounthasConsumpm ..mini-mize
nConsumptioVmallfor 1
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
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
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
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
57
Q & A