EP1012756B1 - Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets - Google Patents

Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets Download PDF

Info

Publication number
EP1012756B1
EP1012756B1 EP98942511A EP98942511A EP1012756B1 EP 1012756 B1 EP1012756 B1 EP 1012756B1 EP 98942511 A EP98942511 A EP 98942511A EP 98942511 A EP98942511 A EP 98942511A EP 1012756 B1 EP1012756 B1 EP 1012756B1
Authority
EP
European Patent Office
Prior art keywords
algorithm
values
configuration
objects
object values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP98942511A
Other languages
German (de)
English (en)
Other versions
EP1012756A2 (fr
Inventor
Hans Jorgen Skovgaard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baan Development BV
Original Assignee
Baan Development BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baan Development BV filed Critical Baan Development BV
Publication of EP1012756A2 publication Critical patent/EP1012756A2/fr
Application granted granted Critical
Publication of EP1012756B1 publication Critical patent/EP1012756B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the configuration problem is solved when the set of all selectable objects is completely divided into two disjunctive sub-sets representing elements that are included in the configuration and elements that are excluded from the configuration, respectively, without violating any of the rules between the selectable elements.
  • a selectable object is anything that can be included or excluded. It can be a physical object (e.g. a car or a specific kind of engine), an attribute (e.g. the color red or the texture pattern of a carpet) or something abstract (e.g. a specific number of trips between home and work or a particular type of contract).
  • a physical object e.g. a car or a specific kind of engine
  • an attribute e.g. the color red or the texture pattern of a carpet
  • something abstract e.g. a specific number of trips between home and work or a particular type of contract.
  • a rule involves one or more selectable objects.
  • the purpose of the rule is to constrain the selection of objects to obey some requirements.
  • a rule can be based on a physical limitation (e.g. if a car needs a large engine to support a large number of selected electrical accessories), or a discretionary decision (e.g. if marketing management in a car company decides that all cars having a particular large engine are produced only in red colour to give them a more sporty look).
  • the term 'Constraint' is used to refer to a rule limiting how elements can be combined.
  • the rule is stored in an expedient format in a rule base, i.e. some type of table or database. Access to the rule base is obtained by means of a configuration engine.
  • the configuration engine is responsible for verifying whether selections made by the user are valid according to the rule and reporting this to the user. Further, the configuration engine can be capable of deducing further knowledge from the rule, i.e. logically to conclude about values of objects that the user not has decided upon yet.
  • the knowledge value of all objects may be set to 'Unknown'.
  • other knowledge values may be assigned to the objects, some examples of knowledge values are:
  • a product is a physical element or something abstract that is composed of a number of selectable objects being a physical element or something abstract.
  • a valid configuration is a representation or list of selected objects constituting a product being valid according to a relation between the selected elements.
  • An invalid configuration is a representation or list of selected objects that is invalid according to a relation between the selected objects.
  • each new selection in a succession of selections changes the set of objects which may be included in a valid configuration.
  • An interactive computer configuration system is an aid for a salesman or a customer to make it just as easy to grasp and configure a huge problem as it is for a customer in the supermarket to know himself that he has bought exactly what he needs to treat his dinner guests according to his own decisions and the expectations of the guests.
  • the basic problem of interactive configuration is that the algorithms needed to support a true interactive environment are extremely time-consuming, as the time increases exponentially as a function of object values. This problem is called the NP-hard problem, which has restricted the possible obtainable results related to configuration.
  • the NP-hard problem affects two very important features related to configuration. First of all, it should be realized that a NP-hard problem affects the time complexity of the involved algorithms. This means that the necessary processing time becomes unacceptable in relation to configuration models or rule bases comprising many object values and many constraints between these.
  • Prior art systems only solve the configuration problem to some extent. Many prior art configuration systems are batch mode systems which are completely out of interest because they do not provide updated information about the configuration to the user while the user actually is making the selections.
  • WO 97/15886 discloses a method of configuring a product from a plurality of selectable components including establishing for each component a list of available classes, defining specific properties for each class of each component, defining constraints among components based on the specific properties, selecting a first plurality of components for a product configuration, identifying each of said first plurality of components as selectable, eliminated, or contradicted based on the constraints, and altering the product configuration to avoid eliminated and contradicted components.
  • a propagation algorithm adapted to verify whether the user-selections are possible or not is disclosed. However, this method is based on that selectable components are arranged in an object hierarchy. This results in a very limited modeling.
  • US 5,515,524 discloses an approach for configuration systems such that a system may be configured based on component or resource requests, or input in the form of need.
  • the configuration systems are based on constraint-based configuration systems using a functional hierarchy that comprehends hierarchical and non-hierarchical structure, and associated constraints that can reason about and generate structural relationships.
  • constraints that can reason about and generate structural relationships.
  • such systems are based on a hierarchical structure which thereby results in a very limited modeling.
  • Axling; T. et al, 'A tool for developing interactive configuration applications', The journal of Logic Programming, Vol. 26, No 2, 1996 pages 147-168 discloses a configuration system integrating both a problem solving method and a tool for domain knowledge modeling.
  • a domain model is based on a component hierarchy.
  • the tool for domain modeling is based on the component hierarchies including connection classes.
  • a configuration is an instance of a component hierarchy.
  • this system is also based on a hierarchical structure resulting in a very limited modeling.
  • An object of the invention is therefore to use the entire time slot from when a user has made a selection until the user expects a response from the computer system to the selection despite that a verification of the selection can be executed in less time and despite that the processing time for deduction of consequences for the selection will last for a much longer time interval.
  • the computer-aided configuration method is organised as a cascade of interruptible algorithms which are ordered in an order of complexity and degree of inferred knowledge, and which are run automatically one after another and which provide the more knowledge on the undetermined object values on an interrupt the longer they are allowed to run.
  • the user is provided with information which in fact not is a complete answer to a request of deducing all consequences of a selection, but instead there is provided information which in almost all situations will be sufficient for the user to continue the process of configuring a product being ensured that a possible solution exists.
  • this prediction can be supplemented by a further active guidance to the user in the sense that information about the possible user selections can be presented to the user before these are actually selected.
  • This feature is a very important aspect related to an interactive communication with the user.
  • Another and very important aspect of the invention is that it deals with a NP-hard problem. It is thus possible according to the invention to use algorithms capable of being interrupted if no final result can be given within a reasonable time.
  • the teaching according to the invention is thus that the user will have a possibility of achieving complete response, and that a partial result can be given within a given time limit or user given limit.
  • the empirical experiences of configuration processing are that the number of possible conflicts are increased, depending on how many object values have been previously assigned.
  • an NP-hard problem by nature decreases exponentially or non-polynomially, when further object values are assigned.
  • the possibility of gaining full and sufficient knowledge about the undetermined objects values increases according to the number of choices the user have made. Thus the user can be provided with the gained knowledge when it is most needed.
  • user is not critically dependent on the knowledge gained by the algorithm in the beginning of the configuration as it is experienced that a user tends to make few invalid choices in the beginning of a configuration.
  • a further important aspect of the invention related to the above mentioned teaching is that the invention, by dealing with a NP- hard problem, offers much more simple and "natural" configuration models. It has thus by empirical experiences been shown, that the modeling time for the same kind of problems, can be reduced by up to a factor 20 or oven more.
  • Such model can e.g. be configuration models of computers, cars etc..
  • Another aspect of the invention is that it deals with the problems arising due to sometimes very complicated constraints defined in the rule base and a considerable time consumption needed for carrying out the above-mentioned predictions.
  • the configuration method takes a kind of calculated risk by presenting possible incomplete or false information to the user, and as such taking, the risk that the user may select values which may in fact be determined to be false.
  • the invention is thus a kind of compromise between a wish to give the user complete information about future possible selections in a configuration, and a wish to obtain a reasonably short calculation time. It has thus found that the method according to the invention offers a user a very high level of comfort compared to the two possible extremes, namely a very long response time due to the complexity of configuration problems or no indication of whether a following configuration may be going in the right direction and succeed.
  • Empirical experience has proven that the user actually prefers to be presented with partial knowledge, rather than being trapped in a kind of endless loop.
  • the partial knowledge will be presented as complete knowledge in the sense that the uncertainty of the knowledge will be hidden from the user.
  • an indication of partial knowledge may be given to the user according to the invention.
  • the rule base may be a list of rules representing the relationships between the object values.
  • the rule base may rather be a list of rules representing the relationships between the object values supplemented with an organizing of the objects or object values on a higher level.
  • the object values may thus be organized in a hierarchy defining relationships between the objects.
  • These relationships may also be a sub-organizing of the rules in such a way that a rule consultation in the rule base may be conditionally depending on a prehistory of the objects or object values.
  • Another example could be that the objects are organized in such a way that the objects define the access to the rule consultations in some objects.
  • rule base may be organized straightforwardly or in a more or less complicated structure and substructures.
  • the invention relates to a computer system and a computer readable medium.
  • Fig. 1 thus represents a total quantity of possible object values.
  • the object values can be related to numerous different kinds of definitions or entities, all represented in a quantity 10 of object values 11.
  • Each object value may e.g. represent a discrete entity, a color, a type, a physical property, etc..
  • no aspect related to constraints or relationships between the object values have been shown, but it is to be understood that these relationships, e.g. groupings, object definitions, etc. nevertheless restrict the object values.
  • some of the object values 12 have been assigned to be comprised in a partial configuration 13.
  • This partial configuration represents a configuration, having not yet been completed, the partial configuration being a combination of some of the object values 12.
  • the chosen object values may e.g. be a color, an engine, a sunroof, a certain tire type, a price or other possible options.
  • the basic concept of the invention is now to give the user all the information he will need to choose a valid object value and put all into the partial configuration every time a choice is made. This can be done by excluding the next object values of the remaining object values which can not be comprised in a valid final configuration. According to fig. 3 this is illustrated by the dotted line 14 representing the possible or valid space, now decreasing the number of the next possible choices. Some of the information given to the user may be evident to the user and some of the information given by the illustrated valid space may be of great importance.
  • the above-mentioned information is provided by a careful examination of the undetermined object values. This examination will be discussed further in the examples below.
  • Fig. 4 thus illustrates a cascade of algorithms adapted to deliver the necessary information and guidance to a user during a configuration process.
  • the algorithms will be further illustrated in the following description.
  • the basic line of algorithms is thus a Propagation algorithm 80, a LookAhead algorithm 81, a Minimal_Configuration_Check, an Unbound algorithm 83 and a Sufficient_Configuration_Check algorithm 84.
  • Every algorithm 80, 81, 82, 83 and 84 in the cascade is thus adapted to provide a degree of knowledge which can be made available to the user and also increase the overall performance of the algorithms. Some few results or deductions made by one algorithm in the beginning of the cascade of algorithms will reduce the size of the problem which will have to be dealt with by the following more time-consuming algorithms. This is a particularly important aspect, remembering that the invention is preferably meant to deal with problems which are NP-complete.
  • Every algorithm can be timer or user interrupt in the steps 85, 86, 87, 88 and 89, respectively.
  • the interrupts will return the summarized knowledge gained at this stage regarding deduced information and validation.
  • the Propagation algorithm 80 will thus comprise a scanning of a boolean and an arithmetic representation of the rule base representing the organization and constraint of the object values involved. This scanning is implemented in Boolean Scan 90 and Arithmetic Scan 91, respectively. The propagation will examine whether or not a choice, or a partial configuration is valid.
  • the LookAhead algorithm 81 examines the undetermined space of object values. Every possible next chosen object value will be temporarily assigned, one by one, and the temporary partial configuration may be validated or excluded from the space of next possible object values. For every temporarily assigned value, the Propagation algorithm 92 will be initiated.
  • the Minimal_Configuration_Algorithm examines whether or not the already assigned partial configuration can be combined with any of the undetermined object values to a valid final configuration. This examination is carried out by searching for a temporary object value, adding this to the partial configuration, calling the Propagation algorithm 92, until at least one valid possible configuration has been found. As will appear, the Minimal_Configuration_Algorithm is very time-complex.
  • the Unbound algorithm 83 examines whether or not individual objects can be determined to be unbound, i.e. the object comprises at least two unbound object values. This is examined by temporarily assigned object values of objects, until at least two possible configurations have been found.
  • the Unbound algorithm calls the algorithm Minimal_Configuration_Algorithm every time a new possible configuration is to be determined.
  • Sufficient_Configuration_Algorithm 84 in the cascade is adapted to gain the sufficient knowledge. This knowledge is obtained by temporarily assigning every undetermined object value, searching for at least one possible configuration comprising the said temporarily assigned value. If such possible configuration can be found, it is now deduced that the temporarily assigned object value is a valid next choice, and, if not, it is now deduced that the temporarily assigned object value is not a valid next choice.
  • This information may be provided to the user.
  • the Sufficient_Configuration_Algorithm 84 calls the algorithm Minimal_Configuration_Algorithm 82 every time a new possible configuration is to be determined.
  • the rule base further comprises rules defining the objects A, B, C, D and E to be a single, i.e. the objects are bound to be exclusively TRUE or exclusively FALSE in a possible configuration.
  • the objects X and Y are defined to be of the object type ENUM (i.e. belonging to an enumerated or predefined set of values) and can take one and only one of the values in the domains of X and Y, respectively.
  • An input is fed to the above rule base by assigning A to be TRUE as a user selection.
  • figs. 5a and 5b the initially chosen object values are shown in basically two different ways. It is to be noted that figs. 5a and 5b are just two ways of illustrating the same result, in the sense that fig. 5a shows the result by means of a diagram of the object values, while fig. 5b shows the same result by means of a discrete sum representation of the object values.
  • Each object value is associated with a knowledge value ⁇ , ( ⁇ ), ⁇ or ( ⁇ ) indicating if an object must, may, must not or may not take this value. Moreover, if it is unknown whether a value may or may not take a value, this is indicated by the knowledge value ?, and if a value both may and may not be taken, this is indicated by the knowledge value .
  • Level 0 in fig. 16 illustrates that if an object may or may not take a value, the value is said to be unknown and indicated by the knowledge value ?.
  • Level 1 in fig. 16 illustrates that if an object may take a value, the value is possibly concluded and indicated by the knowledge value ( ⁇ ). Further, if an object may not take a value, it is possibly rejected and indicated by the knowledge value ( ⁇ ). Note that if a value is possibly concluded, it cannot be rejected, and moreover if a value is possibly rejected, it cannot be concluded.
  • Level 3 in fig. 16 illustrates that if an object must take a value, it is concluded or selected and indicated by the knowledge value ⁇ . Further, if an object must not take a value, it is rejected or discarded and indicated by the knowledge value ⁇ .
  • the terminology uses the words selected or discarded whenever the selection is determined by a user. If the selection is a result of a deduction, the value is said to be concluded or rejected.
  • Fig. 5a to fig. 10a represent the gained knowledge after every algorithm.
  • a / or O indicates that the value has been determined and reached level 3
  • a dotted / or O indicates that the value has reached level 1
  • indicates that the value has reached knowledge level 2.
  • the result of this propagation algorithm is shown in figs. 6a and 6b.
  • the following algorithm, LookAhead, in the algorithm cascade is a very simple algorithm which, by means of a kind of crash test, temporarily picks out all the undetermined object values, or at least a part of them, combining these undetermined values one by one with the previously assigned object values, and testing whether these values combined with the already assigned values actually satisfy the rule base. This test is carried out for every undetermined object value by means of the propagation algorithm.
  • the number of necessary propagations in LookAhead according to the example of the invention is nineteen, e.g. eight times TRUE/FALSE of C,D and E plus eleven times the domain of Y.
  • LookAhead algorithm could be cascaded with further algorithms of the same type taking one or more temporary choices.
  • the next algorithm in the cascade is the algorithm Minimal_Configuration_Check. This algorithm is more complex than the previous algorithms in the sense that the algorithm has exponential time complexity.
  • the goal to be achieved by means of this algorithm is quite different compared to the previous algorithms.
  • the goal is thus to ensure that the running configuration is not heading towards a configuration island, or, in other words, a dead end.
  • 'configuration island' in this instance is meant that no combination of the undetermined object values and the previously assigned values satisfies the rule base.
  • Minimal_Configuration_Check is thus meant to give a prediction whether at least one configuration is possible before further assignments are made
  • the Minimal_Configuration_Check will ensure that a dead end, which is not uncovered by the LookAhead algorithm, will be discovered very early in the configuration.
  • Figs. 8a and 8b illustrate the result of the algorithm.
  • the Minimal_Configuration_Check algorithm searches for at least one possible configuration which is usually hidden from the user.
  • the possible configuration will be stored for use in the following algorithms. This aspect will be discussed in more detail later in the description.
  • the found configuration is shown in fig. 8a, while fig. 8b shows the sum of knowledge gained at this stage of the algorithms. It should be stressed that other possible solutions could be found depending on the search strategy.
  • Fig. 8b expresses the found configuration and the higher level of knowledge in the following way.
  • search for the above-mentioned possible configuration is carried out in a search tree, and the search tree will preferably be organized in such a way that the least constrained objects are nearest to the root, thereby minimizing the number of branches in the search tree. It should be noted that many other search techniques are possible, depending on for instance the structure of the objects or the chosen kind of propagation algorithm.
  • the next algorithm in the cascade has also an increased time complexity.
  • the algorithm is adapted to investigate whether further possible configurations can be found among the undetermined object values.
  • the aim of the algorithm is to check whether or not an object has unbound values and therefore is open for a user selection.
  • the search is carried out by taking the objects, one by one, altering the object value, searching for a further possible configuration formed by the altered value, the previously assigned object values and some of the undetermined object values. If a further possible configuration comprising the altered object value is found, the object is defined to be unbound, and the search will proceed by altering further objects.
  • the definition of an unbound object is thus an object having at least two object values, each being included in a possible configuration.
  • the Unbound algorithm thus prepares the input for the following even more time-consuming algorithm in the sense that only the objects determined to be unbound are to be investigated to obtain sufficient knowledge about the rest of the undetermined space of object values.
  • object values according to other examples or embodiments may still be at level 1.
  • the final algorithm in the cascade is the Sufficient_Configuration_Check algorithm which is adapted to deduce the final necessary partial knowledge about the undetermined objects. This essential algorithm will ensure that clear information about unassigned object values can be presented to the user. The information points out whether the object values in question can be selected by further user assignments.
  • the goal of the Sufficient_Configuration_Check algorithm is thus to investigate whether the rest of the undetermined object values are comprised in a possible configuration. If some of these object values are not found to be comprised in any possible configuration, the object values, in terms of the invention, will have to be rejected. A rejected object value is excluded from the next possible user assignments or at least marked with an indication showing that the object value is not a valid next choice.
  • Figs. 10a and 10b show the result of the algorithm.
  • a PartialConfiguration is the total set of object values and their associated knowledge, thus constituting a partial configuration in which all knowledge is collected,
  • the propagation algorithm is initiated in step 101.
  • step 102 a PartialConfiguration is maintained from the calling algorithm. Rules from the rule base are put into queue Q, and the propagate algorithm proceeds to step 103.
  • step 103 a rule R is dequeued from the queue Q.
  • step 104 Scanrule(R), the propagate algorithm uses the algorithm described in a co-pending 'Method and Apparatus for Processing a Request to a Boolean Rule', PCT publication number WO 99/13401.
  • the Scanrule(R) returns a set ⁇ of concluded and rejected object values not determined in the PartialConfiguration. It is to be noted that the set ⁇ may be empty if no information could be deduced by the scanning of the rule or rules.
  • Scanrule will fail if the rule R is in contradiction with the PartialConfiguration. If Scanrule does not detect a contradiction the algorithm proceeds to step 106. If a conflict is detected, the propagation algorithm proceeds to step 105, and the propagation algorithm is terminated with a contradiction.
  • step 106 the knowledge, if any, from ⁇ is assigned to PartialConfiguration, and the PartialConfiguration now comprises the original user assigned object values, said to be selected or discarded, and the knowledge deduced in step 104, said to be concluded or discarded. It is noted that the knowledge from ⁇ can be merged to PartialConfiguration as no contradictions were detected in step 104. The knowledge comprised in ⁇ thus only replaces object values of a lower knowledge level.
  • step 108 the queue Q is checked. If Q is empty or if a TimeOut has occurred, the algorithm terminates and proceeds to the end step 109 with no contradictions. If the queue is not empty, the process reiterates to step 103.
  • Tested is a list of object values. This list is used to keep track of which object values have been tested.
  • AssertedValue is an unknown object value temporarily assigned to be either concluded or rejected.
  • step 112 the algorithm finds an object value which is not in Tested. If such a value can be found, the algorithm proceeds to step 114. If no such value exists or if there has been a TimeOut, the algorithm is terminated in step 113.
  • step 114 the selected object value found in step 112 is assigned to AssertedValue as concluded, i.e. TRUE, and the algorithm proceeds to step 115.
  • step 115 If the result of the Propagation in step 115 was a conflict with the rule base, the algorithm proceeds to step 120 as propagation for AssertedValue assigned concluded in step 115 did not succeed, this object value is found to be rejected, i.e. FALSE, and the PartialConfiguration is updated in step 120. Furthermore the updated PartialConfiguration is Propagated, and the algorithm returns to step 112 for further test of undetermined object values which have not been tested yet.
  • PartialConfiguration is the total set of object values associated with their knowledge, thus constituting the partial configuration in which all knowledge is collected.
  • the Minimal_Configuration_Check algorithm is initiated in step 140 and proceeds in step 141.
  • step 141 all the data structures are initialized.
  • the AssertedValue is initialized to be VOID, and the PartialConfiguration is initialized to comprise the previously found or selected assigned object values delivered by the previously described algorithm LookAhead.
  • the algorithm is looped until a possible PartialConfiguration has been found or when no further undetermined object values can be asserted. If a possible configuration can be found, the algorithm proceeds in step 143 and the algorithm terminates.
  • step 144 If no possible configuration could be found, the algorithm proceeds to step 144 and the algorithm terminates. In step 144 error messages will be initiated.
  • Unbound algorithm commences, all values have been assigned knowledge values of 1 or 3, corresponding to possibly concluded, possibly rejected and concluded/rejected respectively.
  • an undetermined object is an object with a value associated with a knowledge value at level 2 or less.
  • a determined object is an object with one value concluded/selected and all other values rejected/discarded, i.e. at level 3.
  • PartialConfiguration is the total set of object values and their associated knowledge, thus constituting the partial configuration in which all knowledge is collected.
  • the Unbound algorithm is initiated in step 121 and proceeds in step 122.
  • step 122 all the data structures are initialized.
  • the AssertedValue is initialized to be VOID
  • PartialConfiguration is initialized to the possible configuration found in the previously described algorithm Minimal_Configuration_Check.
  • the algorithm proceeds in step 123.
  • step 123 an undetermined object without an unbound object value is selected.
  • step 124 terminates if it is impossible to find an unbound object value. i.e. all objects having unbound values have been established.
  • the algorithm also proceeds to step 124 from step 123 if there has been a TimeOut. Otherwise the algorithm proceeds to step 125.
  • step 125 it is certain that the object chosen has values associated with knowledge at level 1. Now a value is picked that has been possibly rejected, and it is asserted to be possibly concluded by assigning AssertedValue, and the algorithm proceeds to step 126.
  • PartialConfiguration is the total set of object values and their associated knowledge, thus constituting the partial configuration in which all knowledge is collected.
  • the Sufficient_Configuration_Check algorithm is initiated in step 130 and proceeds to step 131.
  • step 131 all the data structures are initialized.
  • the AssertedValue is initialized to be VOID, i.e. non-existing, the PartialConfiguration is maintained from the previous algorithm Unbound, and the algorithm proceeds to step 132.
  • step 132 an unbound object from the set of objects is selected. If it is impossible to find an unbound object, the algorithm proceeds to step 133 and the algorithm terminates. Furthermore the algorithm proceeds to step 133 from step 132, if a TimeOut has been established. Otherwise the algorithm proceeds to step 134.
  • step 134 a value that has been possibly rejected is picked and asserted to be possibly concluded by assigning AssertedValue. If all object values are either Unbound or Determined the algorithm proceeds to step 135, otherwise the algorithm reiterates from step 132.
  • step 135 the algorithm searches for a possible configuration with AssertedValue. If such a one is found, the PartialConfiguration is updated with the knowledge from the new possible configuration, and the algorithm proceeds to step 136. Otherwise the algorithm proceeds to step 137.
  • the calculation of the NP-hard problem is started and possible solutions of where the second queen can be placed is examined one-by-one.
  • a timer or user interrupt interrupts the calculation, then the already calculated solutions is presented to the user despite the fact that all solution are not found yet.
  • the user do not care, he is satisfied with having at least one guarantied solution which allows him to place all N queens.
  • an advantageous user interface is achieved in the sense that the user will have the possibility of obtaining information, even though the information is not yet sufficient to ensure that coming assignments made by the user may actually be valid.
  • presenting the partial knowledge to the user after a certain time period i.e. the length of the time interrupt or interrupts, it is possible to "calibrate" the system to present knowledge to the user with a delay that is tolerable for the user.
  • This tolerated time delay i.e. the time interrupt, may be programmed by the user, or it can be a default value determined by empirical experience.
  • the said algorithms comprises a temporary assignment of the undetermined object values, and when searching for at least one subset of object values for every temporarily assigned object value, each temporarily assigned value and a subset of determined objects defining a possible configuration of object values satisfying the rule base, said deduced knowledge about the undetermined object values being successively stored in said dynamic representation, it is ensured that the user will successively gain an increased knowledge about the undetermined object values.
  • This increased knowledge can represent different characters of the ongoing configuration.
  • the user should of course be provided with a sufficient knowledge about every selectable object value.
  • the search algorithm may be adapted to search for certain kinds of possible configurations before the final search for all the necessary possible configurations is initiated.
  • a search algorithm can thus check whether the objects comprise bound or unbound object values.
  • the search for further subsets is randomized in such a way that the order of the temporarily assigned values is random, the knowledge is increased faster than the knowledge obtained by a canonical search in the undetermined object values, as the item of information gained by "random" possible configurations differs mutually more than ordered possible configurations. The more differing object values found, the better.
  • the invention may be embodied as a computer program or a part of a computer program, which may be loaded into the memory of a computer and executed therefrom.
  • the computer program may be distributed by means of any data storage or data transmission medium.
  • the storage media can be magnetic tape, optical disc, compact disc (CD or CD-ROM), mini-disc, hard disk, floppy disk, ferroelectric memory, electrically erasable programmable read only memory (EEPROM), flash memory, EPROM, read only memory (ROM), static random access memory (SRAM), dynamic random access memory (DRAM), ferromagnetic memory, optical storage, charge coupled devices, smart cards, etc.
  • the transmission medium can be a network, e.g.
  • LAN local area network
  • WAN wide area network
  • Internet any combination thereof, e.g. the Internet.
  • the network may comprise wire and wire-less communication links.
  • a software embodiment (i.e. a program) of the invention, or a part thereof, may be distributed by transferring a program via the network.

Claims (13)

  1. Procédé informatique pour configurer un ensemble d'objets (A, B, C, D, E, X, Y) dans un ordinateur en permettant à un utilisateur d'affecter des valeurs d'objets déterminées (12) aux objets, ayant des valeurs d'objets indéterminées (11),
       l'affectation de valeurs d'objets (12) aux objets étant contrainte par une base de règles qui définit quelles affectations de valeurs d'objets (12) aux objets (A, B, C, D, E, X, Y) sont valides et celles qui ne le sont pas,
       selon la base de règles et les valeurs d'objets déterminées affectées par l'utilisateur, la validité des valeurs affectées aux objets étant vérifiée par rapport à la base de règles au moyen d'un moteur de configuration qui est également capable de déduire une connaissance relative aux valeurs d'objets possibles (12) des objets ayant des valeurs d'objets indéterminées (11);
       caractérisé en ce que
       le procédé informatique de configuration est organisé comme une cascade d'algorithmes interruptibles (80, 81, 82, 83, 84) qui sont ordonnés dans un ordre de complexité temporelle et un degré de précision avec lequel les algorithmes se rapprochent de l'ensemble des valeurs d'objets possibles; et qui sont exécutés automatiquement les uns après les autres avec des algorithmes moins précis et moins complexes avant des algorithmes plus précis et plus complexes qui fournissent le plus de connaissances sur les valeurs d'objets indéterminés (11) sur une interruption la plus longue que la cascade d'algorithmes ou tout algorithme individuel à l'intérieur de ladite cascade est autorisée à exécuter.
  2. Procédé informatique selon la revendication 1, caractérisé en ce que la connaissance est présentée à l'utilisateur par l'intermédiaire d'une interface utilisateur soit sur une demande par l'utilisateur, soit sur une interruption temporelle.
  3. Procédé informatique selon les revendications 1 et 2, caractérisé en ce que la cascade d'algorithmes comprend un algorithme de propagation (80) adapté pour vérifier si les valeurs d'objets (12) affectées aux objets sont valides selon la base de règles.
  4. Procédé informatique selon les revendications 1 à 3, caractérisé en ce que la cascade d'algorithmes comprend un algorithme (81) adapté pour sélectionner des objets ayant une valeur d'objet indéterminée et pour chaque objet sélectionné
    i) pour générer une combinaison temporaire comprenant les objets ayant des valeurs d'objets déterminées et comprenant l'objet sélectionné dans lequel à l'objet sélectionné est affectée une valeur d'objet temporairement déterminée,
    ii) pour vérifier si la combinaison temporaire est valide selon la base de règles, et
       pour les objets sélectionnés, fournir une connaissance à l'utilisateur, indiquant si les objets étaient impliqués dans une combinaison temporairement valide (13).
  5. Procédé informatique selon les revendications 1 à 4, caractérisé en ce que la cascade d'algorithmes comprend un algorithme (82) adapté pour déduire si une configuration est possible, ledit algorithme comprenant les étapes de :
    i) sélectionner des objets ayant des valeurs d'objets indéterminées (11),
    ii) générer une combinaison temporaire comprenant les objets ayant des valeurs d'objets déterminées et comprenant les objets sélectionnés dans lequel aux objets sélectionnés sont affectées des valeurs d'objets déterminées,
    iii) vérifier si la combinaison temporaire est valide selon la base de règles, et
       si la combinaison temporaire n'est pas valide, répéter les étapes ii et iii avec d'autres valeurs d'objets déterminées, et fournir une connaissance à l'utilisateur indiquant si une combinaison temporaire valide est trouvée ou non.
  6. Procédé informatique selon la revendication 5, caractérisé en ce que la cascade d'algorithmes comprend un algorithme (83) adapté pour vérifier au moins des première et deuxième combinaisons temporaires; la première combinaison temporaire étant générée en affectant une première valeur d'objet déterminée à un objet donné et la deuxième combinaison temporaire étant générée en affectant une deuxième valeur d'objet déterminée à l'objet donné, et si les première et deuxième combinaisons sont toutes deux valides selon la base de règles, fournir une connaissance à l'utilisateur indiquant que l'objet donné est déterminé être délié.
  7. Procédé informatique selon la revendication 5, caractérisé en ce que la cascade d'algorithmes comprend un algorithme (84) adapté pour répéter les étapes d'affecter temporairement des valeurs d'objets déterminées aux objets sélectionnés, générer une combinaison temporaire comprenant des objets ayant des valeurs d'objets déterminés, et vérifier si la combinaison temporaire est valide selon la base de règles pour différentes affectations temporaires afin de découvrir et de fournir à l'utilisateur une connaissance sur des configurations valides et invalides sur demande.
  8. Procédé informatique selon les revendications 5 à 7, caractérisé en ce que les combinaisons temporaires sont affectées au hasard de telle sorte que l'ordre des valeurs d'objets affectés temporairement est aléatoire.
  9. Procédé informatique selon les revendications 5 à 8, caractérisé en ce qu'un registre des valeurs d'objets affectées temporairement est modifié lorsqu'une ou plusieurs valeurs d'objets affectées temporairement, affectées par un premier algorithme (81, 82, 83) dans la cascade, sont comprises dans une combinaison de valeurs d'objets de telle sorte qu'un algorithme (82, 83, 84) suivant le premier algorithme dans la cascade peut exclure cette combinaison de valeurs d'objets d'un espace de combinaisons de valeurs d'objets.
  10. Procédé informatique selon les revendications 1 à 9, caractérisé en ce qu'une connaissance est déduite sous forme de valeurs d'objets.
  11. Procédé informatique selon les revendications 1 à 10, caractérisé en ce que les valeurs d'objets comprennent :
    une première valeur d'objet signifiant qu'un objet est inclus dans une configuration,
    une deuxième valeur d'objet signifiant qu'un objet est exclus d'une configuration,
    une troisième valeur d'objet signifiant qu'un objet peut être aussi bien inclus qu'exclus.
  12. Système informatique, ayant des moyens pour exécuter un programme, dans lequel le programme lorsqu'il est exécuté est de faire exécuter le procédé par l'ordinateur selon les revendications 1 à 11.
  13. Support lisible par ordinateur, sur lequel un programme est enregistré, dans lequel le programme lorsqu'il est exécuté est de faire exécuter le procédé par l'ordinateur selon les revendications 1 à 11.
