`
`(cid:3) (cid:55)(cid:75)(cid:76)(cid:86)(cid:3)(cid:80)(cid:68)(cid:87)(cid:72)(cid:85)(cid:76)(cid:68)(cid:79)(cid:3)(cid:80)(cid:68)(cid:92)(cid:3)(cid:69)(cid:72)(cid:3)(cid:83)(cid:85)(cid:82)(cid:87)(cid:72)(cid:70)(cid:87)(cid:72)(cid:71)(cid:3)(cid:69)(cid:92)(cid:3)(cid:38)(cid:82)(cid:83)(cid:92)(cid:85)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3)(cid:79)(cid:68)(cid:90)(cid:3)(cid:11)(cid:55)(cid:76)(cid:87)(cid:79)(cid:72)(cid:3)(cid:20)(cid:26)(cid:3)(cid:56)(cid:17)(cid:54)(cid:17)(cid:3)(cid:38)(cid:82)(cid:71)(cid:72)(cid:12)(cid:3)
`This material may be protected by Copyright law (Title 17 U.S. Code)
`
`
`
`4
`
`A Configuration Tool to
`Increase Product
`Competitiveness
`
`Bei Yu and Hans Jorgen Skovgaard, Baan Front Office Systems
`
`
`
`nance well enough. Althoughseveralthe-
`
`Many COMPANIES NOWADAYS
`
`must rapidly develop and deliver products
`and productvariants in a short time to meet
`increased customer demandsandstiffer prod-
`uct competition, Product configuration (de-
`termining a set of components andtheir rela-
`tionships, and composing them into a product
`that satisfies customer requirements and
`design constraints) therefore faces the prob-
`lem of quickly providing these variants with-
`out incurring high costs.
`:
`However, modern products have become
`increasingly complicated, incorporating many
`different technologies. Incorrect configura-
`tion solutions will inevitably require correc-
`tions and lead to high costs. So, product con-
`figuration also faces the challenge of de-
`livering a solutionthatis rightthe first time.
`Current configuration tools have not met
`these challenges, for three main reasons:
`
`e They can’t handle product complexity
`well enough. Complicated productstruc-
`tures with numerousrelationships lead to
`the hard configuration problems. Noreal
`solutions exist yet for these problems—
`that is, no approach to product configu-
`ration can significantly decrease product
`complexity.
`e They can’t support configuration mainte-
`
`customization—thatis, product configuration
`
`oretical approachesare available, they are
`impractical, becauseof the limitations of
`time, computer speed, memory,and so on.
`® They can’t maintain product knowledge
`well enough. Some maintenance tech-
`niquesin existing configuration toolsare
`also expensive and time-consuming.
`
`The salesPLUS! tool can handle the com-
`
`plexities of product configuration, with highly
`efficient inference-engine performance and
`application maintainability. This commercial
`Al-based system effectively and intuitively
`models and configures products. It effectively
`produces and maintainsconsistent, accurate
`configurations that meet customer demands
`while significantly reducing costs.
`
`The salesPLUS system
`
`salesPLUSis based on the concept of mass
`
`THE SALESPLUS PRODUCT-CONFIGURATION TOOL
`
`EFFECTIVELY SOLVES COMPLEX CONFIGURATION PROBLEMS,
`REDUCING COSTS WHILE MEETING CUSTOMER EXPECTATIONS
`
`a
`
`IN REAL-WORLD APPLICATIONS.
`
`
`
`generates customized solutions based on a
`standard productor product model.” It adopts
`the computer-support-assistant philosophy:
`it is an assistantinteracting with the user.* The
`goal of using an AJ-based approach was not
`superior performance, becausethe algorith-
`mic system starts out from a precompiled rep-
`resentation and is, as expected, several times
`faster, but maintenance savings.* The main
`objectives of salesPLUSare to
`
`e
`
`ensure configuration correctness—thatis,
`100% accuracy on the valid configuration
`solutions;
`e develop an effective approach for han-
`dling configuration consistency;
`e handle configuration constraints;
`e overcome the limitations of product-
`knowledge maintainability; and
`support the whole developmentof a con-
`figuration application—thatis, product
`modeling and configuration—without
`requiring programming skill.
`
`®
`
`
`
`34
`
`1094-7167/98/$ 10.00 © 1998 IEEE IEEEINTELLIGENTsia
`
`CONFIGIT 1006
`
`CONFIGIT 1006
`
`1
`
`
`
`
`
`
`
`
`
`Product information
`
`Final product to be sold
`
`Modeling Product model
`
`
`a
`of
`Configuration
`
`Figure 1. The configuration-design process.
`
`Types of objects. As part of the selection
`process during configuration, an object might
`involve an option thatis yes or no, is a fixed
`number, or is an interval. Or, it might have a
`list of options where none,one,at least one,
`or several of the options must be picked.
`Accordingly, objects fall into these types:
`
`e Single objects have no fixedrelations
`or multiple instances. These objects have
`a selection option of yes or no.
`® Enum objects can be enumerated and
`stated in a range—for example,[0..32].
`e Interval objects let you can divide a
`numeric range into a fumber of consec-
`utive nonoverlapping subintervals. With
`these objects, you can reason about the
`interval, not the exact value.
`® OneOf objects have mutually exclusive
`elements. They are used to groupa set of
`components from which one must be
`selected.
`‘
`® AtMostOne objects let you select one
`elementat most. Otherwise, they are sim-
`ilar to OneOEF objects.
`e AnyOf objects let you select no elements
`
`or several elements at a time. They are
`typically used when you havea set of
`options that can be selected individually.
`AnyOf objects are usually used in rather
`compact presentations or for a logical
`grouping of items in the product model.
`® Timeobjects resemble Single objects.
`The only difference'is that
`they are
`FALSEuntil a specified activation time,
`after which time they obtain the value
`TRUE. You can use Time objects, for
`example, to compensate for the asyn-
`chronous aspect of product events and
`product modelreleases.
`Info objects support textual informa-
`tion. The text passes information on the
`product or some componentsto the user.
`
`e
`
`Constraints. In salesPLUS,the relationships
`between objects in the product model, as well
`as design requirements,are constraints. The
`constraints deal with only the contents of the
`product model problem,not the computa-
`tional aspects. Thus, they deal only with stat-
`ing the problem,not programmingthe solu-
`tion. There are three kinds of constraints:
`
`
`
`For the whole life cycle of product de-
`velopment, configuration consists of two
`aspects: configuration design and configu-
`ration maintenance.” Configuration design
`deals with creating configuration solutions;
`itinvolvesselecting elements and the ways of
`configuring them. Configuration mainte~-
`nance deals with maintaining a consistent
`configuration under change;this involves the
`consistency amongthe selected elements and
`decisions. When a decisionfor selected ele-
`ments changes, configuration maintenance
`rusttrace all the decisionsthat are related
`to the changed decision and revise them,if
`necessary, to maintain consistency among the
`elements and decisions.
`salesPLUSdivides configuration design
`into two stages: product modeling and con-
`figuration (see Figure 1). The product-
`modeling stage defines the product model
`and the classification (assortment) of prod-
`ucts and parts by meansofthe objects, prop-
`erties, allowable property domain, and con-
`straints. The configuration stage creates a
`specific product instance or variant based on
`that model. This configuration solution can
`be represented as a productspecification, a
`sales order, or a partslist or bill of materials.
`salesPLUS incorporates configuration
`maintenance into the product-modeling and
`configuration stages. For configuration main-
`tenance,the systems uses a constraint-based
`approachthat involves fewer, moreintuitive
`constraints. It performs problem-solving to
`ensure that configuration is consistent and
`correct.
`
`Figure 2 gives a scenario for product con-
`figuration in salesPLUS. First, based on
`product
`information, salesPLUS creates
`product models. Then, through computer
`compilation, the system prepares the prod-
`uct models for configuration. Next, sales-
`PLUShelps the end user, who might be a
`designer, a sales engineer, or even a cus-
`tomer, make decisions on configuration
`details. Finally, it generates the configuration
`solutions.
`
`
`
`Seeey End-user application-Web
`
`
`
`
`
` User
`selections
`
`
` pe” End-user
`
`application-PC
`
` Product
`
`models
`
`
`
` End-user application—Customized
`
`Product modeling. A product modelincor-
`porates all the information that represents
`products or services. This information is
`encapsulated in objects, which involve re-
`Sources and constraints. A model can consist
`of several submodels; for example, a train
`consists of several cars. Objects might vary
`from physical parts (such as a screw), to sub-
`assemblies (for example, a speaker), to whole
`Figure 2. A configuration scenarioin salesPLUS.
`products (perhapsa car radio system).
`
` JULY/AUGUST 1998
`35
`
`2
`
`
`
`
`
`structures or additional information.
`
`inevitable. In salesPLUS, a user can change
`his or her decisions without worrying about
`the configuration’s consistency.
`
`System architecture. salesPLUSconsists of
`four primary modules (see Figure 3).
`The Definer generates a product model
`that declares the relationships between ele-
`ments and constraints. With the Definer,
`modeling engineers model a product by
`meansof a set of objects with constraints. It
`has facilities for checking the model’s con-
`sistency, for simulating and running the end-
`user application, and for creating the inter-
`face for carrying out configuration.
`The Customizer carries out configuration
`based on the product model. This processis
`interactive, to satisfy specific customer needs
`and requirements.-The result of the user’s
`selections and the system’s subsequent con-
`clusionsis a specific configuration soluticn.
`Solutions can be printed, saved, or exported
`to other product-developmenttools.
`The Kernel holds an internal representa-
`tion of the product models and contains the
`heart of the system: the inference engine,
`which ensures configuration consistency and
`correctness. We’ll discuss the engine in more
`detail in the next section.
`The salesPLUS API (application pro-
`gramminginterface) links application-inter-
`face modules such as the Definer and Cus-
`
`
`IEEE INTELLIGENT SYSTEMS
`which vary per country. Database links can be used as references for complex pricing
`changesof previous choices are typical and
`
`logic constraints, arithmetic constraints, and
`warning constraints.
`Logic constraints control the combination
`of objects, thus stating which selections are
`legal and whichare illegal. The operators
`allowedare the classical ones from proposi-
`tional logic, with the traditional operator
`hierarchy: NOT, AND, OR | XOR, and >
`(implication) | < (bi-implication). The con-
`stants TRUE and FALSEcanalso be used.
`The system also allows many special opera-
`tors having a comma-separatedlist of vari-
`ables as arguments. Such operators are short-
`hand for complicated logic expressions:
`
`e Allequal (The elements must be either
`all TRUEor all FALSE.)
`® OneOf (There must be exactly one TRUE
`element.)
`e AtMostoOne(There mustat most be one
`TRUEelement.)
`e AtLeastOne (There mustat least be
`one TRUEelement.)
`Impossible (The elements cannotall
`be TRUE.)
`
`e
`
`set physical
`constraints
`Arithmetic
`(numerical) limits—for example, for deter-
`mining the power supply or the length of a
`train car. The operators allowedare the clas-
`sical ones from mathematics, + (addition), —
`(subtraction), and * (multiplication); and one
`of these comparison operators: == (equal
`[compare]), >= (greater than or equal to), <=
`(less than or equal to), > (greater than), or <
`(less than).
`Warning constraints can be violated with-
`out being fatal to the product configuration.
`Their violation meansthat you are in a very
`special situation and must be careful. For
`example, a computer has no network con-
`nection but still works. However, in most
`cases, the computer must be able to commu-
`nicate with other computer systems.
`
`Resources. An object may have a number
`of references, as basic data, to other data
`relations, business rules, and graphical] user
`interface elements. These references are
`resources.
`
`Some objects are measured by quantity,
`which can be assessed. Typical resources for
`such objects are product price, manufactur-
`ing cost, power, space, and delivery time.
`Resourcesare typically referenced in exter-
`nal tables, fixed or online, because they
`change often—for example, price lists,
`
`36
`
`Product modulization. This methodology has
`recently become a hot topic in research and
`practice. As a configuration-support tool,
`salesPLUS supports modulization of prod-
`ucts into models and submodels. Engineers
`can work separately on the submodels. These
`submodels can then be linked into a whole
`product model. This is importantfor an inte-
`grated development environment; moduliz-
`ing a large product into manageable modules
`can reduce product complexity.
`
`The configuration process. During config-
`uration, salesPLUS makesa series of selec-
`tions based on the customer and design
`requirements, and maintains consistency
`betweenthe selected elements and decisions.
`Somesignificant features of this process are
`
`Order-free selection. Unlike a decision-tree-
`based configuration, configuration decision
`making in salesPLUSis order-free. In other
`words, the user can start from anyselection,
`in any order. This feature gives the usera lot
`of freedom to carry out configuration, com-
`pared to decision-tree or specific selection-
`dependencyrules.
`
`Limits. Resources can be given upper and
`lower limits during configuration. This fea-
`ture lets the end user focus on needs (behav-
`iors and performance), rather than onselect-
`ing objects.
`
`Optimization. salesPLUShas built-in opti-
`tization facilities. Both minimization and
`maximization are possible. The combination
`of limits and optimization makes salesPLUS
`very powerful. For car configuration, for
`example, the end user can state that at least
`200 horsepoweris needed and thenask sales-
`PLUSto minimize theprice.
`
`Default values. The user can set up a default
`value for his or her own reasons. During con-
`figuration,the usersets up these default values
`and salesPLUSinferences other values, based
`on the constraints. If the user decidesthatthe
`default values will dependon otherselections
`made later during configuration, he or she can
`define a set of conditional default objects that
`can be governed through constraints.
`
`Freedom to make changes. In configuration,
`
`tomizer with the Kernel. Also, by accessing
`a numberof kernel functions through the
`API, users can easily add new user-interface
`features to the Customizer or even develop
`new user interfaces.
`
`Theuser-friendly interfaceat the configu-
`ration stage is a purely data-driven interface
`based on product models. That is, when prod-
`uct models change, salesPLUS automatically
`creates an updated user interface based on
`the changed models. In addition, salesPLUS
`can support configuration overthe Internet,
`using the same model created through the
`Definer.
`A product-configuration tool should be
`able to build a feature-rich product, should
`be based on an openarchitecture, and should
`easily integrate with other enterprise appll-
`cations. We’ve achieved this in salesPLUS
`through product modulization and the incor-
`poration of well-defined integration points.
`This minimizesthe effort required to imple-
`ment the productin almost any environment.
`For example, we’ve developed an add-in
`interface to support customers’ special
`needs.
`
`3
`
`
`
`37
` proaches,timeefficiencyisstill a problem.’
`selections the user makes,the less time the
`
`During compilation, salesPLUS compiles
`the product model with constraints to create
`several truth tables. In array-based logic, any
`propositional form is transformedinto a truth
`table in binary-array form. The mathematical
`properties of
`logical arrays
`allow the
`execution of anylogical inference throughjust
`three primitive array operations: outer prod-
`uct, generalized transposition, and reduction.
`These operations can be implementedeffec-
`tively by using the com-puter instructions
`AND, OR, and XOR on 32 bit-words, thereby
`Complete deduction. A configuration prob-
`achieving parallel processing.
`lem is NP-hard;thatis, it grows exponentially
`In addition, the compiler preprocesses the
`in time with the complexity ofthe productto
`product model such that it contains truth
`be configured. The numberof productele-
`tables in compressed-array form, including
`attached information such as resources. Dur-
`ments, the various constraints, and the prod-
`uct model’s level of detail cause this com-
`ing runtime the configuration process takes
`plexity. This kind of problem leadsto a large
`advantage of the already compiled informa-
`tion. Referencing the truth table at runtime
`Search space for solutions. Although some
`algorithms suchas forward-checking perform
`lets the configuration engine deduceall the
`better
`than traditional backtracking ap-
`consequencesfaster than would an engine
`
`
`Inference engine design. The inference
`engine’s objective is to handle constraints
`suchthat correct configuration solutions can
`be derived as quickly as possible. It is an
`effective constraint-based problem solver
`with our patented technology®that enables
`the entire system to carry out complicated
`product configurationin aneffective time.
`During configuration, avoiding situations
`whereselections contradict each otheris very
`important. Some configuration systems have
`addressed this inconsistencyissue, using dif-
`ferent approaches. Our inference engine
`uniquely ensures such consistency early in
`the decision-making stage—thatis, it can
`reason with incomplete information within
`a guaranteed responsetime.
`For example, assumethat there are two
`constraints, “A > Bor C’ and “Bor C > D.”
`If we know that A is true, we can directly
`deduce D to be true without knowingthe val-
`ues of B and C. In manyconfiguration sys-
`tems, however, D cannotbe inferred directly
`through the two separated constraints. This
`situation might cause inconsistency because
`it lets the user assign D. If, for example, we
`assign D to be false, the next evaluation of B
`or C will causea conflict.
`
`Many systems handle this problem by
`informingthe userthat a contradiction exists
`and displaying the conflicted constraints. The
`user must handle the problem,either by using
`backtracking or by adding anotherconstraint,
`“A — D,’to avoid the conflict. Nevertheless,
`applying backtracking will result in time-
`consuming configuration, and adding a new
`constraint will lead to redundantconstraints
`
`that are not directly linked to the product,
`thus complicating maintenance.
`The salesPLUSinference engine, in con-
`trast, can avoid poor performance and redun-
`dant-constraints maintenance while ensuring
`proper configuration. To provide configura-
`tion consistency and correctness,it employs
`complete deduction, graceful degradation,
`dynamic consistency maintenance, and
`Boolean constraint handling.
`
`JULY/AUGUST 1998
`
`
`
`
`
`Figure 3. The salesPLUS system architecture.
`
`inference engine needs to deduce the con-
`clusions, because the configuration solution
`space shrinks during configuration.
`
`Dynamic consistency maintenance.If the user
`tries to changea selection,andthis change will
`negatively affect the configuration’s consis-
`tency, the system gives a warning.If the user
`continues with the change, the system pro-
`vides a list of selections that have been made
`
`that relate to the selection to be changed. This
`list informsthe user that these selections will
`be affected and mustbe reselected to meet the
`
`change requirements. The user can decide
`whichalternatives from the selectionlist must
`be reselected. Once the user decides to redo
`
`selections, the system eases the relevant bound
`variablesin the constraints.
`
`Boolean constraint handling. The inference
`engine’s power comes from the unique
`Boolean constraint-handling mechanism—
`that is, binary array-based logic mathemat-
`ics.’ This mechanism hasbeen successfully
`applied to propositional logic in a finite
`domain.
`
`Complete deduction uses constraint-satis-
`faction-problem technology with timeeffi-
`ciency. This approachstarts with a set of vari-
`ables with domains and a set of constraints
`
`amongthese variables. Then, whenthe user
`makesa configuration decision,it determines
`the current valid configuration solution space
`without violating the given constraints.
`Complete deduction consists of a series of
`algorithms with increasing time complexity.
`These algorithms work together to carry out
`three basic sequentialsteps:
`
`(1) Propagation—makingall the relevant
`constraints and examining their conse-
`quences, based on the configuration.
`(2) Determination of solvability—evaluat-
`ing each undeterminedselection option
`to see whether a corresponding config-
`urationsolution exists.
`
`(3) Completion—guaranteeing that all
`possible consequences have been
`determined.
`
`This approach,in a sense, maintains con-
`figuration consistency by ensuring a valid
`configuration solution space in the runtime
`environment. In other words, selections are
`bound,in a shrinking configuration solution
`space, toward solutions while configuration
`progresses. This approach guarantees the cor-
`rectness ofsolutions by pruning inconsistent
`selection choices from the selection space.
`The numberof the basic steps that com-
`plete deduction carries out dependson three
`factors: the specified maximum allowed time
`(see the next section), the product’s com-
`plexity, and the computer’s speed.
`
`Graceful degradation. When a problem is
`NP-hard, the inference engine might take
`longer than desired to establish all the con-
`sequences. So, to assist the user, the engine
`employs graceful degradation:
`it tries to
`deduce as muchaspossible in a time frame
`given by the user. This method gives the user
`more control over configuration.
`To specify the time frame, the user specifies
`the MaxTime time-limit parameter when
`invoking the engine. The engine will then give
`controlto the user whenthattimelimit expires.
`It can then runas a background processuntil
`the user interacts with the system.
`A suitable time limit should be around one
`
`or two seconds; this limit is independent of
`the platform. In our experience, the more
`
` =
`
`4
`
`
`
`
`
`
`
`Car configuration with
`salesPLUS
`
`Nowlet’s look at a specific application of
`salesPLUS. The configuration problem is
`from the 900 series models of 1992 Saab
`
`automobiles. We'll consider the objects
`and constraints in depth. We’ve omitted some
`issues related to the Definer’s graphical
`interface, such as menupositioning, ID, but-
`ton names, descriptions, object IDs, and
`languages.
`
`Modelobject and resource declarations.
`First, modeling engineers declare objects
`through the Definer.
`
`©
`
`Thethree modelsare the Saab 900, Cabri-
`olet, and Turbo Cabriolet. They are
`
`Thefour enginesare the 2.0i, 2.11, 2.08,
`and Turbo. They are declared as one
`object Engineofthe type OneOf.
`The available accessories are automatic
`gearbox, ABS brakes,air bag, air-condi-
`tioning, audio system, automatic air-con-
`ditioning, electric mirrors and windows,
`and cruise control. These are declared as
`
`They are declared as one object Trim-
`
`eight objects of the type Single.
`The available sunroofs are manual steel,
`electric steel, and electric glass. They are
`declared as one object Sunroof of the
`type AtMostOne.
`The available trims are velour jet-tuff
`horizon, velour pique parallel, leather
`contour, and leather suede contour. They
`are declared as one object Trimsof the
`type OneOf.
`The available trim colors are labrador,
`‘marine, puma, angora, buffalo, and pamir.
`
`Saab configuration. Figure 6 showsthe sta-
`tus of the Saab configuration process through
`the Customizer. The user can decide the lay-
`out of the selection interface when creating
`the product model with the Definer. The sys-
`tem makes deductionsfor selection based on
`
`the constraints, corresponding to the user
`decisions. Selections can be made bythe user
`(the light-green checks in Figure 6) or by
`the system (the dark-green checks), The
`resources are calculated and updated simul-
`taneously while decisions on selections are
`being made. System functions such as reset,
`default, undo, andfinishlet the user carry out
`
`
`
`
` =
`
`THEOMMOwa
`
`It is impossible to have both air-conditioning and automatic air-conditioning.
`The Turbo Cabriolet comes with the Turbo engine, metallic paint, leather trim, and
`cruise control,
`An ordinary Cabriolet comes with the 2.1-liter engine.
`Ordinary Cabriolets cannot have the trim color marine.
`Models with red, grey, or green paints cannot be ordered with marinetrim.
`Modelswith beige or green paints cannot be ordered with pumatrim.
`Cars with the Turbo engine must be ordered with ABS brakes.
`: Asunroof cannot be ordered for Cabriolets.
`Thedelivery times are 14 days for the Saab 900, 21 days for the Cabriolet, and 35
`daysfor the Turbo Cabriolet.
`—_9—
`Either air bag, or ABS brakes, or both'should beselected.
`
`NEW:
`
`Leather_Trime Trims[Leather_Contour] OR
`Trims {LeatherSuede]; “Subgrouping of leather trim
`types”
`: Leather_Trim© TrimColor[Pamir] OR
`TrimColor [Buffalo]; “Subgrouping of leather trim
`color”
`IMPOSSIBLE(AirCondition, Auto_AirCon);
`A:
`B: Modela[(Turbo_Cabriolet — Engine[turbo] AND
`MetallicPaints AND Leather_Trim AND Cruise_Control;
`C&D: Models[(Cabriolet] > Engine[e21i] AND NOT
`TrimColor [Marine] ;
`StandardPaints[Cherry_Red] OR
`StandardPaints[Tallaga_Red] OR
`MetallicPaints[Citrin_Beige] OR
`MetallicPaints[Scarabe_green] — NOT
`TrimColor [Marine] ;
`F: MetallicPaints[(Citrin_Beige] OR
`MetallicPaints [Platana_Grey] — NOT TrimColor [Puma] ;
`Engine [turbo] — ABS_Brakes;
`Models [Cabriolet] OR Models[Turbo_Cabriolet] — NOT
`Sunroof;
`NEW: MetallicPaints OR StandardPaints; “You must pick one
`type of paint”
`Delivery_Time == 14 * Models[Saab_900] + 21 *
`Models[Cabriolet] + 35 * Models (Turbo_Cabriolet};
`WARNING (NOT AirBag AND NOT ABSBrakes);
`
`E:
`
`G:
`
`I:
`
`Js
`(b)
`
`Figure 4. Saub configuration constraints at the (a) application level and (b) system level.
`
`
`
`Colorofthe type OneOEF.
`e The available standard paints are cirrus
`white, black, embassy blue, cherry red,
`and talladega red. They are declared as
`one object StandardPaints of the
`type AtMostOne.
`e The available metallic paints are citrin
`beige, platanagrey, le mansblue, scarabe
`green, and monte carlo yellow. They are
`declared as one object Metallic~
`Paints of the type AtMostOne.
`e The object Leather_Trim groupsthe
`objects that are related to leather features
`such as trim and trim color. It is declared
`
`as an object of the type Single.
`e An object that does not relate to physical
`items is Delivery_Time. It is declared
`as an object of the type Enum.
`
`Several resources are declared in a
`database form. The declared resources
`are Price, Weight, and Horsepower.
`The declared menus are Accessories,
`Trims, Paints, andAccessories at
`Dealer.
`
`Configuration constraints. Figure 4a shows
`some application-level constraints for Saab
`configuration. The application-level con-
`straints can be interpreted into the system-
`level constraints. Figure 4b shows somesys-
`tem-level constraints.
`
`Note the almost one-to-one correspon-
`dence between the written guidelines (the
`application-level constraints) and the system-
`level constraints. These constraints use the
`declared as an object Modes ofthe type
`that merely goes throughalist of program-
`OneOf£.
`object identifiers. Only a few new extra con-
`ming steps.
`straints have been added to represent the
`whole meaningof the constraints at the appli-
`cation level. The system-level constraints are
`intuitive and very readable.
`Figure 5 shows the Saab objects and con-
`straints using the Definer.
`
`IEEE INTELLIGENT SYSTEMS
`38
`
`5
`
`
`
`Hen] Accessories
`Automatic gearbox
`AGS Brakea
`Alr Gag
`Alr Condition
`oY
`Autila System
`
`|StanderdPainte|CherryRed]ORStenderdPainie[TallagaRed]ORMetalicPainte[CitrinBe.|
`Autamatte Aircon
`Electrle mirrora
`;
`Grutee Control
`
`[Werning(NOTAi,BagandNOTABSBrakes)
`MalallicPaints xor StandardPainte
`Yh
`|
`Standard Paints
`Delivery Time == 14 * Models[SAAB_900] +21" Models[Cabfiolel] +35 *Modele[TurhoCab...
`Metalllc Palnta
`IMPOSSIBLE (Ait_Condition, Auto Alcon
`Matal Paint type
`
`|
`
`Tam Color
`Leather Tein
`
`
`
`
`
`
`
`configuration without worrying about con-
`figuration correctness and consistency.
`
`Base ON OUR ACHIEVEMENTS
`
`with salesPLUS (see the sidebar for two
`other successful applications), we plan to
`continue our research into computer-sup-
`ported product development. We’ll enhance
`the problem-solving ability and system func-
`tionality of salesPLUS, to cope with various
`configuration problems throughout product
`development. Our productwill be a solution
`that can cover a wider range of applications,
`spanning from front-office business to back-
`end engineering. Our goal is to make the con-
`figuration system an integrated solution ina
`common product-development environment.
`Toward that end, our next step will be to
`emphasize system and data integration, so
`that product information and solutions can
`be shared, exchanged, and applied among
`different tools in the individual product-
`developmentstages. A
`
`References
`
`1. HJ. Skovgaard, “A New Approach to Prod-
`uct Configuration,” Proc.ilce ’95: Third Int’l
`Conf. Integrated Logistics & Concurrent
`Eng., 1995, pp. 197-204.
`
`2. B. Victor and A. Boynton, Invented Here:
`Maximizing Your Organization’s Internal
`Growth and Profitability, Harvard Business
`School Press, Boston, 1998.
`
`3. K.J. MacCallum, “Does Intelligent CAD
`Exist?” Artificial Intelligencein Eng., Vol.5,
`No,2, Apr. 1990, pp. 55-64.
`
`4, C.J. Thornton and B. du Boulay, Artificial
`Intelligence through Search, Kluwer Acade-
`mic Publishers, Dordrecht, The Netherlands,
`1992.
`.
`
`5. B. Yu, “A Virtual Configuration Workbench
`for Product Development,” PhD Thesis, Univ.
`of Strathclyde, Dept. of Design, Manufacture,
`and Eng. Management, Glasgow, Scotland,
`1996.
`
`Figure 6. Saab configuration, using the salesPLUS Customizer.
`
`7. M. Shanahan and R. Southwick, Search,
`Inference and Dependencies in Artificial
`Intelligence, Ellis HorwoodLtd., Chichester,
`UK, 1988.
`
`Strathclyde, Scotland. Contact her at Baan Front
`Office Systems, Harker 12A, DK-2730 Herlev,
`Copenhagen, Denmark; byu @baan.com.
`
`8. G. Moller, “On the Technology of Array-
`based Logic,” PhD Thesis, Technical Univ.
`of Denmark, Dept. of Electric Power Eng.,
`Lyngby, Denmark, 1995.
`
`
`
`
`
`Hans Jérgen Skovgaardis the vice president for
`configuration development at Baan Front Office
`System A/S andis the chief architect on the con-
`figuration product salesPLUS, with whose devel-
`opment he has been involved since 1990. His
`research interests include black-box constraint
`Bei Yu is a research engineerat the Configuration
`Competence Centre, Baan Front Office Systems.
`solvers and declarative language design. He
`received his BScin electronic engineering from
`She has been doing research in product configu-
`ration since 1992. Her research interests include
`Odense Polytechnic, Denmark, and his MScin
`product modeling, the configuration process, con-
`artificial intelligence from University of Edin-
`figuration technology, andartificial intelligence.
`burgh, Scotland. Contact him at Baan FrontOffice
`6. G. Maller, “Signal Processing Apparatus and
`Shereceived her BSc in computer science and PhD
`Systems, Hgrker 12A, DK-2730 Herlev, Copen-
`Method,” Patent WO 90/9001, 1989.
`hagen, Denmark; hjskovgaard@baan.com.
`in product configuration from the University of
`
`JULYAUGUST 1998
`39
`
`6
`
`
`
`
`
`
`
`
`
`Theresults. B&O’s implementation of salesPLUShas directly and
`indirectly produced these improvements:
`
`e Average speaker sales have increased from 2.1 to 2.8 per system.
`e Errors in orders have decreased by 4%, saving $5,6 million per
`year.
`e Electronic distribution of sales and product documentation through
`salePLUShas saved more than $300,000 per year.
`Theuse of service personnel has decreased, saving more than
`$130,000.
`e Stock levels have decreased from $50 million to $12.5 million.
`e Education days have decreased from 5,000 to approximately 2,500
`peryear.
`e Total sales have increased, reflecting higher dealer loyalty.
`
`*
`
`Futureplans. The system has been enhanced into a multimedia config-
`uration andsales tool and will soon be launchedasan interactive sell-
`
`ing tool. Thatis, the customerwill be able to directly access the system
`to configure his or her products. Also, B&O plans direct electronic
`transmission of information suchasbills of materials from sales-order
`
`
`
`
`
`Two successful applications of salesPLUS
`
`salesPLUShas been successfully applied to many applications, such
`as the discrete manufacturing of pumps,robots, and vehicles; telecom-
`munications; and high-tech services. We'll now focus on tworeal-
`world applications.
`
`Audiovisual-system configuration
`
`Bang & Olufsen manufactures high-end consumer audiovisual
`equipment (Figure A shows an example). Their products are marketed
`globally by approximately 1,500 prequalified retail outlets. Their 1996
`turnover was approximately $450 million. In cooperation with a num-
`berof universities and