configuration and e-commerce invited talk, ifors 2002 8-12 july 2002, edinburgh, scotland jesper...

20
Configuration and E-commerce Invited talk, IFORS 2002 8-12 July 2002, Edinburgh, Scotland Jesper Møller [[email protected]] IT University, Denmark [www.it.edu] ConfigIt [www.configit-software.com]

Upload: kelley-hodges

Post on 26-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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]

Agenda

• Background: Online sales of complex products

• Product Configuration: Constraint Propagation and Virtual Tabulation

• Tool Description: ConfigIt

• An Example: The Virtual Bike Shop

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

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

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)

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?

Agenda

• Background: Online sales of complex products

• Product Configuration: Constraint Propagation and Virtual Tabulation

• Tool Description: ConfigIt

• An Example: The Virtual Bike Shop

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?

• 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

Product Configuration: An Example (II)

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

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

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

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

Agenda

• Background: Online sales of complex products

• Product Configuration: Constraint Propagation and Virtual Tabulation

• Tool Description: ConfigIt

• An Example: The Virtual Bike Shop

Tool Description: ConfigIt

GUI for buildingproduct model

Java/C++/COM API forruntime lookup in VT file

ERP

GUI for test andvalidation of PM

Agenda

• Background: Online sales of complex products

• Product Configuration: Constraint Propagation and Virtual Tabulation

• Tool Description: ConfigIt

• An Example: The Virtual Bike Shop

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.

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)

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