EP98942511A 1997-09-09 1998-09-09 Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets Expired - Lifetime EP1012756B1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DK103497 1997-09-09
DK103497 1997-09-09
PCT/DK1998/000387 WO1999013413A2 (fr) 1997-09-09 1998-09-09 Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets

Publications (2)

Publication Number Publication Date
EP1012756A2 EP1012756A2 (fr) 2000-06-28
EP1012756B1 true EP1012756B1 (fr) 2002-06-05

Family

ID=8100257

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98942511A Expired - Lifetime EP1012756B1 (fr) 1997-09-09 1998-09-09 Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets

Country Status (7)

Country Link
US (1) US6223170B1 (fr)
EP (1) EP1012756B1 (fr)
JP (1) JP2001516104A (fr)
AT (1) ATE218725T1 (fr)
AU (1) AU9062898A (fr)
DE (1) DE69805818T2 (fr)
WO (1) WO1999013413A2 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE520367C2 (sv) * 2000-06-21 2003-07-01 Safelogic Ab Metod och anordning för interaktiv konfigurering
CN1479904A (zh) * 2000-12-08 2004-03-03 ˹��Ʒ�˹ɷݹ�˾ 利用有向无环图配置产品的方法
DE10137790A1 (de) * 2001-08-06 2003-02-20 Wittenstein Ag Selektive Lösungsermittlung für ein mehrparametrisches System
US8590011B1 (en) * 2005-02-24 2013-11-19 Versata Development Group, Inc. Variable domain resource data security for data processing systems
US7457789B2 (en) * 2005-08-17 2008-11-25 Tacton Systems Ab Configuration assistance for complex products
US8200457B2 (en) * 2005-08-17 2012-06-12 Tacton Systems Ab Customizing of computer aided design models
US8078562B2 (en) * 2008-11-19 2011-12-13 Tacton Systems Ab Decomposing configuration problems
US8645302B2 (en) * 2009-04-28 2014-02-04 Oracle International Corporation Dynamic constraint satisfaction problem solver with part-whole hierarchy constraints
DE102014216622A1 (de) 2014-08-21 2016-02-25 Volkswagen Ag Vorrichtung und Verfahren zum Konfigurieren eines Fahrzeugs
US10318702B2 (en) 2016-01-19 2019-06-11 Ford Motor Company Multi-valued decision diagram reversible restriction

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4591983A (en) * 1984-07-09 1986-05-27 Teknowledge, Inc. Hierarchical knowledge system
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
JP2752094B2 (ja) 1988-09-14 1998-05-18 株式会社東芝 論理型言語におけるバックトラック処理方式
IL93220A0 (en) 1989-02-03 1990-11-05 Bang & Olufsen As Signal processing apparatus and method
US5140671A (en) 1990-01-26 1992-08-18 International Business Machines Corporation Expert system debugger
US5195172A (en) * 1990-07-02 1993-03-16 Quantum Development Corporation System and method for representing and solving numeric and symbolic problems
US5446885A (en) * 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
CA2094946C (fr) * 1992-05-27 1998-07-07 James Melton Crawford Jr. Appareil et methodes de raisonnement non monotone efficaces
US5638492A (en) * 1992-09-08 1997-06-10 Hitachi, Ltd. Information processing apparatus and monitoring apparatus
DE69327080T2 (de) * 1992-09-08 2000-06-08 Hitachi Ltd Informationsverarbeitungsvorrichtung mit Schlussfolgerung und adaptivem Lernen
US5402524A (en) * 1992-12-22 1995-03-28 Mitsubishi Denki Kabushiki Kaisha Case-based knowledge source for artificial intelligence software shell
US5515524A (en) 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US5809212A (en) * 1993-07-12 1998-09-15 New York University Conditional transition networks and computational processes for use interactive computer-based systems
JP2837815B2 (ja) * 1994-02-03 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション 対話型ルール・ベース・コンピュータ・システム
US5500802A (en) * 1994-05-31 1996-03-19 Morris; James M. System and method for creating configurators using templates
US5592590A (en) * 1994-07-01 1997-01-07 General Electric Company Method for efficiently detecting covered rules in a knowledge base
US5617514A (en) * 1994-07-13 1997-04-01 Unisys Corporation Generalized configurator using multiple interacting packers and declaratively defined constraint expressions
US5706453A (en) * 1995-02-06 1998-01-06 Cheng; Yang-Leh Intelligent real-time graphic-object to database linking-actuator for enabling intuitive on-screen changes and control of system configuration
US5745765A (en) 1995-10-23 1998-04-28 Calico Technology, Inc. Method and apparatus for automatic and interactive configuration of custom products
JP3390312B2 (ja) * 1996-10-31 2003-03-24 富士通株式会社 オブジェクト間通信方法及びオブジェクト間通信システム
US5875285A (en) * 1996-11-22 1999-02-23 Chang; Hou-Mei Henry Object-oriented data mining and decision making system
US5951687A (en) * 1997-01-31 1999-09-14 Seagate Technology, Inc. Storage disc with self diagnostics and configuration
US5987473A (en) * 1997-09-09 1999-11-16 Beologic A/S Interactive configuration via network

