Configuration and Ecommerce Invited talk IFORS 2002 8

  • Slides: 20
Download presentation
Configuration and E-commerce Invited talk, IFORS 2002 8 -12 July 2002, Edinburgh, Scotland Jesper

Configuration and E-commerce Invited talk, IFORS 2002 8 -12 July 2002, Edinburgh, Scotland Jesper Møller [jm@it. edu] IT University, Denmark [www. it. edu] Config. It [www. configit-software. com]

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint Propagation and Virtual Tabulation • Tool Description: § Config. It • An Example: § The Virtual Bike Shop

Background: Manufacturers of complex products • More and more companies want to sell their

Background: Manufacturers of complex products • More and more companies want to sell their products and services online: § B 2 C: Computers, furniture, bikes, cars, cell phones, insurances, … § B 2 B: 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

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

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

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

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint Propagation and Virtual Tabulation • Tool Description: § Config. It • An Example: § The Virtual Bike Shop

Product Configuration • Product model: § Parameters: x 1, …, xn § Domains: D

Product Configuration • Product model: § Parameters: x 1, …, xn § Domains: D 1, …, Dn § Rules (business logic): R 1, …, 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?

Product Configuration: An Example • Place 8 queens on a chessboard so that no

Product Configuration: An Example • Place 8 queens on a chessboard so that no queen 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 (II)

Product Configuration: An Example (II)

Product Configuration: Constraint Propagation • Whenever a user selects a value for a variable,

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

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

Product Configuration: Virtual Tabulation (II) • Advantages: § Always correct answers § Compact, makes it possible to embed a configurator on small devices such as Smart. Cards, i. Buttons, i. Paqs, 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

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

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint Propagation and Virtual Tabulation • Tool Description: § Config. It • An Example: § The Virtual Bike Shop

Tool Description: Config. It GUI for building product model ERP GUI for test and

Tool Description: Config. It GUI for building product model ERP GUI for test and validation of PM Java/C++/COM API for runtime lookup in VT file

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint

Agenda • Background: § Online sales of complex products • Product Configuration: § Constraint Propagation and Virtual Tabulation • Tool Description: § Config. It • An Example: § The Virtual Bike Shop

An Example: The Virtual Bike Shop The presentation Components: frame, tires, gear, pedals, etc.

An Example: The Virtual Bike Shop The presentation Components: frame, tires, gear, pedals, etc. Properties: frame-size, frame-color, etc. User preferences: height, type of bike

An Example: The Virtual Bike Shop (II) PM has 42 variables, took 2 days

An Example: The Virtual Bike Shop (II) PM has 42 variables, took 2 days to develop 127 million solutions (different bikes) Data extracted from a bike stores’ SQL-DB 1500 entries in Virtual Table (32 Kb)

An Example: The Virtual Bike Shop (III) Use library of COM functions to query

An Example: The Virtual Bike Shop (III) Use library of COM functions to query the Virtual Table Approximately 200 lines of ASP code Took 1– 2 hours to develop To create a drop-down menu: <% web. Controls. Dropdown "Shoes", "Not Selected" %>