Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland
description
Transcript of Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland
![Page 1: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/1.jpg)
Configuration and E-commerce
Invited talk, IFORS 20028-12 July 2002, Edinburgh, Scotland
Jesper Møller [[email protected]]
IT University, Denmark [www.it.edu]ConfigIt [www.configit-software.com]
![Page 2: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/2.jpg)
Agenda
• Background: Online sales of complex products
• Product Configuration: Constraint Propagation and Virtual Tabulation
• Tool Description: ConfigIt
• An Example: The Virtual Bike Shop
![Page 3: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/3.jpg)
Background: Manufacturers of complex products
• More and more companies want to sell their products and services online: B2C: Computers, furniture, bikes, cars, cell phones,
insurances, … B2B: A/C systems, refrigeration units, medical
equipment, wells, …• Companies must constantly innovate, shape their core
competences, and improve their ability to operate as suppliers of many product variants built from the same core set of products
• The knowledge describing these products is the core competency of a company, giving raise to focus on how to capture this knowledge
• Companies want to reduce cost of operation and focus on both their products and their customers
![Page 4: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/4.jpg)
Background: Manufacturers of complex products
• Electronic products are increasingly being controlled by embedded software to meet the need for greater flexibility and more customizable features
• Examples are tele-communication equipment programmable controllers for industrial equipment cars, medical equipment, A/C systems, etc.
• This embedded software encapsulates complex interdependencies between the parameters defining the correct operation of the product
• Companies want to deliver flexible electronic products that are easy to set up and use
![Page 5: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/5.jpg)
Background: The customers
• Customers want to buy customized products with more and more features that fulfill their individual needs
• Products should be flexible and customizable even after purchase
• Customers want personalized websites with adaptive GUIs
• Their patience is dropping [Giga Research]: 2001: 10 seconds 2002: 7 seconds 2003: 4 seconds (expected)
![Page 6: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/6.jpg)
Background: The Challenges
• How to deliver the right product for the right customer at the right time using the right presentation?
• How to capture detailed knowledge about the products?• How to maintain product information and manuals? • How to handle many different product variants built
from a core set of products?• How to handle the inter-dependencies between
parameters defining the product and the GUI presentation of the product?
• How to handle many, almost identical versions of the setup software for electronic products?
• How to provide more features and greater flexibility without increasing the complexity of the correct operation of the product?
![Page 7: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/7.jpg)
Agenda
• Background: Online sales of complex products
• Product Configuration: Constraint Propagation and Virtual Tabulation
• Tool Description: ConfigIt
• An Example: The Virtual Bike Shop
![Page 8: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/8.jpg)
Product Configuration
• Product model: Parameters: x1,…,xn
Domains: D1,…,Dn
Rules (business logic): R1,…,Rm
• Solution: Assignment of the parameters such that each rule is satisfied
• Complexity: Deciding consistency of a product model (does it have a solution) is NP-complete
• Product configuration: Is an assignment a solution? Is a partial assignment a solution? What values can be assigned to each variable, given
a partial assignment?
![Page 9: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/9.jpg)
• Place 8 queens on a chessboard so that no queen can capture another:
constant
N: 8;
variable
col: array N of [0..N-1];
rule
forall i in [0..N-2]:
(forall j in [i+1..N-1] :
(col[i] <> col[j] and
i+col[i] <> j+col[j] and
i+col[j] <> j+col[i]);
Product Configuration: An Example
![Page 10: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/10.jpg)
Product Configuration: An Example (II)
![Page 11: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/11.jpg)
Product Configuration: Constraint Propagation
• Whenever a user selects a value for a variable, derive the consequences by propagating this information through the rules
• Disadvantages: Response times may be too large, or only
approximate solutions can be found All work is done at runtime Syntactic formulation of rules may influence
response times Difficult to reuse computations
![Page 12: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/12.jpg)
Product Configuration: Virtual Tabulation
• Compute all solution to the configuration problem and store them in a virtual table
• Virtual table: Compact data structure for representing all solutions implicitly. Decision DAG where nodes are variables, edges are values, and a path = a solution
• Size depends on the structure of the product model, not the number of solutions
• Efficient algorithms for building/querying a VT: Deciding consistency is O(1) Determinig the legal values for xi is O(|Di| + |VT|)
![Page 13: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/13.jpg)
Product Configuration: Virtual Tabulation (II)
• Advantages: Always correct answers Compact, makes it possible to embed a configurator
on small devices such as SmartCards, iButtons, iPaqs, etc.
Predictable, bounded response times All work is done at compile time The number of solutions is known Rules and other data need only be available at
compile time Syntactic formulation of rules does not influence the
size of the virtual table
![Page 14: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/14.jpg)
Product Configuration: Virtual Tabulation (III)
• Disadvantages: Only finite domains, no real-valued variables Relatively simple rules: plus, minus, comparison,
and, or, not, if-then-else Virtual table must be recompiled whenever the
product model changes Most product models have compact virtual tables,
but some don’t
![Page 15: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/15.jpg)
Agenda
• Background: Online sales of complex products
• Product Configuration: Constraint Propagation and Virtual Tabulation
• Tool Description: ConfigIt
• An Example: The Virtual Bike Shop
![Page 16: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/16.jpg)
Tool Description: ConfigIt
GUI for buildingproduct model
Java/C++/COM API forruntime lookup in VT file
ERP
GUI for test andvalidation of PM
![Page 17: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/17.jpg)
Agenda
• Background: Online sales of complex products
• Product Configuration: Constraint Propagation and Virtual Tabulation
• Tool Description: ConfigIt
• An Example: The Virtual Bike Shop
![Page 18: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/18.jpg)
An Example: The Virtual Bike Shop
User preferences: height, type of bike
The presentation
Components: frame, tires, gear, pedals, etc.
Properties: frame-size, frame-color, etc.
![Page 19: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/19.jpg)
An Example: The Virtual Bike Shop (II)
Data extracted from a bike stores’ SQL-DB
PM has 42 variables, took 2 days to develop
127 million solutions (different bikes)
1500 entries in Virtual Table (32Kb)
![Page 20: Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland](https://reader035.fdocuments.net/reader035/viewer/2022070416/56815170550346895dbfa48d/html5/thumbnails/20.jpg)
An Example: The Virtual Bike Shop (III)
Took 1–2 hours to develop
Approximately 200 lines of ASP code
To create a drop-down menu: <% webControls.Dropdown "Shoes", "Not Selected" %>
Use library of COM functions to query the Virtual Table