Also Published As

Publication number Publication date
ATE218725T1 (de) 2002-06-15
US6223170B1 (en) 2001-04-24
WO1999013413A3 (fr) 1999-05-06
WO1999013413A2 (fr) 1999-03-18
JP2001516104A (ja) 2001-09-25
AU9062898A (en) 1999-03-29
DE69805818D1 (de) 2002-07-11
EP1012756A2 (fr) 2000-06-28
DE69805818T2 (de) 2003-01-16

Similar Documents

Publication Publication Date Title
Doreian Causality in social network analysis
Gagliolo et al. Learning dynamic algorithm portfolios
US20030177018A1 (en) System for designing virtual prototypes
Marriott et al. Programming with constraints: an introduction
EP1064601B1 (fr) Procede et appareil pour analyser un modele de systeme a base d'etats
US9589234B2 (en) Detecting missing cases in incomplete business rule projects
EP1012755A2 (fr) Procede et systeme informatique servant a realiser une configuration interactive
EP1012756B1 (fr) Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets
Groote et al. Modelling and analysing software in mCRL2
McCreesh Solving hard subgraph problems in parallel
US5793933A (en) Computer-implemented system and method for constructing a system
US7577625B2 (en) Handling of satisfaction and conflicts in a quantified Boolean formula solver
Cassandras et al. Markov chains
EP1012754B1 (fr) Procede et systeme informatique servant a realiser la configuration d'un ensemble d'objets
Ashok et al. Strategy representation by decision trees with linear classifiers
Rangaswamy Marketing decision models: From linear programs to knowledge-based systems
Goncharov et al. Kantorovich Functors and Characteristic Logics for Behavioural Distances.
WO2014091319A1 (fr) Calcul de règles d'arbitrage générales hiérarchisées pour des règles conflictuelles
Lustig et al. Synthesis from recursive-components libraries
Lin Model checking value-passing processes
Pedersen et al. Timed Comparisons of Semi-Markov Processes
Paredis et al. Simulation and constraint programming as support methodologies for job shop scheduling
Avni et al. Synthesis from component libraries with costs
Doyen et al. Regular Games with Imperfect Information Are Not That Regular
Desel et al. Simulation-based analysis of distributed information system behaviour

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20000316

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

17Q First examination report despatched

Effective date: 20000907

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: LI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20020605

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: FR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: CH

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020605

REF Corresponds to:

Ref document number: 218725

Country of ref document: AT

Date of ref document: 20020615

Kind code of ref document: T

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

RIN1 Information on inventor provided before grant (corrected)

Inventor name: SKOVGAARD, HANS, JORGEN

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 69805818

Country of ref document: DE

Date of ref document: 20020711

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20020903

Year of fee payment: 5

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020905

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020905

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020905

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20020909

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20020909

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20020930

NLV1 Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act
REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20021220

EN Fr: translation not filed
PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20030401

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20030306

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20030807

Year of fee payment: 6

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20030930

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20040909

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050401

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20040909