210 likes | 380 Views
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 ] ConfigIt [ www.configit-software.com ]. Agenda. Background: Online sales of complex products Product Configuration:
E N D
Configuration and E-commerceInvited talk, IFORS 20028-12 July 2002, Edinburgh, Scotland Jesper Møller[jm@it.edu] 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?
Product Configuration: An Example • Place 8 queens on a chessboard so that no queencan capture another: constant N: 8; variable col: arrayN of[0..N-1]; rule foralli in[0..N-2]: (forallj 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: Constraint Propagation • Whenever a user selects a value for a variable,derive the consequences by propagating thisinformation 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 influenceresponse times • Difficult to reuse computations
Product Configuration: Virtual Tabulation • Compute all solution to the configurationproblem and store them in a virtual table • Virtual table: Compact data structure forrepresenting all solutions implicitly. Decision DAG where nodes are variables,edges are values, and a path = a solution • Size depends on the structureof the productmodel, not the number of solutions • Efficient algorithms for building/querying a VT: • Deciding consistency isO(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 atcompile time • Syntactic formulation of rules does notinfluence 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 theproduct 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 building product model GUI for test and validation of PM Java/C++/COM API for runtime lookup in VT file ERP
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 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 to develop 127 million solutions (different bikes) Data extracted from a bike stores’ SQL-DB 1500 entries in Virtual Table (32Kb)
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:<% webControls.Dropdown "Shoes", "Not Selected" %>