WO1990003618A1 - An automated method of producing a layout - Google Patents

An automated method of producing a layout Download PDF

Info

Publication number
WO1990003618A1
WO1990003618A1 PCT/GB1989/001155 GB8901155W WO9003618A1 WO 1990003618 A1 WO1990003618 A1 WO 1990003618A1 GB 8901155 W GB8901155 W GB 8901155W WO 9003618 A1 WO9003618 A1 WO 9003618A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
link
frs
plant
groups
Prior art date
Application number
PCT/GB1989/001155
Other languages
French (fr)
Inventor
James Madden
Nigel Shadbolt
Andrew Mcbrien
Original Assignee
Zyqad Limited
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 Zyqad Limited filed Critical Zyqad Limited
Publication of WO1990003618A1 publication Critical patent/WO1990003618A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Definitions

  • the present invention relates to an automated method of producing a layout from an inventory of components and the logical connetions therebetween, and a system therefor.
  • Layout is herein to be interpreted very broadly, including for example the design of a pressure vessal and the two dimensional listing in order of preferance of a number of items.
  • One application of the method resides in plant design, for example the automated production of the layout of a chemical plant. Although non-limiting, this particular application of the invention is useful in explaining the concepts thereof.
  • Plant design is includes virtually all aspects from flowsheet/process development, through equipment, electrical and structural design to hazard analysis of the finished plant.
  • CAD Computer Aided Design
  • Conventional CAD (Computer Aided Design) tools aid the draughting, filing, archiving and presentation of design information, but do not seek directly to aid the creative design process.
  • Plant layout consists of various tasks.
  • a further feature common to many layout tasks is that the problem can not be completely, rigorously defined. Consequently, the solutions also can not be completely, rigorously defined. New or more stringent design criteria arise, new hazards are seen, new ways are found to solve old problems, new kinds of process become commercially important.
  • the job of the layout engineer evolves and changes.
  • Experienced human engineers are good at solving open-ended, qualitative problems using incomplete information.
  • Such problems are characteristic of layout synthesis.
  • conventional computer methods take a consistent quantitative approach to well-defined problems and are not therefore well suited to layout synthesis. Indeed, many attempts have been made during the last 25 years or more to automate layout synthesis and none have been completely sucsessful. Host require extensive manual intervention and/or produce results which are far from optimum.
  • an automated method of using a data processing system to produce a layout from an inventory of components and the logical connetions therebetween comprising the steps of:
  • a data processing system set up to operate in accordance with the method of the f irs t aspect of the invention.
  • the processing involves the formation of a nested hierarchy of groups and arbitration between group assignments so that each functional relationship is assigned to only one group.
  • the group arbitration involves the use of at leas t one Part ial Order ing Table with sets of functional relationships defining nodes thereof and node comparision to assess the relative strengths of the functional relationships.
  • a particular advantage of the present invention is that manual intervention in the layout synthesis is reduced to a minimum, or even obviated completely.
  • the invention can produce a layout which is optimised for the given input data.
  • Figure 1 is a schematic block diagram of the
  • Figure 2 is a flow diagram of an embodiment of the present invention.
  • Figure 3 is a process flowsheet used as input for a first specific example.
  • Figure 4 is the plan view output from the first specific example.
  • Figure 5 is the elevation (looking north) output from the first specific example
  • Figure 6 is the elevation (looking east) output from the first specific example.
  • Figure 7 is the isometric view output from the first specific example.
  • Figure 8 is a process flowsheet used as input for a second specific example.
  • Figure 9 is a diagram illustrating grouping levels in the second specific example.
  • Figure 10 is a diagram illustrating the use of groups in positioning multiple items.
  • Figure 11 illustrates the Spatial Relationship graph, undirected Spatial Relationship tree and plan tree processing stages in the second specific example.
  • Figure 12 illustrates the ordering imposed on
  • Figure 13 is the isometric view output from the second specific example.
  • the present invention can provide a significant improvement in speed and accuracy of plant design.
  • An engineering design company will be able to safeguard at least some of its most valuable asset - expertise and experience - by keeping a permanent, formal record on computer. The ability of the computer system to address open-ended problems will enable
  • a fast automated design capability allows more alternative designs to be devised than is currently possible.
  • a manual design must be right first time, but using automatic design one can compare alternatives, for example a basic layout against a safer but more
  • the present invention has been successfully applied to a number of layout problems and has acheived results (as in the first specific example, described below) approximately 16 times faster than an unaided engineer.
  • the method allows direct integration of the layout process with the other computer aided activities
  • the present invention provides an automated method which can generate layouts quickly, allowing consideration of alternatives, and which can interface directly to the other computer packages used in process and plant design.
  • a particularly beneficial feature of the present invention is that it seeks to reduce this intermediary role of the analyst.
  • the human expert is encouragd to record his methods and procedures directly onto the computer, using the normal language and symbols with which he is familiar.
  • the analyst or "knowledge engineer” becomes an advisor rather than translator, and the computer is programmed faster and more accurately with the human expert's requirements.
  • Creating a knowledge base requires considerable initial effort, but once created it may be used for most future jobs without change. Jobs with new or unusual features may require increments to extend the knowledge base.
  • the architecture of an expert system is shown in Figure 1.
  • the key parts are the knowledge base and the inference engine.
  • the knowledge base contains both data and knowledge about manipulating data.
  • the data define the instance of the problem being solved, expressed as assertions rather than purely numerical data (eg. "item P117 is a pump" is valid data to an expert system).
  • the data section contains the input data and provides somewhere to write intermediate and final facts as they are inferred.
  • the knowledge base contains rules, encoded fragments of knowledge, applicable to all problems within a
  • the database must always be capable of representing new, perhaps unforseen facts, perhaps to expand the descriptive power of the system.
  • the knowledge base must be incrementable, either to allow the knowledge about a problem to expand, or to allow the application of the system to new problems. The user must be able to do this without impairing the existing capability of the system or incurring un-necessary work (for example, having to rewrite existing methods).
  • the inference engine controls the application of the rules to the database. It contains rules of inference, rather than domain specific knowledge. It controls the matching of the condition pattern against known facts, and performs updates on the database as specified by the rules.
  • the inference engine is central to the system.
  • the user will usually interact with the system at run time, interogating the database and responding to system generated queries.
  • the knowledge base must be incremented by the knowledge engineer, as described above. Both operations require man-machine interfaces.
  • the present invention can be implemented on a computer operating with the LISP programming
  • LISP has been available for many years.
  • McCarthy gave the first specification of the language in 1960.
  • LISP differs from many other computer languages because of its orientation toward "symbolic computation".
  • LISP is a computer language designed to manipulate non-numeric data structures; the fundamental data structure in LISP is the list.
  • LISP has accrued a number of advantages ooer other AI languages. Many of the most famous AI programs and systems were implemented in
  • Lisp provides the sophisticated data handling and storage management facilities needed by complex
  • LISP machines are computers whose hardware is designed to run the LISP language. By building LISP into the machine hardware it is possible to avoid the many leels of software normally required to translate an AI language into the form a normal computer can understand. LISP machines allow large programs to be run very much more quickly than would be possible on an ordinary computer which supported the language through "software translation”. LISP machines make it feasible to construct in LISP certain types of
  • the present invention provides a data processing system which is capable of reading, interpreting and representing both explicit and implicit knowledge from a process flow sheet.
  • any system which can be reduced to a process flow sheet can be analysed by the present. invention.
  • the method automatically extracts knowledge implicit in a process control sheet. For example, the system is able to deduce that item a should be located above item b so as to enable gravity feed of a substance from item a to item b, simply because the process flow sheet does not specify the use of a pump between items a and b - provided the substance is not a gas (otherwise it might flow upwards).
  • the section of the plant used in this example is shown in the process flowsheet of figure 3.
  • the process flowsheet of figure 3 was the input used for this first specific example.
  • the plant section comprises a rotary vacumn filter 10 which is fed from a filter feed tank 24 by a centrifugal pump 28.
  • Filter 10 supplies a
  • seperation tank 20 which in turn has respective outputs to an air ejector 22 and a centrifugal pump 26. which links to another section of the plant.
  • the main output from filter 10 supplies a rotating drum dryer 12. Dryer 12 is heated by warm air from a heat exchanger 14. The warm air is drawn through the dryer by a blower 17 which is protected by a cyclone 16. Dryer 12 outputs product to a hopper 18, for bagging etc. Cyclone 16 has an output connected to the input of hoper 18.
  • Figure 4 is the plan view output from the first specific example.
  • Figure 5 is the elevation (looking north) output from the first specific example.
  • Figure 6 is the elevation (looking east) output from the first specific example, and
  • Figure 7 is the isometric view output from the first specific example.
  • the system infers the layout in thirteen minutes, compared to an experienced engineer taking half a day. Its value is clearly demonstrated.
  • the first specific example is particularly compact
  • the second specific example deals with the lay out of a complete plant on a representative scale, consisting of batch reactors, the filtration and drying section of the first specific example and a solvent recovery distillation column.
  • the diversity of the plant ensures its appeal to a wide cross-section of the chemical process industry, and demonstrates the
  • the scale of the plant requires application of problem reduction techniques.
  • the first example concerns the layout of a section of a plant, with only 7 basic items of equipment. As with the first example, all items of equipment are
  • the second example concerns implementation of all aspects of the formal layout synthesis procedure. This includes the division of the plant into groups (a problem reduction technique) and a strategic approach to the layout of these groups. This has been applied to a plant of a size and complexity typical of a commercial layout task. The plant incorporates a diversity of features and demonstrates the general applicability of the present invention to any layout task.
  • the second specific example relates to a plant which imposes a task of realistic size and complexity, loosely based on one built and operated by a major
  • the plant is to produce 4000 tonnes per year of polymer (notionally poly - vinylidene chloride) from monomer. It is loosely based on a plant built by a major manufacturer.
  • the reaction is conducted in an acetone/water solution in the stirred tanks R104, R108 and R112, taking eight hours to complete.
  • the reactors are charged, in turn, every three hours from the weighing tanks T101 (wa.ter), T102 (make-up monomer)and T103 (acetone, both fresh and recycled, and recycled
  • the reaction is highly exothermic, and is cooled by the water cooled reflux condensers H105, H109 and H113. These are single pass on both sides and horizontal to increase their efficiency and thus reduce their size.
  • Initiator solution is made freshly for each batch in the stirred tanks T106, T110 and T114. Its addition is metered by pumps P107. P111 and P115 to control the reaction rate.
  • the reactors discharge, via the mono pump, P116, to the filter feed tank, T117.
  • the slurry, containing 10% of both polymer and monomer is recirculated through the feed trough of the vacuum filter, F119, wherein the level is controlled by a weir, the excess being returned to T117.
  • Filtrate and entrained air are separated in T120.
  • the air is withdrawn by the ejector, P121, to maintain the reduced pressure necessary for the operation of the filter.
  • the filtrate - containing the unused monomer and initiator, the solvent and wash water - is heated in H123 then distilled in column C124. This ensures that the acetone and monomer, recycled to the acetone weighing tank. T103, are free of initiator.
  • the water, and any unused initiator it may contain, is discharged to drain.
  • the filter cake is dried in the co-current rotary drum drier, D129, which operates at sub-atmospheric pressure to minimise dust losses.
  • the air for the drier is heated by steam in H134, and pulled through the drier by the blower P133. which is protected from the
  • the dried polymer is held in hopper V130 until fed to the bagger/palletiser X131.
  • the palletised product is transferred to the existing warehouse by forklift truck.
  • Repelling relationships such as those preventing unsafe proximity, are be identified and used to limit the action of attractive relationships.
  • the plant contains an important diversity of problems.
  • the system can be seen to lay out both the commonplace (distillation unit), and rarer units (filtration and drying).
  • Time varying attributes are represented and manipulated in the batch reaction section. Streams of all three phases, together with various multi-phase combinations, and streams under vacuum are appropriately handled. The generality of the present invention is thus shown.
  • the plant is to be laid out with equipment at many elevations. It has also to be suited to construction in a building. Both features increase the constraints on finding a solution.
  • the formation of groups of components within the example plant is a non-trivial task, due to the size and range of grouping constraints. The effectiveness of grouping is shown by the successful completion of the layout of this plant.
  • a total of 253 rules were used for the second specific example. This comprises 19 rules to complete the database, 42 to identify constraints (more than 500 where identified) and 192 to implement the processing system described herein as KAPPA. These rules occupy 1.3Mb when compiled and loaded for running. The initial database of 270kb expands to 850kb at the end of the run. Knowledge base size is constant for different layout jobs, as the knowledge is entered once then subsequently used without alteration. Database size varies from plant to plant.
  • figure 8 is the process flowsheet used as input for a second specific example.
  • Figure 9 is a diagram illustrating grouping levels in the second specific example.
  • Figure 10 is a diagram illustrating the use of groups in positioning multiple items.
  • Figure 11 illustrates the Spatial
  • Figure 13 is the isometric view output from the second specific example.
  • Both examples were implemented on an appropriately programmed conventional computer, which computer was provided with a known interface to a 3D draughting package.
  • the examples illustrate database and knowledge base representations suitable for plant layout.
  • the knowledge base is extensible and able to hold
  • Input of the process flow sheets is by way of extraction of information from a computer stored version of the flow sheets.
  • Software packages for production of the computer stored version of the flow sheets are commercially available.
  • Output from the automated design process of this embodiment of the invention is to a commercially available draughting software package.
  • KAPPA Knowledge Algorithm for Process Plant Arrangement.
  • KAPPA is a formal way of generating layout from fundamental engineering design constraints.
  • KAPPA directly addresses qualitative plant layout problems using a fully automated method - something not known to have been achieved previously. 1. The KAPPA System.
  • KAPPA Knowledge About Process Plant Arrangement
  • KAPPA is the acronym given to the rule base developed to lay out chemical process plant.
  • KAPPA is a complete and general creative plant layout tool. It is capable of performing all phases of the layout task automatically, although manual intervention in the process is possible, and in certain circumstances, necessary.
  • KAPPA assesses the process data (.the P.F.D. and data sheets) to determine the constraints to be imposed on the positions of each item of equipment comprising the plant, which may be either a requirement for proximity to another
  • KAPPA can be considered as five discrete and
  • constraints are applicable to any process plant layout task, irrespective of the particular branch of the process industry using it.
  • the constraints to be identified are more specific. (This is discussed below.)
  • the rulebase does not refer explicitly to particular items of equipment or streams, but rather, to generic types (that is. no rule exists that is applicable to, for example, pump P107 on a specific plant, but rather, all rules containing knowledge about pumps will consider P107 as an instance of the generic class, "pump").
  • the rule base may be applied to any plant to be laid out within that branch.
  • Constraints define requirements to be met by the solution. In plant layout, they define relative positions of pairs of entities, rather than the absolute position of one. Accordingly, they can be thought of as relationships between the entities. They may either demand the
  • the related objects such as the relationship between two items connected by a large-bore pipe made of an exotic alloy
  • the separation of the related entities such as the relationship demanding the separation of a fired heater from tanks storing flammable liquid in bulk.
  • the entities are not limited to being items of equipment. They include elements of the
  • ancillary entities such as control rooms; and site features, both appertaining to the operation of the plant and unconnected neighbours, such as population
  • the F.R.s are not stated explicitly in the input data. For example, a relationship exists between two items whose connecting stream is in gravity flow. This is not stated on the flow sheet. It can, however, be inferred. An instance of two items connected by a liquid stream is found in the database. It is then determined that the item feeding the stream is not a pump, and that no significant difference exists between the internal pressures of the two items. Hence, by
  • F.R.s re-states the problem posed to the system in a manner that is more meaningful and appropriate for the task in hand.
  • Their discovery induces a deep understanding of, and imparts significance to. the input data. They do not, in themselves, provide any information as to the form of the solution.
  • the concept of forming F.R.s is a generally applicable
  • the F.R.s control and constrain the solution achieved, and are the primary data objects manipulated in the process. Any layout produced by KAPPA should be the best possible subject to the imposed constraints (that is, the layout should satisfy as many of the constraints as possible). However, unidentified constraints can clearly not be considered. Thus, the completeness of the suite of rules to identify F.R.s is related directly to the
  • Each item comprising the plant is highly likely to be subject to more than one constraint, and consequently, will be related to more than one other.
  • Some of these F.R.s may be contradictory, either requiring an item to be positioned close to others which may not. themselves, be close, or requiring both the proximity and separation of a particular pair simultaneously.
  • An example of the former is the requirement to position a pump close to the item feeding it, while, at the same time, it may be desirable to place it with all other pumps in a pump bay.
  • An example of the latter are the F.R.s between a fired heater and a vessel containing a flammable liquid which it feeds.
  • One F.R. requires proximity to minimise heat loss in the connecting pipe, another requires segregation for safety.
  • F.R.s are the fundamental description of the problem recognised by the grouping and spatial synthesis systems. As such, each is referred to frequently.
  • F.R.s are made permanently available, and the computationally intensive search and matching need only be conducted once. This saving in computation outweighs the disadvantage of the resulting larger data base. This is particularly so as many of the rules which identify F.R.s are complex, and refer to.
  • F.R.s must be readily accessible to the user, so that he may modify them or alter the set to render them appropriate to the practices of his particular branch of the process industry.
  • the control structure of the operating system may be such that rules must be called explicitly, from within meta-rules. It is far easier to amend the section of the rule base which identifies F.R.s if it is discrete from the rest of the system, as the necessary control rules can also be kept discrete. This avoids the user being forced to modify the control structure of the later phases which he may then consider to be a general purpose, "black box" utility.
  • elevations of the items involved can be easily changed in the light of knowledge gained during plan layout, and plan re-assessed.
  • elevation constraints act to force the object upwards, which is undesirable, with the optimal elevation for an item being that at which all constraints are just satisfied.
  • Each relationship must be satisfied if this is necessary to the function of the plant, or should be neglected if un-necessary, as it is bound to have a deleterious effect.
  • elevation constraints which are not critical.
  • the elevations of items may, in themselves, be the cause of grouping F.R.s.
  • the need to enclose a group of columns within a structure, which should cause a group to be formed for them, may only come to light once the elevation of their respective condensers has been determined.
  • Assessment of the elevation of items may suggest the inclusion of others in the plant.
  • the need for a reflux pump may become apparent only once the elevations of the condenser and reflux drum have been derived and found to be unsatisfactory (ie. too high). It is, therefore beneficial to derive the
  • the elevations of equipment is determined in two phases.
  • the minimum elevation of each item is determined such as to satisfy all F.R.s with a vertical component to other items. These elevations are then used to guide the system in it's choosing the elevations at which floors should be inserted.
  • the floors are inserted at those elevations, and the items are then moved upwards to position them correctly relative to the floors, with the knock-on effects of these moves on the elevation of other items being considered.
  • F.R.s the frames representing the items of equipment are only referred to at all as they provide a convenient repository for intermediate values.
  • the procedure is sufficiently general for application to any elevation problem.
  • a group is defined, for the purposes of this
  • the members of a group may be laid out, in the main, considering relationships to other members of the group alone, although subject to boundary conditions. It is important that a group is not thought of as being a set of objects with a common attribute or requirement (for example, a common need for structural support), even
  • a third group formation technique is used to form groups of items which contain one object which must be segregated from the majority of the plant and those other objects which
  • Groups are formed in a rigid hierarchy, working bottom up. Thus, a pump and its standby may be made members of a single group, and their individual identities subsumed. The group then constitutes a single object which may be further grouped with other objects, either other standby groups or individual items of equipment which have no standby, and consequently have not been made a member of a standby level group. Groups of the scale of a single unit operation or heat exchanger stack, for example, are formed at this stage. The identity of each of the pumps in the pair is thus lost completely at this level, as the group containing them represents them. The process is
  • plan layout in contrast to that used in the second specific example.
  • a number of prototypical layout structures have been identified. These include arranging the equipment comprising the group in a single line along a pipe rack, arranging the members of the group in two lines, with either a pipe rack or access way
  • the prototypical structure to be applied to a group is
  • F.R. selected based on the topology of the F.R. network within that group, especially F.R.s representing connection and access requirements, the nature of the group members, and the level in the hierarchy of the group being laid out.
  • each structure which is a general
  • the inference can be conducted by rules which identify instances of the constraints and thus, render them
  • This solution process comprises an analysis of the identified constraints, the determination of which to satisfy in the event of conflicting demands, then the choice of a suitable solution form so as to maximise the number of constraints satisfied, especially those defined as being more important.
  • the solution, and the partial solutions leading to it, may also be considered to be a set of constraints, although with the inconsistencies and conflicts removed which exist in the constraints defining the requirements.
  • the constraints may be expressed as relationships.
  • the requirements may be monadic relationships between an entity and a demand, or a diadic or polyadic relationship between a number of entities which share a common need.
  • the partial solutions are expressed by diadic
  • the related entities need not be items of equipment in the plant layout domain. They may include elements of the structure or building in which the plant is to be built; ancillary entities, such as control rooms: and site features, both appertaining to the operation of the plant, such as warehouses, and unconnected neighbours, such as population concentrations.
  • F.R. Three classes of F.R. may be defined to represent the design requirements pertinent in plant layout: "physical”, “logical” and “segregation”.
  • the F.R. may represent a common need, for example, as relating two heat exchangers with a common need for tube pulling facilities, or the F.R. may represent need for proximity for physical
  • Monadic physical F.R.s represent, for example, the potential for an item to act as an ignition source.
  • F.R.s may be satisfied to some extent even when the related objects are widely spaced, although the constraint may imply benefit in placing them closely.
  • An example of this is the F.R. representing the desire to minimise the length of piping connecting two objects. In KAPPA, this is represented as a series of contiguous
  • Logical F.R.s do not arise from a specific physical attribute of the related objects, but rather, from their function. Logical F.R.s are always, by definition, diadic.
  • An F.R. classified as "segregation" is a special case of a physical F.R. It arises because the attributes of the related objects are such that their segregation will improve the safety (or other attribute) of the design.
  • a furnace and a vessel storing flammable liquid in bulk are related by a segregation F.R.
  • Segregation F.R.s are classified separately from physical F.R.s, (rather than being represented as physical F.R.s with a large minimum spacing specified) as the determination of the strength of a "link set" (see below) containing segregation F.R.s must be conducted
  • a suite of rules to infer the existence of instances of F.R.s is an important adjunct to KAPPA. These rules are not, however, an integral component of the knowledge base that derives the positions of items of equipment, but rather, are applied to the description of the plant to establish the parameters within which the positioning knowledge base must work. Sample rules are described herein.
  • Instances of physical F.R.s are identified by applying script rules to the description of the process as held in the database.
  • the knowledge embodied in such rules takes the form of, for example, "where two heat exchangers must be connected to the same service, a physical F.R. exists between them” (this arises because economic savings can be made by placing the heat exchangers close to minimise service pipework) or "where a stream contains a vapour close to its dew point, a physical F.R. exists between the connected equipment items” (this arises because the pipe carrying the stream must be short to prevent condensation).
  • logical F.R.s may be identified in two ways. Script rules, embodying such knowledge as, "a transfer pump has a logical F.R. relating it to the item from which it draws its feed, with the pump demarked as the ancillary" may be applied. Note that, for those objects which may be connected to more than one process stream (such as processheat exchangers), a logical F.R. is formed for each stream.
  • a general rule is that an object has a logical F.R. to the object to which it is connected to which it is more strongly attracted (on that stream), and the former is an ancillary of the latter.
  • the strength of attraction is measured by comparing "link sets" (see below) of physical F.R.s running parallel to the stream, both upstream and downstream of the object being
  • a set of fifteen script rules has been elicited to identify logical F.R.s. in the layout domain. This set is sufficiently broad to identify every instance of logical F.R.s in a number of diverse plants which have been investigated. These rules are described hereinafter. As the scripts are faster in application than the general rule, there is benefit in including both in a system.
  • Segregation F.R.s are a special case of physical
  • S.R.s is conducted in the spatial synthesis components of KAPPA (the elevation and plan layout phases). They constitute intermediates in the development of the solution rather than a re-statement of the problem. Their formation and manipulation is
  • F.R.s are represented as explicit data objects entered into the database.
  • the expanded data base is then passed to the later phases of KAPPA. This is at odds with many other constraint propagation systems, were the constraints are represented as generic data objects, incorporating variables, which are matched against instances as needed.
  • the explicit representation of the F.R.s is advantageous, however, for reasons of efficiency.
  • F.R.s are the fundamental description of the problem recognised by the grouping and spatial synthesis systems. As such, each is referred to frequently. By forming all F.R.s as explicit data objects, they are made permanently available, and the computationally intensive search and matching need only be conducted once. This saving in computation outweighs the disadvantage of the resulting larger data base. This is particularly so as many of the rules which identify F.R.s are complex, and the pattern typically refers to three or four frames describing plant items or streams.
  • the unique identifier is represented as a top level leaf, to allow the application of the a fast searching system.
  • F.R.S. segregation F.R.S. the levels in the grouping hierarchy at which objects must be visible to be influenced by the F.R.
  • the F.R. defining the desirability of a pump and its standby influences objects of level 1 (ie. items of equipment). If not satisfied at this level, it is neglected.
  • each "branch" frame records information about one of the related objects. Two are required for a diadic F.R.
  • a "branch" frame may have the following slots:
  • object_ID records the unique identifier of one of the objects whose relationship is related by the F.R. This slot is compulsory on ooth branches.
  • an F.R. representing the desire to minimise cable length runs between the motors on each object, constraining the objects to be positioned, not only closely, but oriented so as to as to position the motors as close as possible.
  • the F.R. arises from an attribute of the objects as a whole, it can be
  • target For example, in segregating a fired heater from the process equipment containing flammable materials, the fired heater should be removed from the plot and the segregation end slot of the branch referring to the heater takes the value "source”. The segregation end slot of the branch referring to the item containing the flammable liquid takes the value "target”.
  • the "elevation_end” slot records, for physical F.R.s with a vertical component, whether the object referred to by the branch should be above its related object (in which case, it takes the value “top”) or below (in which case, it takes the value "bottom”)
  • the "strength" of a constraint is the importance of its satisfaot.ion.
  • Physical and segregation F.R.s are formed to represent the constraints on the layout arising from physical requirements, and hence, it is meaningful to ascribe a strength to these.
  • Logical F.R.s effectively represent (and arise from) the first derivative of the strength of the physical constraints, and hence, their strength cannot be compared to that of physical F.R.s.
  • S.R.s are composite physical F.R.s, and have a strength equal to the "sum" of the strengths of their member F.R.s, and their strength is defined during their formation.
  • Partial Ordering (P.O.) Table Comparison of F.R.s can be achieved by determining which is shown to be stronger on the P.O. Table. Where the two F.R.s are incomparable, the table will branch above them, and converge below them. If it is attempted to compare such a pair of F.R.s, no result can be achieved, and an arbitrary choice may be made
  • F.R.s is represented by the position of the nodes on the P.O. Table that represent these link sets.
  • a null link set is inserted on the Table, which has an absolute strength of 0. ie. it neither repels nor
  • a small P.O. Table was constructed for use with the second specific example. This is set out below. It did not contain any compound nodes, other than allowing for multiples of F.R.s of the same type on the same node. Indeed, this P.O. Table defines all link sets comprising any number of F.R.s of the same type to be of equal strength. The Table is also of very limited scope, but demonstrates the functionality of the technique.
  • the KAPPA knowledge base may contain a number of P.O. Tables, each conforming to a particular design philosophy (eg. one in which safety F.R.s are predominant, one in which economic F.R.s are predominant, etc.).
  • the user may then select which Table to apply to a given plant, commensurate with the client's requirements. In the even of a conflict between constraints, the resolution will concur with the chosen design philosophy.
  • the user will load copies of these P.O. Tables, rathe than the original, corporate defaults. Thereby, he may edit the Table to alter the ordering or insert or delete nodes to suit his particular task. As he will be working with copies, held in the project specific database, these edits will be retained for the duration of that project. but will not be transmitted to other users.
  • the P.O. Tables are represented as frames in a stored database. Only those pairs of nodes that are directly superior and inferior are recorded in these frames. For example, a simple P.O. Table representing the link set comprising the F.R.s A and B being stronger than both of the link sets comprising F.R. A or F.R. B alone (with these incomparable), with both of these latter being stronger than link set comprising F.R. C may appear thus:
  • an array is constructed in which indirect (that is, transitive) superiority is also recorded, using the direct superiority recorded on the frame.
  • Each link set is represented by both a row and a column.
  • To compare two link sets reference is made to the intersection of the row representing one and the column representing the other. A symbol is stored at this intersection, either "stronger", weaker” or "nil".
  • the first implies that the link set represented by the first index passed as a parameter to the access function is stronger, the second, that it is weaker, and the third, that no comparison may be made in this case.
  • the array indices for the relevant row and column are obtained by matching the list of F.R.s in the instance of the link set against the F.R.s recorded in the link FRs slots of the link instance frames of the P.O. Table frame.
  • the above example of the P.O. Table frame is simplified, in that, in reality, the link FRs slot takes a list of vectors as its value. Each vector specifies the type, name and criterion of instances of F.R.s that match that vector. Wild card values, which match any F.R. are also permitted (that is, it is permissible to specify the type of F.R. needed to match that vector as being
  • Wild card values may be specified for either the criterion only, or the name and criterion together, allowing increasingly more general specification of the instances of F.R.s that match that vector.
  • the matching of the F.R.s in the instance of the link set against the list of vectors in the link FRs slots of the P.O. Table frame is conducted by an access function. This function serves to determine the maximum strength of the link set by first matching specific F.R.s comprising it against vectors fully specifying required F.R.s.
  • acces function returns the value of the link instance ID of the link instance against which the link set matches. This constitutes the parameter passed to the array access function to allow comparison of the link set.
  • the link_instance frames of the P.O. table define "bands" of numbers of F.R.s in the instance of the link set which have the strength specified by that link
  • the link instance specifies the minimum number of physical F.R.s of each type, name and criterion that must be present in the link set for the link set to be considered to match that link instance. That is, the list of vectors in any link instance must constitute a subset of the F.R.s present in the link set. Conversely, the link instance specifies the maximum number of segregation F.R.s of each type, name and criterion that may be present in the link set for the link set to be considered to match that link instance. (This arises because segregation F.R.s serve to weaken the link set). The link set is considered to match the strongest link instance satisfying both of these conditions.
  • KAPPA can be considered as having two distinct phases: Problem Reduction and Spatial Synthesis. The process is shown in Figure 2. The problem reduction phase
  • KAPPA facilitates further refinements to the layout by taking these new constraints as input for a second pass.
  • the most basic form of group may be defined as being a set of objects, either equipment items or lower level groups, which must be close in the final layout to satisfy attractive relationships. (No exact
  • a group is not necessarily a set of objects with a common attribute, even though it is their possession of that attribute that gives rise to the group.
  • Plant items are formed into groups which may then be further collated into groups of higher level (that is. of wider scope).
  • the hierarchy is flexible, with "gaps" allowed, that is, objects need not be members of groups of the immediately superior level - if no relationships exist to cause this. No object may be the member of more than one group directly, although the group of which it is a member may be a member of another group itself.
  • Each group is laid out in isolation (with the imposition of boundary conditions) and then considered to be a single imutable object in laying out its parent group.
  • plant_item standby, nosplit, superl and the plot. These names have little significance in themselves. All equipment is represented as
  • plant_objects at plant item level both pumps in a standby pair existing separately. Such pumps are collated into "standby" level groups. Standby level plant_objects and un-grouped plant_items are collated into nosplit level groups, representing a single process unit, all heat exchangers sharing a common service, or similar. Strongly related nosplit groups, - in this case, all reactor units - are collated into a superl group. No further collation occurs in the second specific example as no sufficiently strong FRs may be formed between the separate entities, in this case, to demand this. A similar procedure is used at each level to form the groups. The relationships between objects at each level are identified and represented by Functional Relationship data objects (FRs). This is acheived by rules separate from the grouping code, and is described below.
  • FRs Functional Relationship data objects
  • the system may be configured to form groups at each level by a manually written command file.
  • intelligent machine control may be used to replace this.
  • FRs should be formed and allowed to influence group collation at each level should be determined. For example, an FR between heavy plant items should cause the collation of the groups containing those plant items and their ancillaries into a higher level group, not the collation of the heavy items only at a low level.
  • the formation of the FRs must be controlled by the grouping code (that is, the rules called to form FRs immediately before they are appropriate in
  • Repelling relationships (such as, the segregation of ignition sources and vessels containing a large, flammable inventory) can be used to preclude the formation of unacceptable groups.
  • the use of the Mond Index or similar coarse hazard assessment technique can be used.
  • nosplit level groups should be formed first, then standby groups within them, as their members are already local. In general, the interactions between levels must be explored, both for collation and conflict resolution.
  • Examples of such sections include stacks of heat exchangers and columns grouped to share a common support structure.
  • the reflux pump will be absent if gravity reflux is used, or the reboiler may be built into the column, and not be represented as a separate item.
  • script rules are very general, for example, grouping all equipment with toxic contents. In fact, these are an implicit recognition of the FRs between the equipment. Instead, a more fundamental approach has been adopted, identifying and explicitly representing the causative relationships and then forming the group. The same relationships exist within many types of plant, and between different types of item within the same plant. This fundamental approach yields a compact, creative and general rule-base.
  • the hierarchical structure in which the groups exist delimits the size of an object on which a constraint acts, and the technique appropriate for satisfying that constraint.
  • thermosyphons ensuring the proximity of thermosyphons to the columns) are irrelevant, even meaningless, at the other.
  • only one of the baggers may be positioned with respect to the hopper, the other with respect to the first bagger.
  • one bagger is positioned directly beneath the hopper outlet, the other offset.
  • the baggers as being a single group. Now, the centre of the group is positioned under the hopper outlet. This is clearly a superior layout, as both baggers receive equal feed.
  • a plot will typically contain up to fifty plant items, with at least the same number of
  • a "bottom up” approach of collating related objects into groups is used.
  • the alternative is to divide the plant into increasingly smaller groups. The latter may appear more natural where the objective of grouping is to allow segregation. However, items that do not exhibit the attribute causing the segregation may still be positioned with those that do.
  • the make-up tank and metering pump feeding an aqueous catalyst solution into a reactor containing a flammable charge should be positioned with the reactor.
  • the division of the plant into equipment with flammable and non-flammable contents would place them in separate groups.
  • Class functional demarks the relationship as being functional (ie a requirement) rather than spatial (an intermediate in the solution).
  • Fr_type, fr_name and fr_criterion are increasingly specific identifiers of the FR. Its properties and effect and its "strength" (the importance of the FR in constraining the layout) are defined by some or all of these, thus allowing generic properties.
  • Fr_collation a repeat of either fr_name or fr_criterion. defines how "fine" a description of the FR is used in grouping, and how similar other FRs must be to exhibit the same grouping properties.
  • the related plant items have their object_IDs recorded in the object_ID slot of the branch frame.
  • the object_IDs of the items and, where appropriate, any groups containing them, directly or indirectly, are recorded in the group-IDs slot of the appropriate branch.
  • the use of a single FR to represent the mutual attraction of many items can be adopted.
  • a group is explicitly represented as a plant-object, similar to an item of equipment:
  • the object_ID is a unique identifier, not derived from the object_ID of any member. It is ascribed by the system.
  • the members frame contains a list of all immediate members only. For example, a nosplit group containing a pair of standby pumps has the standby group listed as a member but not the pumps themselves.
  • the fr_collation frame records which FRs may cause new members to be collated into the group.
  • a group is a single entity which may be acted upon as a whole. Therefore, it must be represented
  • All related objects are collated into the same group. Objects are considered to be related if an FR exists between them, not if they are only attached to FRs of the same type. A pair of related objects is chosen at random and a group formed around them.
  • Objects related to these are added (if not already a member) until no further addition is possible - that is, no objects related to group members, but not members themselves, remain. A new pair of related objects is chosen, and another group built around them. The process is continued until no new groups can be started (that is, all related objects are already members of groups).
  • the object to be added being "visible” at the level in the hierarchy below which the group is being formed at.
  • An object is visible at a level if it is not a member of a group at that level.
  • the attribute "visibility" on a plant object records all levels at which it is visible, the list being updated after each collation. Thus, a standby group as a whole is collated into a nosplit group, the member pumps being invisible.
  • an FR to a pump would have the object_IDs of both the pump and its standby groups as values for group_lDs.
  • the standby group could be collated into a nosplit group by this FR.
  • the group_IDs are updated after group formation at each level, the FR to the object to be added not being "split". This is discussed below.
  • the groups formed to minimise service line lengths and electrical cables are collated in-line with FR formation, that is, the collation code is written into the rules forming the FRs.
  • collation is not in general performed in-line with the formation of FRs at present because the algorithm to define split FRs cannot be applied until all FRs have been formed.
  • collation separate from the formation of the FRs would be slow.
  • in-line collation is possible and as this is a
  • An object with more than one type of FR attached to it is subject to more than one constraint. It may have to be the member of contradictory groups to satisfy all of them. However, it is not permissible for an object to be the direct member of more than one group.
  • the system must, therefore, determine a suitable strategy for either satisfying as many constraints as possible, or deciding which constraint is most important and hence, must be satisfied.
  • a weighing tank feeding two reactors, through a diverging stream.
  • the weighing tank is related to each reactor by many FRs, eg gravity flow, connection. As the stream diverges, each FR is said to be split. These FRs cannot cause the weighing tank to be collated with either reactor. If, however, the reactors are collated into the same group, perhaps to allow common access space, all FRs from the weighing tank run to the same object, and the tank is collated.
  • FRs are said to be "split" if they have the same fr-collation, share a section of process stream but are not parallel (that is, if they run from or to different objects).
  • the FRs lose their split status if the separate objects are collated, by some other FR, into the same group.
  • Demarking FRs as being split is a basic technique to delimit strongly related groups where these groups each consist of a process unit and all are parallel trains. However, without the split concept, collation would extend from one train through a common object (either feeding or being fed by all trains) to the other. One large group would result, in which the autonomy of each train would be lost.
  • each reactor has a reflux condenser, a catalyst make-up tank and a metering pump as ancillaries. Both reactors are fed from the same weighing tank and discharge through the same pump. Both the weighing tank and discharge pump have very strong relationships with both reactors, and hence, must be close to both (although, of course, space must be left for valves, etc.)
  • the reactor groups can remain autonomous, preventing the formation of a single, large group of all items and maintaining the localisation of the reactor layout problem.
  • Each reactor group, the tank and the pump are then collated into a superl group, which is laid out with the tank and pump close to both reactors groups as required.
  • Groups are formed with one such object as the sole member of each. These groups are represented
  • resolution may be different for each.
  • Each is made a member of a separate group to allow for this.
  • the reflux condenser is strongly related to the reactor (condensing vapour in the lines, boiling liquid return, minimisation of control transfer lag) and both are members of the same intermediate process group.
  • the reflux condenser is also related to the other heat exchangers (common cooling water service and similar shape), and will also be grouped with them. These other heat exchangers only have weak relationships with their process groups, as the process fluid is pumped.
  • Each vector represents one FR between the objects, containing its FR_number.
  • the member-FRs list also contains all FR_numbers.
  • the link_set enumerates a set of such vectors. All possible subsets of the link_set are compared against prototype sets on a partial ordering table. Where these match, a ranking value is extracted from the table and ascribed to the FR_link_set. The ranking values only constitute a partial ordering, that is, imply the
  • Ranks are represented as strings. Where one string is a sub-string of another, the former is of a weaker link_set than the latter.
  • New partial ordering tables can be constructed to represent different requirements from the solution.
  • Grouping conflicts are resolved, in part, on this basis.
  • the formation of partially ordered link_sets enables this to occur.
  • Groups are likely to have more than one FR relating them, which may synergistically strengthen one another. This is shown in the reflux condenser example used above, where the condenser has three FRs to the reactor group. The strength of the link set is, therefore, not equal to that of the strongest FR it contains.
  • the link set data object also provides somewhere to conveniently record the rank once assessed.
  • thermosyphon reboiler will be in a conflict between its process group (the
  • a physical group is one whose members all share a common physical attribute (for example, a tank farm, where each tank is made a member because it contains flammables) or share a physical need (for example, a group of heat exchangers with a common service
  • the collation technique used in the second specific example can divide into different groups objects which are components of the same unit operation.
  • the demonstrator plant contains a distillation unit which includes a condenser and feed pre-heater.
  • the condenser is related to the column by an FR of collation "absolutely_no_pump", that is, no pump may be inserted between the two items.
  • the vapour would condense in the pump if one were used.
  • the feed heater is related by an FR of collation "heat_conservation”.
  • the group should be formed because its members are members of the same unit operation and serve, together, to perform one task.
  • a feature of process units is that their members are more strongly attracted to other members of the group than to external objects.
  • the specification of an arbitrary minimum strength of FR allowed to partake in grouping may be considered. This is not, however, desirable because the cut-off will vary between plants (in an ethylene plant run at high pressure, with
  • cryogenic sections relatively weakly attracted items are probably more strongly attracted than the most strongly attracted items in a bulk solids handling plant), and even between groups in the same plant.
  • distillation unit comprising the column, a thermosyphon reboiler. condenser and feed heater. Neglect for now the attraction of the heat exchangers to others
  • the feed heater serves to increase the enthalpy of the stream flowing through it. Consequently, the scope for heat loss is greater between it and the column than between it and object feeding it.
  • the condenser is connected to the column by both a vapour line and the liquid reflux line. It is connected to a member of the subsequent unit operation by a liquid line, which will most likely be of smaller diameter than the liquid reflux line.
  • the thermosyphon reboiler must be close to the column to function. Clearly, all three ancillaries are more strongly attracted to the column than the objects feeding or fed by the distillation unit.
  • the central object is chosen as one having ancillaries, but no master. Its
  • ancillaires may be added to the group, their ancillaries added, and so on unitl the chain of logical FRs is broken.
  • This process provides a dynamic cut-off point for collation.
  • Coupled with the concept of the logical FR is a technique to form logical groups using them.
  • the second specific example as previously described was not implemented to identify or respond to situations in which objects may be beneficially segregated.
  • the development of the segregation FR allows the enhanced system to identify the situations.
  • the group formation code has been enhanced to consider and manipulate these FRs correctly.
  • the potential need for the segregation of objects imposes a particular demand on the group formation code. In the absence of considering
  • FRs may influence grouping at any level, and the hierarchy is flexible.
  • An enhancement is to define a rigid hierarchy of groups, each level having a specific physical significance.
  • the rigid levels to be used may all have physical significance, as shown by examples below:
  • This rigid hierarchy also allows a range of levels of objects on which a given FR acts to be defined.
  • the FR representing the attraction of a pump and its standby only act on level 1 objects (the pumps themselves). If the pumps are not made members of a level 2 group and hence, exist as separate entities at higher levels, this FR is not permitted to influence their grouping at these higher levels.
  • the levels at which the FR is active is recorded in its
  • the structural support group has been formed at too high a level as to be beneficial.
  • the structural FR can be limited to being active in constraining objects of the scale of unit operation.
  • Each type of group (physical, logical or
  • vision slot For an FR to be considered by the physical group collation code, it's "division” slot must contain the value “physical”. Similarly, it's “activity_level” slot must contain the number (perhaps amongst other) of the level at which groups are being formed.
  • in-line collation prevents the strict separation of the rules written to identify FRs from those forming the core of KAPPA. This separation is highly desirable.
  • the former must be accessible to the user to allow modification and enhancement to suit local practice and needs.
  • the user should, however, view the latter as a black box, which he controls via the input data (the FRs and PO Tables) and by responding to the system's
  • Logical groups may not be formed by the same
  • a logical group skeleton is formed for each object which is a genuine group master, that is, each object which has its identifier recorded in the object_ID slot of an FR branch which also contains the frame
  • ancillary_end master but whose identifier is not recorded in the object_ID slot of any FR branch which also contains the frame "ancillary_end ancillary”.
  • a skeleton is also formed for each object which is an ancillary of more than one other object. That is, each object which has its identifier recorded in the
  • object_ID slot of a branch which also contains the frame "ancillary_end ancillary" on more than one FR frame.
  • ancillary_end ancillary on more than one FR frame.
  • Some objects which were made masters of a group because they are ancillaries of more than one object may be ancillaries of more than one member of the same group.
  • the chain of logical FRs may have diverged and re-converged. These objects should not be masters of a group. Therefore, the two groups are merged. To facilitate this, when the group skeletons are established, they are marked as either having a
  • the members of logical groups are ascribed to "segments" of the group as well as the group's membership list.
  • a new segment is formed when an object to be added is the ancillary of an object which is also a member of a physical group.
  • its ancillaries must be removed from the logical group to become a separate group. This is so because the objects are members of the logical group because they are ancillaries of another member. Hence, if the member of which they are ancillaries is removed, no reason exists for them to remain as members. Indeed, by removing them from the group, it is possible to position them close to the physical group containing their master. By ascribing the objects to segments, this division of the logical group is easily
  • Physical and logical groups are formed because their members are mutually attracted. However, groups may also be formed because their members would constitute a hazard unless segregated from the rest of the plant. By grouping them, a single high risk area is defined. An example of this is a tank farm storing flammable liquids in bulk. It is reasonable to consider commonality of hazard to constitute an attractive relationship, and hence, the use of the standard physical group collation procedure is appropriate.
  • the hazardous objects need not be single plant items - a group contaning one hazardous member, in which the other are innocuous may have three attractive FRs to other groups with a member which is similarly hazardous.
  • objects may have some mutual repulsion, but be made members of the same primitive group.
  • a pump with an electric motor is repelled from its feed vessel if that feed vessel contains a flammable liquid.
  • the pump will be made a member of the logical group containing the vessel initially, then perhaps resolved into a pump bay group.
  • the mutual repulsion of the pump and vessel may contribute to this resolution, as it will weaken the link set holding the pump into the logical group. Note that, in this case, the segregation has arisen because the pump is more strongly attracted to the pump bay than the logical group, rather than the pump being actively expelled from the logical group.
  • FRs can be created to indicate the repulsion of hazardous objects from non-hazardous objects. Such FRs constitute segregation FRs.
  • An object may be intrinsically hazardous, for example, a nitration reactor. Alternatively, objects may only be hazardous in certain combinations.
  • An ignition source is only hazardous in combination with a source of flammable vapour, for example.
  • a division of FR alongside physical and logical has been introduced to record these repelling relationships, the segregation FR.
  • One branch of the segregation FR is labelled
  • source the other, “target”.
  • target the object referred to by the source branch is that which either constitutes a hazard in itself, such as the nitration reactor, or in the case of a hazardous combination, the object whose segregation from the rest of the plant is more
  • the furnace will be made the source.
  • the object referred to by the target branch is that which would sustain damage in the event of catatrophic failure of the hazardous object, if the FR represents a monadic hazard. Every member of the plant may be at the target end of an FR from the nitration reactor!
  • the procedure used to form groups around a hazardous object is based on the premise that as few objects as possible should be included in the group.
  • the group once formed, will be segregated from the rest of the plant.
  • the members of the group will, therefore, be separated from the services and the other process equipment to which they are connected. Additionally, all members of the group are at risk. Minimisation of the size of the group also minimises the scale of damage, reducing the cost of reconstruction and the chance of propagation of the incident.
  • the philosophy is reflected in the procedure in that it must be proven to be positively beneficial to add an object to the hazardous group before the addition is made.
  • the members of segregation groups are restricted to ancillaries of the hazardous object, or objects of which the hazardous object is an ancillary. That is. objects are not considered for addition to a segregation group if they are related to the hazardous object by physical FRs only.
  • Segregation groups are formed as follows. A group skeleton is constructed around each object at the
  • source end of a segregation FR which is active at the current level of group being formed. Thereafter, objects which are either masters or ancillaries of current objects may be added to the segregation group, subject to the link set from the object to be added to the then current members of the segregation group being stronger than the null link set of the PO Table.
  • the object just added and all objects of which it is an ancillary are formed into a temporary sub-group.
  • a link set is formed from the sub-group to the rest of the segregation group members which are ancillaries of the hazardous object causing the group. If the strength of the link set exceeds that of the null link set, the masters of the members of the sub-group are added to it (if not already members) and the test repeated until the object causing the group is the next to be added to the sub-group. If at any time, the link set is found to be weaker than the null link set. the members of the temporary sub-group are removed from the segregation group. Thereafter, no further ancillaries of the remaining group members are added.
  • Addition of objects to the segregation group is continued until no objects exist that are suitable for additon, or removal of members has occurred from both the masters and the ancillaries of the segregation object.
  • the reflux condenser in a reactor group may also be a member of the group of water cooled heat exchangers.
  • KAPPA must determine of which group the condenser must ultimately be a member.
  • the object is made a member of that group to which it is most strongly attracted.
  • the relative attractions to all group of which it is potentially a member are determined by constructing link sets to each and comparing their strengths via the PO Table.
  • the FRs to be included in a link set are
  • the link set may include all FRs to all other members of the
  • a conflict is represented as a group, with its
  • each conflict group has one member.
  • the column reboiler and feed heater will both be involved in this conflict.
  • a steam line must be run into the process unit. Therefore, both heat exchangers should be placed in the process group, as no saving on service piping occurs by positioning one in the heat exchangers group.
  • POPA pull one; pull all
  • a conflict between a pair of groups is indicated as being a POPA conflict by one of the groups being a physical group, one being a logical group, and the FRs causing the physical group having the slot "conflict_action POPA”.
  • a POPA conflict is indicated, a single conflict group is created to contain all the appropriate objects. This is then manipulated as a single object.
  • some objects which are members of POPA conflict groups may also be involved in other conflicts.
  • a process unit represented as a logical group, comrpising, amongst other equipment, a steam-heated heat exchanger and a steam ejector. These two items of equipment will be members of the physical group of equipment requiring a steam service.
  • the conflict between this group and the logical group is a POPA conflict.
  • the heat exchanger will also be a member of the physical group of heat exchangers, formed to allow sharing of maintenance facilities. It is made the sole member of a second conflict group to represent this. Thereafter, should the heat exchanger be placed in the heat exchanger group, the back-tracking system will remove it from POPA group.
  • all members of a POPA group must be members of the same logical group. If the logical group is broken up during conflict resolution between the members of the POPA group, the POPA group itself is broken up by the back-tracking system.
  • Link sets are also constructed during the
  • Each conflict group may have up to three link sets to each primitive group from which its member (or members) were
  • a link set to the full primitive group contains all FRs from the members of the conflict group to all members of the primitive group (including those involved in conflicts).
  • a link set to the core of a primitive group contains all FRs from the members of the conflict group to all those members of the primitive group which are not involved in any conflict.
  • a link set to the segment of a logical group contains FRs from the members of the conflict group to members of those segments of the logical group from which the members of the conflict group were extracted. Each link set is demarked as to which component of the primitive group it runs.
  • the resolution of the conflicts is conducted by applying heuristics, which suggest probable sound solutions for a given situation.
  • heuristic is made on the basis of likelihood of its use contributing to a final correct solution. That is, the application of those heuristics whose solution is least likely to be revoked in back-tracking is attempted in preference. The application of the heuristics is controlled by meta-rules.
  • heuristic applies. This, of course, is the least favoured heuristic.
  • Each heuristic forms a frame to represent its decision, which identifies the objects involved in the decision, and the "winner" chosen. This is for implementational convenience, compared to the heuristic restructuring the groups itself.
  • restructuring is conducted, according to the decisions, by separate rules. As this restructuring affects group membership, the back-tracking system is invoked to reform the appropriate link sets. Those decisions dependent on these link sets are checked for continued validity and decisions changed if necessary. The restructuring of groups may then be revoked or repaired if required. (Note that the reformation of the link sets and the maipulation of the knock-on effects of this is conducted automatically by the back-tracking system.) The procedure is conducted in a cycle of choice of a heuristic, application of this heuristic, to one
  • Relationship is a generic frame for all kinds of FR and SR.
  • Class takes a value from ⁇ functional spatial ⁇ to distinguish FR from 9R.
  • FR_name serves only to identify cross link FRs for floor trains, when it takes the value ⁇ stack ⁇ .
  • FR_name is ignored by spatial synthesis and serves a descriptive function in grouping.
  • Branch delimits reference to a plant object.
  • an FR may relate several objects, each having a separate branch.
  • most FRs are binary, having two branches, relating two objects.
  • Object_ID contains the unique object ID number of the plant object (item of equipment or group) to which the FR principally refers.
  • Group_IDs contains several slots each being the unique object ID number of a plant object (item of equipment or group) to which the FR may also refer.
  • a FR for "sharing heavy foundations" may
  • Elevation_end is optional, occurring only on
  • elevation FRs It takes a value from ⁇ top bottom ⁇ and defines the attitude of the elevation constraint.
  • Plan_end is optional, occurring only on floor train cross links, ie with (FR_name stack). It takes a value from ⁇ from to ⁇ and defines the attitude of a cross link constraint, ie which of the two related objects should be further along the floor train.
  • Hit_range is optional, occurring only on elevation FRs . I t specif ies which constraints may be ignored should a single elevation SR be unsatisf iable. It takes a value from ⁇ critical non_critical ⁇ . Should
  • Min_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the minimum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
  • Max_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the maximum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
  • Height is measured centre of object to centre of object.
  • Min_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the minimum acceptable
  • Distance is measured centre of object to centre of object.
  • Max_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the maximum acceptable
  • the KAPPA implementation defines height and distance conventions suitable for dealing with negative height separations and for generating SRs from FRs between the same objects having their ELEVATION-ENDs or
  • the height/distance convention of this embodiment is not completely general, it can break down for example with (min_height -1) (max_height 1).
  • SR Spatial Relationship
  • Absolute elevation with respect to site is taken to be the minimum satisfying all elevation SRs. It is measured in metres from grade to equipment origin which typically is the equipment centre.
  • floor banding is optional - depending on the plant.
  • Floors are
  • Elevation is highly constrained, every item goes as close to the floor as its constraints permit, so in principle it is permissible simply to take the tallest constraint on an item and use that to determine height. Every elevation constraint must be met irrespective of whether it crosses group boundaries. If an elevation constraint were somehow "optional” it would be broken and the constrained item placed at ground level. Having said this, active elevation constraints depend on many factors, for example if ground space is at a premium more items would be elevated. But, once elevation constraints are imposed all of them must be satisfied. For these reasons grouping is not manifest in elevation, only in plan. Elevation of a group is not defined, only elevation of a plant item.
  • absolute elevation with respect to site is determined individually for each plant item from its constraints, without reference to groups.
  • the single elevation constraint between two items is carried on an elevation SR (Spatial Relationship), containing composite information from all elevation FRs between the two items.
  • Relationship is a gener ic frame for all kinds of FR and SR.
  • Class takes a value from ⁇ functional spatial ⁇ to distinguish FR from SR.
  • SR_type takes a value from ⁇ qualitative
  • SR_name takes a value from ⁇ elevation plan floor train floor_train_east X_link ⁇ to distinguish these kinds of SR.
  • Floor_train & floor_train_east are two subtypes of floor train SR.
  • Branch delimits reference to a plant object.
  • An elevation SR relates exactly two objects, each having a separate branch on the SR. These objects are always plant items.
  • Object_ID contains the unique object_ID number of a plant item to which the SR refers.
  • Elevation_end takes a value from ⁇ top bottom ⁇ and defines the attitude of the elevation constraint.
  • each branch is potentially constrained by the other, for example column and reboiler - column outlet must be at least 1m above reboiler inlet, but reboiler outlet must be no more than 0.5m below column inlet.
  • the column might be raised until the first constraint is satisfied, or if the column were already elevated for some other reason, the reboiler might be raised to satisfy the second constraint.
  • C_min_height & c_max_height take numeric values specifying the composite elevation constraint of all elevation FRs with (hit_range critical). Min is the largest of the FR minima, and max the smallest of the FR maxima.
  • N_min_height & n_max_height take numeric values specifying the composite elevation constraint of all elevation FRs with (hit_range non_critical). Min is the largest of the FR minima, and max the smallest of the FR maxima.
  • Min_height & max_height are the composite of
  • min_height is the larger of c_min_height & n_min height and max_height is the smaller of c_max_height & n_max_height. Should the two bands not overlap
  • min_height is c_min_height and max_height is c_max height. Should c_min_height exceed c_max_height the constraint cannot be satisfied.
  • a more sophisticted means of compromise can be implemented, for example to cover the case where all elevation FRs are compatible except for one non critical which must be broken - rather than breaking all non criticals.
  • a single elevation SR is generated between any two plant items connected by an elevation FR.
  • the SR carries the composite constraint defined by all
  • An object may have several SRs representing elevation constraints with respect to several other obj ects .
  • Every real plant item has an elevation FR connecting it to local grade and specifying a minimum elevation of ground level. This is to avoid items having elevation zero and being half underground.
  • a skeleton elevation SR is generated betweenn any two objects connected by an elevation FR.
  • An elevation FR is characterised by possession of the elevation_end attribute on its branches.
  • a skeleton elevation SR looks like this: (relationship
  • Z_posn takes a numeric value for the height in metres of the plant item's centre above site grade.
  • each plant item is examined, il ⁇ existing Z posn found, and its elevation SR to local grade found.
  • the existing Z_posn is overwritten with the larger of existing z_posn and minimum elevation from local_grade.
  • each plant item is examined, its existing z posn found and an elevation SR found from it to another plant object.
  • the current z_posn of this second object is found.
  • a new elevation for the first object is calculated from the sum of second object's z_posn and minimum elevation of first above second specified by the SR.
  • First object's z_posn is overwritten with larger of existing z_posn and its new elevation.
  • Z_posn is height in metres above site grade.
  • Floor heights are determined manually, in the simplified system. But, the floor heights are preferably determined by the system.
  • Floor banding is based on a distinct kind of
  • Elevation FRs connected to local_floor specify a min/max height band within which a floor (or site grade) must lie. These are generally used to specify the need for some supporting structure within reach of the item.
  • Elevation FRs connected to fouled_floor specify a "dead band" where no floor should appear. These are used to specify clearance around fittings requiring access - for example to avoid floors running through the middle of a nozzle.
  • Local_floor FRs are identical to ordinary elevation FRs except that they connect to a notional object.
  • Fouled_floor FRs are similar, except that they define a band in which no floor must lie, rather than a band in which a floor should lie.
  • Floor FRs take no direct part in the elevation procedure described above.
  • flooring FRs are examined. If a floor lies within the required band of a local_floor FR the FR is ignored.
  • each item is
  • An item may have any number of F.R.s to access floor.
  • the height of the item is defined by the F.R. to support floor, in much the same way as the heights of items are defined by the F.R. to local floor in the second specific example. If F.R.s to access floor are unsatisfied, the item may only be lifted if this does not cause the F.R. to support floor to become
  • the features of the object to which access is required may be moved where there is freedom to do so (for example, column side manholes need be spaced regularly, but which tray they access, and hence, their elevation, is not critical). Domain specific rules may be written to identify when this is possible and conduct the alteration.
  • a representation of a platform is entered into the database by the system to satisfy any F.R. to access floor which cannot be aligned with a real floor after these measures have boen
  • elevations for floors based on the number of F.R.s any position may satisfy.
  • the elevations at which floors are required to satisfy every F.R. to access floor are noted.
  • the number of F.R.s to be satisfied at each altitude is then calculated.
  • a floor is positioned at the lowest height at which the number of F.R.s
  • the items are re-positioned to use this floor or as a result of being pushed up, and the position of the next floor is determined. This is repeated until no further floors are required.
  • the floors are positioned at a minimum because this minimises the distance that items need be lifted. Where the minima are too widely spaced, a floor is imposed between them. Where they are too close, the lower floor is omitted.
  • plan arrangement is generated for members of a group with respect to that group. Groups are layed out before their parent group, the so called “bottom up” approach. This approach gives dimensions of objects which are being layed out, as the objects themselves have already been layed out.
  • All FRs carrying plan information between each pair of objects are represented by a single composite data object. This then conveniently provides a single source of all information describing the constraints between the objects.
  • a relative strength or weight is written onto the single composite data object according to the total strength of the set of FRs it represents, that is. the importance of the set in constraining the layout.
  • the weighting values are drawn from tables defined by the user which may be changed to reflect different
  • Each object might have more than one composite set of constraints refering to it.
  • An abstract structure providing the required single constraint on each item's position is constructed from these composite
  • This "Plan Tree” defines which object another object must be positioned with respect to. and imposes an order in which the layout should be attempted.
  • plan tree is an intermediate in the synthesis of the layout. As such, it has no direct physical meaning.
  • the strategy used to transform the plan tree to plan positions with respect to the parent group depends on the scale at which the .plant is viewed - laying out a pump bay is not the same as arranging plots in a
  • Plan positions of plant items within standby groups are generated by script rules, as standby group layout is usually trivial. Nosplit groups are laid out along an elemental linear datum and the plot is formed by packing the elemental sections thus formed along a notional skeleton of access-ways and piperacks.
  • the linearising algorithm is used at "nosplit" and "superl” grouping levels to generate plan positions from plan tree. Linear layout of a group results in one side of the group providing access and the other pipe-routing.
  • the plan tree is mapped into a "Floor Train", a line of equipment running alongside an accessway or
  • plan tree will map into several floor trains, one for each floor. These trains are nominally
  • a distinct kind of SR represents floor trains, indicating that one item follows another, or that a cross link exists.
  • Separations are carried on floor train SRs just as vertical separations are carried on elevation SRs.
  • Items in close packed floor trains may have freedom to move without affecting the rest of the group - particularly when cross links open up floor trains from close packed state. This freedom can be exploited during the top down adjustment phase.
  • Linear layout with different configurations of flooring, access and pipe routing may be required. For example plants without floors or pipe rack, or where access is available beneath pipe rack, and others.
  • the equipment comprising a plant that has been layed out well is positioned, in general, in rows one item deep. Access, consisting of a major gangway or a road, is provided at the front of the row, with secondary access and perhaps a pipe rack to the rear.
  • accessway topology should be as simple as possible.
  • Linearly arranged groups are to be positioned on the plot or site so as to share
  • the second specific example requires the site (or plot) to have a notional skeleton consisting of pipe racks alternating with, and parallel to, accessways.
  • Linear groups are then arranged within this striated skeleton.
  • Dimensions of site components are known (since they are layed out first), they are arranged on the site to fill a rectangle of reasonable aspect ratio.
  • Plan layout is generated for individual groups, first the low level ones, then the higher level ones containing groups already layed out.
  • Plan arrangement is generated for members of a group with respect to that group. Members of the group are flagged with the slot (group_selection enabled) and the parent group flagged with (group_selection parent).
  • FR link sets are built, summarising the FRs relating each pair of enabled objects.
  • a FR link set looks like this:
  • Group_ID identifies one of the linked plant objects (equipment item or group). Each link set has exactly two group_ID slots.
  • Scope takes a value from ⁇ internal external ⁇ and indicates whether the link set relates two items in the currently enabled group, or one enabled item and one item from outside the group.
  • Link_set summarises all FRs connecting the linked objects. This is an intermediate for FR-links-ranked.
  • FR_links_ranked is a list of possible maximal ranks for this link set, according to current partial ordering table.
  • link sets are rebuilt on several occasions using different partial orderings. Preferably they are constructed once, with several ranks recorded from different PO tables.
  • a skeleton link set is built (internal or external to currently enabled group) between any two objects related by a FR. Then, for each link set, a summary of each parallel FR (ie connecting same objects as link set) is placed in slot (link_set ... ). This summary contains the
  • a weighted SR graph is constructed from enabled plant objects and link sets. See Figure 11 for examples of SR graph, SR tree and directed SR tree. Each link set maps to a SR, plant objects forming nodes of the graph. The weight assigned to each SR is the maximal rank taken from (FR_links_ranked ).
  • a spanning tree of maximum weight is extracted from this graph.
  • the arcs of this tree are plan SRs.
  • a plan SR looks like this:
  • a tree root is chosen by examining all FR link sets with slot (scope external) and selecting the group member with strongest external link set.
  • Plan tree is directed away from root, by setting slots (plan_end ?) on SR branches.
  • the tree directing algorithm operates as follows: All plan tree SRs connected to root have (plan_end from) inserted on root branch and (plan_end to) on other branch. Such SRs are said to be directed. Any node in the tree (ie plant object) is said to be directed when it is at (plan_end to) of some directed plan tree SR. Any undirected SR connected to a directed node has
  • This SR plan tree provides the single-constraint starting point for the linearising and site plan
  • the linearising algorithm operates on an enabled group immediately after plan tree has been generated.
  • the group is to be arranged as a single row of equipment (with some small exceptions) running
  • a notional pipe-route runs north-south along the eastern side of the equipment, and a notional accessway runs along the western side. These choices of direction are arbitrary, but the group can be rotated or reflected into another configuration later.
  • the first step is to orient the plan tree, deciding whether each plan tree SR should point north or south along the pipe-route.
  • An exception to this is pumps, which are placed beneath pipe-rack near their feed vessels. Plan tree orientation starts at root, and continues through the tree in depth first order. Some plan tree SRs can only be oriented knowing the
  • Orientation with respect to parent group is stored on a plant object like this:
  • Group azimuth is measured anticlockwise in degrees from principle axis of parent group to principle axis of object in question.
  • principle axis is eastgoing.
  • principle axis depends on item's geometric primitive.
  • Pump standby groups are placed beneath pipe rack, ie plan tree SRs whose (plan-end to) is a pump group, are oriented eastward.
  • the special orientation rules can include
  • Linear layout can be formalised for plants with no floors, plants without major pipe racks, and other variants.
  • plan tree is oriented
  • floor lists can be generated.
  • First a Principle Floor List is made, a single ordered list of items running from south to north along the pipe rack.
  • the oriented plan tree is processed depth first, each item being inserted before its tree-parent if the connecting SR is south oriented, and inserted after its tree-parent if the connecting SR is north oriented.
  • an item is at (plan_end to) of two or more identically oriented plan tree SRs, the system is free to choose the order in which they are processed.
  • One special case of reforming has been implemented in the present embodiment for metering pumps.
  • Floor trains are generated from floor lists.
  • a floor train is a collection of floor train SRs which
  • a floor train SR looks like this:
  • a floor train SR relates exactly two items. For an individual floor list, floor train SRs are created from each item to each subsequent item in the list. On each SR is placed a standard separation distance using slot (min_distance ?) - just like vertical separations for elevation. There may also be a maximum separation distance using slot (max_distance ?). These will specify that equipment in a floor list be "strung out” in a line with standard intervals between adjacent items.
  • Inter-item spacing can be carried on FRs, then transferred to floor train SRs as with elevation FRs. This gives greater flexibility allowing appropriate pipework clearance, access and safety spacing etc to be specified.
  • Cross link SRs are now built, these specify that equipment items on different floors be aligned, with their mutual horizontal separation falling within
  • Cross link SRs are similar to floor train SRs except in SR_name which takes the value X_link.
  • Cross link SRs are built from those FRs having slot (FR_name stack) in the same way as elevation SRs are built from elevation FRs, except that min/max_distance replaces height.
  • a cross link SR is formed from a single stack FR, for example to align a hopper outlet with a bagger inlet on the floor below.
  • each plant object is examined, its existing GY posn found and a floor_train or X_link SR found from it to another plant object.
  • the current GY_posn of this second object is found.
  • a new northing for the first object is calculated from the sum of second object's GY posn and minimum separation distance of first from second specified by the SR.
  • First object's GY_posn is
  • GY_posn is only overwritten by new northing when new northing exceeds existing GY posn by 2cm.
  • mapping of plan tree to floor trains & cross links can be extended, with particular attention to loop finding and breaking methods, and to the use of extra SRs to "take up slack".
  • All eastgoing plan tree SRs are mapped to a special kind of floor train SR having slot (SR_name floor_train east), where min/max distance refers to easterly offset from main equipment line, under pipe rack.
  • floor_train_east SRs can be extended.
  • each easterly displaced item is assigned the same northing as its tree-parent item, ie it is placed beneath pipe rack alognside
  • All items on the main floor trains are given eastings of zero in slot (GX_posn ?).
  • the easting given to any displaced item is the min_distance specified by the single floor_train_east SR constraining that item.
  • This determination of eastings can be enhanced, for example to align equipment on a common tangent, to cover specialised equipment needs or to arrange pumps neatly beneath pipe rack.
  • the initial test case had only three modules on site. More complex site configurations can, of course, be dealt with.
  • the site skeleton consists of a number of parallel "Tracks" numbered 0, 1, 2 ... and extending northwards from an arbitrary baseline.
  • Each track represents an open space flanked on one side by a pipe rack, and on the other by a road or accessway.
  • Adjacent tracks share access or pipe rack alternately. On each track is placed an ordered sequence of "modules" - members of the site group.
  • a module is a high level group and has already been layed out (using linear method), so the dimensions of each module are known.
  • An ideal aspect ratio is chosen for the site, in the present embodiment this is manually selected and is approximately 3:2. From the aspect ratio, the site extent is calculated along the direction of the tracks. This extent is referred to as "critical track length”.
  • First track 0 is chosen. Modules are added to the chosen track in any order until the total module length on the chosen track exceeds the critical track length. Then the next track is chosen and modules are added in similar fashion. This is repeated until every module is on a track.
  • Module orientation is chosen so that access and pipe sides of a linear module coincide with access and pipe sides of the track, thus module length can be found in the direction of the track.
  • Each module has one remaining degree of freedom, the choice of reflection through track direction, ie
  • Elevations are already expressed in absolute terms with respect to site grade.
  • Plan coordinates and orientations are initially expressed with respect to parent group, a recursive transformation is applied to generate absolute
  • Laying out a process plant is a process in which constraints are recognised and as many as possible satisfied. Within the specific example, their
  • FRs Functional Relationships
  • the database must be checked after its initial construction. This is both to ensure that it is an accurate description of the plant, and that each data object is correctly structured so as to be recognisable by the rules.
  • the correct keywords must be used as frame heads, with the frame heads consistent with the adopted standard and appearing as slots of the correct superior frame.
  • the database as initially formed, is not input directly into the KAPPA algorithm. Contraints must be identified and recorded by rules written by the user.
  • KAPPA acts on these. Consequently, its structure is at the discretion of the user, in the main, although a few requirements are imposed upon it.
  • the database must conform to a standard, or rules will be unable to recognise data objects. Thus, frames must appear in the right context, and all attributes must be represented by the correctly named frame. For
  • the cross reference from a stream to a nozzle must be carried on the stream in the slot "connects_to" which must be an attribute of a "branch".
  • the values must also be correct.
  • the nozzle name must be consistent on both the stream and the nozzle,
  • the frame head keywords and their possible values in the database are defined by the user. As such, the implementation of syntactic and semantic checks must be the user's responsibility.
  • Syntactic errors will cause frames to be neglected, as they can never match any pattern written conforming to the accepted database standards. Semantic errors will cause the wrong inferrence to be made. Both may lead to serious defects in the layout, as critical constraints might not be acted upon by the KAPPA algorithm. However, all syntactic errors, and any semantic error resulting in an inconsistency can be found by error checks.
  • the initial database must also contain sufficient fundamental information to define the plant to be laid out. This must consist of all information that cannot be inferred at all, such as equipment IDs and types, and a minimal sub-set of calculable data from which all other values can be derived. It is for the user to define what data is required to support the identification of the constraints in which he is interested.
  • Menu-driven inputs configurable by the user, will enforce the use of conventions set by the user's project management and reduce errors.
  • declarations used to assist searching should be produced by a user to support his database conventions.
  • New semantic checks may be implemented if appropriate following any changes in database structure.
  • the mass balance checks are sufficient to check for random errors in connectivity, flowrates, and data structures of streams and nozzles (found to be the most common sources of error). An incorrectly structured stream or nozzle (or nozzle on an incorrectly structured plant object) is missed and cannot contribute to the accumulation. Incorrect values cause imbalance directly.
  • the component balance checker also checks the
  • the mean flowrate (during periods of flow in an intermittent stream) is calculated as the arithmetic mean of the maximum and minimum flowrates
  • Mean flowrate (during periods of flow) is calculated as the total charge passing through a stream in a period of f low divided by the length of the per iod .
  • a s eparate rule performs the inverse of this.
  • the mean flowrate (that is, the flowrate during periods of flow) is set equal to the flowrate (that is, the flow rate averaged over periods of flow and no flow).
  • a separate rule performs the inverse of this.
  • the maximum flowrate is set equal to the mean
  • the minimum flowrate is set equal to the mean
  • the flowrate averaged over periods of flow and no flow is calculated as the charge flowing in each period of flow divided by the cycle length.
  • the operating pressure. of a space within an item is set to 1 atmosphere unless otherwise stated. Pump operating pressures exclude allowance for overcoming hydrostatic head.
  • the operating temperature of a space within an item is set to ambient (assume 291K) unless one of operating, inlet or outlet temperatures are given for that space.
  • the proportions of the contents of a stream in each phase are calculated from the distribution of each component between the phases.
  • the total density of the contents of a stream are calculated from the densities and proportions of each stream. Any volume change on mixing is neglected.
  • More rules to complete the database may be written if further fundamental data are found to be required for input to an expanded knowledge base.
  • the system must infer the physical type of equipment, in a taxonomy relevant to the layout engineer, and
  • the position of an object is constrained by
  • FRs should preferably be structured thus:

Abstract

A constraint based system capable of deriving an optimised layout is disclosed. The system involves identifying and recording constraints upon the relative spatial locations of components in terms of a plurality of functional relationships. The functional relationships are used to assign components to groups in accordance with the functional relationships. The relative spatial locations between the components are determined at least part in accordance with the group assignments. Preferably, the processing involves the formation of a nested hierarchy of groups and arbitration between group assignments so that each functional relationship is assigned to only one group. Beneficially, the group arbitration involves the use of at least one Partial Ordering Table with sets of functional relationships defining nodes thereof. Node comparison is then used to assess the relative strengths of the functional relationships.

Description

"An Automated Method of Producing a Layout
The present invention relates to an automated method of producing a layout from an inventory of components and the logical connetions therebetween, and a system therefor.
Layout is herein to be interpreted very broadly, including for example the design of a pressure vessal and the two dimensional listing in order of preferance of a number of items.
One application of the method resides in plant design, for example the automated production of the layout of a chemical plant. Although non-limiting, this particular application of the invention is useful in explaining the concepts thereof.
Plant design is includes virtually all aspects from flowsheet/process development, through equipment, electrical and structural design to hazard analysis of the finished plant.
Computer Aided Design (CAD) tools are available to aid all these tasks, but such tools generally serve to record or enumerate design work and decisions made by the human engineer. Conventional CAD (Computer Aided Design) tools aid the draughting, filing, archiving and presentation of design information, but do not seek directly to aid the creative design process.
The quality of the layout is second only to the choice of process in determining the economics of a process plant. However, the synthesis of layout is a bottleneck in the design process. Consequently, it is usual for little time to be allowed for its completion (perhaps only two days, for an initial design) now that process plant design contractors must operate in a highly competitive environment. Highly experienced engineers are able to produce one design in this time. This precludes the synthesis of alternatives, from which the "best" design can then be selected. Such synthesis of alternatives would, however, be highly desirable given the lack of any known optimisation procedures. The trend away from green-field sites and the
introduction of technologies whose values are only realised in compact or convoluted plant constrain the layout and exacerbate the difficulty.
Plant layout consists of various tasks. The
physical size and shape of each plant item, and the positions of nozzles, manholes, etc upon it may be estimated, based on process data, and the items must then be positioned relative to each other. These tasks suffer from the sparsity of data available at the early stage in the design process at which the layout must be synthesised. Additionally, the available data are implicit and must be rendered explicit, and they are subject to change.
Some of the tasks consists of well defined, routine and time consuming procedures. Others rely upon reference to tabular data, corporate and personal experience.
Although some aspects of plant design are already conducted using computer aids, this still involves the transfer of results between the specific sub-tasks and, more importantly, the main layout synthesis is done manually. This is error prone and imposes a time overhead which can be ill afforded.
The general considerations descibed above apply to all layout tasks, in one form or another. Most layout tasks share some common features, they often receive large amounts of information from prior design tasks, and pass on yet more information to subsequent tasks. Many design tasks run simultaneously for economic reasons, so that subsequent tasks may have to commence before their precursors are finished. Much layout information is non-numeric, for example process
connectivity, equipment function, service requirements and hazards are all difficult to quantify.
A further feature common to many layout tasks is that the problem can not be completely, rigorously defined. Consequently, the solutions also can not be completely, rigorously defined. New or more stringent design criteria arise, new hazards are seen, new ways are found to solve old problems, new kinds of process become commercially important. The job of the layout engineer evolves and changes. Experienced human engineers are good at solving open-ended, qualitative problems using incomplete information. Such problems are characteristic of layout synthesis. However, conventional computer methods take a consistent quantitative approach to well-defined problems and are not therefore well suited to layout synthesis. Indeed, many attempts have been made during the last 25 years or more to automate layout synthesis and none have been completely sucsessful. Host require extensive manual intervention and/or produce results which are far from optimum.
According to one aspect of the present invention there is provided an automated method of using a data processing system to produce a layout from an inventory of components and the logical connetions therebetween, comprising the steps of:
identifying and recording the constraints upon the relative spatial locations of the components in terms of a plurality of functional relationships;
using the functional relationships to assign components to groups in accordance with similarities between the relationships, and
determining the relative spatial locations between the components in accordance with group assignment. According to another aspect of the present invention there is provided a data processing system set up to operate in accordance with the method of the f irs t aspect of the invention.
Preferably, the processing involves the formation of a nested hierarchy of groups and arbitration between group assignments so that each functional relationship is assigned to only one group.
Benefically. the group arbitration involves the use of at leas t one Part ial Order ing Table with sets of functional relationships defining nodes thereof and node comparision to assess the relative strengths of the functional relationships.
A particular advantage of the present invention is that manual intervention in the layout synthesis is reduced to a minimum, or even obviated completely.
Additionally, the invention can produce a layout which is optimised for the given input data.
Embodiments of the present invention will now be described in more detail, by way of example only, and with reference to the accompanying drawings, in which:
Figure 1 is a schematic block diagram of the
architecture of an expert system,
Figure 2 is a flow diagram of an embodiment of the present invention.
Figure 3 is a process flowsheet used as input for a first specific example. Figure 4 is the plan view output from the first specific example.
Figure 5 is the elevation (looking north) output from the first specific example,
Figure 6 is the elevation (looking east) output from the first specific example.
Figure 7 is the isometric view output from the first specific example.
Figure 8 is a process flowsheet used as input for a second specific example.
Figure 9 is a diagram illustrating grouping levels in the second specific example.
Figure 10 is a diagram illustrating the use of groups in positioning multiple items.
Figure 11 illustrates the Spatial Relationship graph, undirected Spatial Relationship tree and plan tree processing stages in the second specific example.
Figure 12 illustrates the ordering imposed on
Functional Relationships in the second specific example, and
Figure 13 is the isometric view output from the second specific example.
The present invention can provide a significant improvement in speed and accuracy of plant design.
Human engineers are freed to concentrate on more
important or difficult or perhaps ambitious aspects of design. An engineering design company will be able to safeguard at least some of its most valuable asset - expertise and experience - by keeping a permanent, formal record on computer. The ability of the computer system to address open-ended problems will enable
"corporate knowledge bases" to survive and evolve over a period of years.
A fast automated design capability allows more alternative designs to be devised than is currently possible. A manual design must be right first time, but using automatic design one can compare alternatives, for example a basic layout against a safer but more
expensive one.
The present invention has been successfully applied to a number of layout problems and has acheived results (as in the first specific example, described below) approximately 16 times faster than an unaided engineer. The method allows direct integration of the layout process with the other computer aided activities
constituting process plant design.
Thus, the present invention provides an automated method which can generate layouts quickly, allowing consideration of alternatives, and which can interface directly to the other computer packages used in process and plant design.
The complex objects and inferrences that compose a layout problem require powerful representational
facilities and this is achieved by the method of the present invention.
All applications code within the system (a "rule" or knowledge fragment) leaves its "signature" on any changes made to the database, thus establishing an audit trail to justify final conclusions. Regulatory bodies, such as the Health and Safety Executive, are more likely to accept a layout with this.
Traditional computer programming starts with the end user describing to a systems analyst his problems and methods of solution. The analyst and his team then embark on the time consuming and skilled tasks of rigorous analysis, design, programming and debugging. The end product of this process should be a faithful translation of the user's requirements onto computer.
A particularly beneficial feature of the present invention is that it seeks to reduce this intermediary role of the analyst. The human expert is encouragd to record his methods and procedures directly onto the computer, using the normal language and symbols with which he is familiar. Thus the analyst or "knowledge engineer" becomes an advisor rather than translator, and the computer is programmed faster and more accurately with the human expert's requirements.
If the expert can put say 80% of his more
straightforward knowledge onto computer he can take advantage of the computer's speed and reliability within the limits of this 80% and concentrate his creative abilities on the more difficult (and probably more interesting) remaining 20%. Such an expert will become faster and more reliable at his job. Thus he may tackle problems previously considered too large or complex to be tractable.
Creating a knowledge base requires considerable initial effort, but once created it may be used for most future jobs without change. Jobs with new or unusual features may require increments to extend the knowledge base.
The architecture of an expert system is shown in Figure 1. The key parts are the knowledge base and the inference engine. The knowledge base contains both data and knowledge about manipulating data. The data define the instance of the problem being solved, expressed as assertions rather than purely numerical data (eg. "item P117 is a pump" is valid data to an expert system). The data section contains the input data and provides somewhere to write intermediate and final facts as they are inferred.
The knowledge base contains rules, encoded fragments of knowledge, applicable to all problems within a
domain. The rules are typically of the form:
IF <CONDITION> THEN <ACTION> The condition defines the instance in which it is appropriate for the rule to "fire", the action being insertion or deletion of a fact in the database (either a constant or calculated value).
The database must always be capable of representing new, perhaps unforseen facts, perhaps to expand the descriptive power of the system. The knowledge base must be incrementable, either to allow the knowledge about a problem to expand, or to allow the application of the system to new problems. The user must be able to do this without impairing the existing capability of the system or incurring un-necessary work (for example, having to rewrite existing methods).
The inference engine controls the application of the rules to the database. It contains rules of inference, rather than domain specific knowledge. It controls the matching of the condition pattern against known facts, and performs updates on the database as specified by the rules. The inference engine is central to the system.
The user will usually interact with the system at run time, interogating the database and responding to system generated queries. The knowledge base must be incremented by the knowledge engineer, as described above. Both operations require man-machine interfaces.
The present invention can be implemented on a computer operating with the LISP programming
environment, or any other suitable frame based
environment.
In recent years there has been much discussion concerning the merits of various computer languages over one another. Within AI the most popular and widespread language is without doubt LISP. LISP has been available for many years. McCarthy gave the first specification of the language in 1960. LISP differs from many other computer languages because of its orientation toward "symbolic computation". LISP is a computer language designed to manipulate non-numeric data structures; the fundamental data structure in LISP is the list.
By virtue of being first, LISP has accrued a number of advantages ooer other AI languages. Many of the most famous AI programs and systems were implemented in
LISP. Over the years a large number of software tools have been developed to support LISP programming. For example, a variety of powerful editors exist and there is software to enable LISP to run on a wide selection of machines.
Lisp provides the sophisticated data handling and storage management facilities needed by complex
software. It also provides a powerful programming environment suitable for developing large systems and for prototyping rapidly.
Another important aspect has been the construction of specialized "LISP machines". These are computers whose hardware is designed to run the LISP language. By building LISP into the machine hardware it is possible to avoid the many leels of software normally required to translate an AI language into the form a normal computer can understand. LISP machines allow large programs to be run very much more quickly than would be possible on an ordinary computer which supported the language through "software translation". LISP machines make it feasible to construct in LISP certain types of
computationally intensive program.
The present invention provides a data processing system which is capable of reading, interpreting and representing both explicit and implicit knowledge from a process flow sheet. Thus, any system which can be reduced to a process flow sheet can be analysed by the present. invention. The method automatically extracts knowledge implicit in a process control sheet. For example, the system is able to deduce that item a should be located above item b so as to enable gravity feed of a substance from item a to item b, simply because the process flow sheet does not specify the use of a pump between items a and b - provided the substance is not a gas (otherwise it might flow upwards).
The applicants have demonstrated in detail
application of the invention to principal process equipment layout, starting from a process flowsheet. This can be appreciated from the following two
simplified examples. Thus, particular application of the invention to process plant design will now be described in more detail. The First Specific Example
As will be described with reference to figures 3 to 7, a system to lay out small section of a plant has been implemented.
The section of the plant used in this example is shown in the process flowsheet of figure 3. The process flowsheet of figure 3 was the input used for this first specific example. The plant section comprisesa rotary vacumn filter 10 which is fed from a filter feed tank 24 by a centrifugal pump 28. Filter 10 supplies a
seperation tank 20 which in turn has respective outputs to an air ejector 22 and a centrifugal pump 26. which links to another section of the plant. The main output from filter 10 supplies a rotating drum dryer 12. Dryer 12 is heated by warm air from a heat exchanger 14. The warm air is drawn through the dryer by a blower 17 which is protected by a cyclone 16. Dryer 12 outputs product to a hopper 18, for bagging etc. Cyclone 16 has an output connected to the input of hoper 18.
Figure 4 is the plan view output from the first specific example. Figure 5 is the elevation (looking north) output from the first specific example. Figure 6 is the elevation (looking east) output from the first specific example, and Figure 7 is the isometric view output from the first specific example.
Cyclone 16 and blower 17 where not included in the plant design output of this specific example, but are shown in figure 3 for the sake of completeness and for ease of comparision with figure 8.
A "worst case" lack of available data was assumed, with only equipment types and identification numbers, their interconnections and their throughputs given. The system infers appropriate models of the equipment, with the nozzles and other fittings correctly positioned upon them, and then correctly positions and spaces the items. The equipment positions are transferred directly to a conventio.nal software package to print the final drawings, ie. figures 4 to 7.
The system infers the layout in thirteen minutes, compared to an experienced engineer taking half a day. Its value is clearly demonstrated.
The Second Specific Example
The first specific example is particularly
simplified. The second specific example deals with the lay out of a complete plant on a representative scale, consisting of batch reactors, the filtration and drying section of the first specific example and a solvent recovery distillation column. The diversity of the plant ensures its appeal to a wide cross-section of the chemical process industry, and demonstrates the
versatility of the system. The scale of the plant requires application of problem reduction techniques. The first example concerns the layout of a section of a plant, with only 7 basic items of equipment. As with the first example, all items of equipment are
represented in a database and this is used together with a knowledge base so as to generate final equipment positions and orientations. Output from the system shows automatic nozzle positioning and estimation of equipment size, given only process connections,
flowrates and equipment types. The process flowsheet used as the input for the second specific example is shown in figure 8. Various aspects of the processing and the final output are shown in figures 9 to 13.
The second example concerns implementation of all aspects of the formal layout synthesis procedure. This includes the division of the plant into groups (a problem reduction technique) and a strategic approach to the layout of these groups. This has been applied to a plant of a size and complexity typical of a commercial layout task. The plant incorporates a diversity of features and demonstrates the general applicability of the present invention to any layout task.
The second specific example relates to a plant which imposes a task of realistic size and complexity, loosely based on one built and operated by a major
manufacturer. It consists of 34 equipment items (41 including standbies) connected by some 50 plus streams, with a further 12 service streams (not shown). This is typical of a plant occupying a single plot. Process Description of Second Specific Example
The plant is to produce 4000 tonnes per year of polymer (notionally poly - vinylidene chloride) from monomer. It is loosely based on a plant built by a major manufacturer.
The reaction is conducted in an acetone/water solution in the stirred tanks R104, R108 and R112, taking eight hours to complete. The reactors are charged, in turn, every three hours from the weighing tanks T101 (wa.ter), T102 (make-up monomer)and T103 (acetone, both fresh and recycled, and recycled
monomer). The reaction is highly exothermic, and is cooled by the water cooled reflux condensers H105, H109 and H113. These are single pass on both sides and horizontal to increase their efficiency and thus reduce their size.
Initiator solution is made freshly for each batch in the stirred tanks T106, T110 and T114. Its addition is metered by pumps P107. P111 and P115 to control the reaction rate.
The reactors discharge, via the mono pump, P116, to the filter feed tank, T117. The slurry, containing 10% of both polymer and monomer is recirculated through the feed trough of the vacuum filter, F119, wherein the level is controlled by a weir, the excess being returned to T117.
Filtrate and entrained air are separated in T120. The air is withdrawn by the ejector, P121, to maintain the reduced pressure necessary for the operation of the filter.
The filtrate - containing the unused monomer and initiator, the solvent and wash water - is heated in H123 then distilled in column C124. This ensures that the acetone and monomer, recycled to the acetone weighing tank. T103, are free of initiator. The water, and any unused initiator it may contain, is discharged to drain.
The filter cake is dried in the co-current rotary drum drier, D129, which operates at sub-atmospheric pressure to minimise dust losses. The air for the drier is heated by steam in H134, and pulled through the drier by the blower P133. which is protected from the
entrained polymer by cyclone X132.
The dried polymer is held in hopper V130 until fed to the bagger/palletiser X131. The palletised product is transferred to the existing warehouse by forklift truck.
All pumps have standbies (not shown on the
flowsheet). All utilities are generated outside the battery limits.
The result of the processing of the second specific example is described below.
The constraints identified, and acted upon sample the wide range of types and strengths of relationship. Critical relationships, such as the need for a column and its thermosyphon reboiler to be close, are
identified and all satisfied. Constraints on the economics of the plant, such as the elimination of pumps with difficult pumping duties, the grouping of items requiring a common service, the reduction of piping, etc. are satisfied where this does not require more important constraints to be broken. The access
requirements of all equipment are satisfied.
Repelling relationships, such as those preventing unsafe proximity, are be identified and used to limit the action of attractive relationships.
The plant is laid out assuming the over-riding importance of process-based functional relationships.
In this example, the plant contains an important diversity of problems. The system can be seen to lay out both the commonplace (distillation unit), and rarer units (filtration and drying). Time varying attributes are represented and manipulated in the batch reaction section. Streams of all three phases, together with various multi-phase combinations, and streams under vacuum are appropriately handled. The generality of the present invention is thus shown.
The plant is to be laid out with equipment at many elevations. It has also to be suited to construction in a building. Both features increase the constraints on finding a solution. The formation of groups of components within the example plant is a non-trivial task, due to the size and range of grouping constraints. The effectiveness of grouping is shown by the successful completion of the layout of this plant.
A total of 253 rules were used for the second specific example. This comprises 19 rules to complete the database, 42 to identify constraints (more than 500 where identified) and 192 to implement the processing system described herein as KAPPA. These rules occupy 1.3Mb when compiled and loaded for running. The initial database of 270kb expands to 850kb at the end of the run. Knowledge base size is constant for different layout jobs, as the knowledge is entered once then subsequently used without alteration. Database size varies from plant to plant.
In the accompanying drawings, figure 8 is the process flowsheet used as input for a second specific example. Figure 9 is a diagram illustrating grouping levels in the second specific example. Figure 10 is a diagram illustrating the use of groups in positioning multiple items. Figure 11 illustrates the Spatial
Relationship graph, undirected Spatial Relationship tree and plan tree processing stages in the second specific example. Figure 12 illustrates the ordering imposed on Functional Relationships in the second specific
example. Figure 13 is the isometric view output from the second specific example.
The two specific examples are of a particularly simplified form and go from start to finish with
virtually no operator intervention. Decision points are readily identifiable, where if a single best choice exists the machine makes it, if many equally good best choices exist one is chosen arbitrarily, and if no solutions exist the machine asks for help. However, the decision points are clearly an appropriate place to start human monitoring and intervention.
Both examples were implemented on an appropriately programmed conventional computer, which computer was provided with a known interface to a 3D draughting package. The examples illustrate database and knowledge base representations suitable for plant layout. The knowledge base is extensible and able to hold
qualitative information.
Input of the process flow sheets is by way of extraction of information from a computer stored version of the flow sheets. Software packages for production of the computer stored version of the flow sheets are commercially available. Output from the automated design process of this embodiment of the invention is to a commercially available draughting software package.
The two specific examples of the present invention have been implemented on a DEC microVAX computer using the programming language Common Lisp. Common Lisp places great emphasis on portability to different machines, and is appearing on computers from many manufacturers including DEC. IBM, SUN. Tektronix. Prime, CDC and other specialist suppliers. The portability of Common Lisp means that software may be developed and delivered on different machines. So advantage may be taken of rapid development on the specialist Lisp developer's machines now available, whilst retaining the ability to implement the invention on a variety of well-known general purpose computers. Thus, the present invention is not limited to any particular computer.
Neither is it necessary for the broader aspects of the invention to be restricted to the programming language LISP.
The simplified examples illustrate that the
invention is sufficiently general to cover a wide range of design requirements.
These methods are embodied in a novel procedure which may be referred to as KAPPA - Knowledge Algorithm for Process Plant Arrangement. KAPPA is a formal way of generating layout from fundamental engineering design constraints. KAPPA directly addresses qualitative plant layout problems using a fully automated method - something not known to have been achieved previously. 1. The KAPPA System.
1.1 Introduction.
KAPPA (Knowledge About Process Plant Arrangement) is the acronym given to the rule base developed to lay out chemical process plant. KAPPA is a complete and general creative plant layout tool. It is capable of performing all phases of the layout task automatically, although manual intervention in the process is possible, and in certain circumstances, necessary. KAPPA assesses the process data (.the P.F.D. and data sheets) to determine the constraints to be imposed on the positions of each item of equipment comprising the plant, which may be either a requirement for proximity to another
item or separation from another item. Thereafter, via intermediate stages, it ultimately determines the plant's component items' three-dimensional positions, which constitute its results. The problem resolution and spatial syntheseis aspects of KAPPA are illustrated in figure 2.
1.2 Overview Of The Architecture Of KAPPA.
KAPPA can be considered as five discrete and
self-contained phases, in the order of:
1. the identification of constraints on the positions of the equipment items.
2. the determination of the elevation of each item,
3. the identification of further constraints,
4. the formation of an ascending hierarchy of groups with either equipment items or lower level groups as members, 5. the development of the plan layout.
It is to be noted that this segregation is not binding and not all phases are necessarily essential. However, as the phases can be considered to be discrete, they can constitute abstracted sub-tasks of the layout task.
It should be noted that all sections of the rule base comprising KAPPA, other than the identification of
constraints, are applicable to any process plant layout task, irrespective of the particular branch of the process industry using it. The constraints to be identified are more specific. (This is discussed below.) Furthermore, the rulebase does not refer explicitly to particular items of equipment or streams, but rather, to generic types (that is. no rule exists that is applicable to, for example, pump P107 on a specific plant, but rather, all rules containing knowledge about pumps will consider P107 as an instance of the generic class, "pump"). Thus, once the section of the rule base which identifies constraints has been tuned to reflect the issues considered in a branch of the industry, the rule base may be applied to any plant to be laid out within that branch. (Note that, where specific items are referred to in examples, this is to aid explication only. No specificity is implied.)
1.2.1 The Identification Of Constraints.
Constraints define requirements to be met by the solution. In plant layout, they define relative positions of pairs of entities, rather than the absolute position of one. Accordingly, they can be thought of as relationships between the entities. They may either demand the
proximity of the related objects (such as the relationship between two items connected by a large-bore pipe made of an exotic alloy) or the separation of the related entities (such as the relationship demanding the separation of a fired heater from tanks storing flammable liquid in bulk). Note that the entities are not limited to being items of equipment. They include elements of the
structure or building in which the plant is built;
ancillary entities, such as control rooms; and site features, both appertaining to the operation of the plant and unconnected neighbours, such as population
concentrations. These relationships are referred to as Functional Relationships (F.R.s) herein.
In the main, the F.R.s are not stated explicitly in the input data. For example, a relationship exists between two items whose connecting stream is in gravity flow. This is not stated on the flow sheet. It can, however, be inferred. An instance of two items connected by a liquid stream is found in the database. It is then determined that the item feeding the stream is not a pump, and that no significant difference exists between the internal pressures of the two items. Hence, by
acknowledging that gravity flow is the only possible means of transfer of the fluid in this situation, the requirement that the feeding item's outlet be above the fed item's inlet can be inferred. This requirement is represented as an F.R. This, and similar, knowledge is embodied in a suite of rules which form an important adjunct to KAPPA.
The process of identifying F.R.s re-states the problem posed to the system in a manner that is more meaningful and appropriate for the task in hand. Their discovery induces a deep understanding of, and imparts significance to. the input data. They do not, in themselves, provide any information as to the form of the solution. The concept of forming F.R.s is a generally applicable
analytical tool, and may be applied to problems far outside the layout domain. The automation of their identification has, effectively, demonstrated that an A.I. system can be constructed that can "read" and understand a representation of the data used by engineers.
The F.R.s control and constrain the solution achieved, and are the primary data objects manipulated in the process. Any layout produced by KAPPA should be the best possible subject to the imposed constraints (that is, the layout should satisfy as many of the constraints as possible). However, unidentified constraints can clearly not be considered. Thus, the completeness of the suite of rules to identify F.R.s is related directly to the
ultimate quality of the layout. Hereafter, in referring to "all F.R.s", it is to be understood that this means "all that have been identified". As the suite of rules to identify the F.R.s is readily enhanced, the upper limit on the quality of layout produced by KAPPA can be readily improved. Examples of the rules are described herein.
Each item comprising the plant is highly likely to be subject to more than one constraint, and consequently, will be related to more than one other. Some of these F.R.s may be contradictory, either requiring an item to be positioned close to others which may not. themselves, be close, or requiring both the proximity and separation of a particular pair simultaneously. An example of the former is the requirement to position a pump close to the item feeding it, while, at the same time, it may be desirable to place it with all other pumps in a pump bay. An example of the latter are the F.R.s between a fired heater and a vessel containing a flammable liquid which it feeds. One F.R. requires proximity to minimise heat loss in the connecting pipe, another requires segregation for safety. However, it is both the nature of the domain and the chosen implementation strategy that the set of rules must be applied exhaustively to the database representing the plant to be laid out. All F.R.s relating each item to all others are identified and recorded. Conflicts between inconsistent F.R.s are then resolved by applying domain knowledge to determine which F.R. it is most important to satisfy. This demonstrates that all pertinent issues have been considered when the audit trail is examined, perhaps by regulatory safety authorities. It is also an inherent feature of the constraint propagation implementation adopted. Thus, it would be inappropriate to apply a conflict resolution strategy embodied within the inference system, even if one existed.
The rules to identify F.R.s are separate from the rest of KAPPA. On identifying an instance of an F.R., a rule forms an explicit data object to represent it and enters this into the database. The expanded data base is then passed to the later phases of KAPPA. This is at odds with many other constraint propagation systems, were the constraints are represented as generic data objects, incorporating variables, which are matched against
instances as needed. The explicit representation of the F.R.s is advantageous, however, for reasons of
efficiency.
F.R.s are the fundamental description of the problem recognised by the grouping and spatial synthesis systems. As such, each is referred to frequently. By forming all F.R.s as explicit data objects, they are made permanently available, and the computationally intensive search and matching need only be conducted once. This saving in computation outweighs the disadvantage of the resulting larger data base. This is particularly so as many of the rules which identify F.R.s are complex, and refer to.
typically, three or four frames describing plant items or streams. Furthermore, many of the rules used to identify F.R.s are limited in their applicability. For example, the formation of relationships between items containing radio active materials is only pertinent in the nuclear
industry. Thus, the rules to form F.R.s must be readily accessible to the user, so that he may modify them or alter the set to render them appropriate to the practices of his particular branch of the process industry. The control structure of the operating system may be such that rules must be called explicitly, from within meta-rules. It is far easier to amend the section of the rule base which identifies F.R.s if it is discrete from the rest of the system, as the necessary control rules can also be kept discrete. This avoids the user being forced to modify the control structure of the later phases which he may then consider to be a general purpose, "black box" utility.
1.2.2 The Determination Of The Elevations
Of equipment Items.
The determination of the elevation of all items of equipment comprising the plant is conducted as a discrete task in KAPPA. Strictly speaking, layout should be thought of as a three-dimensional problem, with elevation and plan layout tackled simultaneously. By manipulating the elevation of the equipment, a better plan layout may be achieved, perhaps by lifting an item slightly to allow others to fit beneath it. for example. It is standard practice when working manually to establish the elevations of the equipment first, then attempt the plan layout. This is necessary to reduce the complexity of the problem. In reality, while this is a powerful simplification, it has little impact on the quality of the layout. The plan layout can only be improved by changing elevation in a few cases, and usually at the expense of increased structural costs. Those cases where improvements can be made can be readily
identified-the. elevations of the items involved can be easily changed in the light of knowledge gained during plan layout, and plan re-assessed.
Elevation must be assessed globally, that is,
considering all constraints on the elevation of an object, wherever the related object may be in the plant. This is because elevation constraints act to force the object upwards, which is undesirable, with the optimal elevation for an item being that at which all constraints are just satisfied. Each relationship must be satisfied if this is necessary to the function of the plant, or should be neglected if un-necessary, as it is bound to have a deleterious effect. There is no benefit in satisfying elevation constraints which are not critical. Thus, elevation F.R.s crossing group boundaries must be
considered, and the solution cannot be localised within groups. Hence, it has been recognised that there is no benefit in forming groups prior to determining elevation. Indeed, the elevations of items may, in themselves, be the cause of grouping F.R.s. For example, the need to enclose a group of columns within a structure, which should cause a group to be formed for them, may only come to light once the elevation of their respective condensers has been determined. Assessment of the elevation of items may suggest the inclusion of others in the plant. For
example, the need for a reflux pump may become apparent only once the elevations of the condenser and reflux drum have been derived and found to be unsatisfactory (ie. too high). It is, therefore beneficial to derive the
elevations first, so that any changes to the equipment inventory are made before grouping, saving back-tracking through the grouping procedure.
Similarly, it has been found that it is likely to prove better to constrain the plan by the elevations of the items, rather than constrain the elevation by their plan position, as it is rare that the layout is improved by lifting Items. Accordingly, the elevations are
determined first.
The elevations of equipment is determined in two phases. The minimum elevation of each item is determined such as to satisfy all F.R.s with a vertical component to other items. These elevations are then used to guide the system in it's choosing the elevations at which floors should be inserted. The floors are inserted at those elevations, and the items are then moved upwards to position them correctly relative to the floors, with the knock-on effects of these moves on the elevation of other items being considered. It should be noted that the process is entirely driven by F.R.s. Indeed, the frames representing the items of equipment are only referred to at all as they provide a convenient repository for intermediate values. Thus, the procedure is sufficiently general for application to any elevation problem.
1.2.3 The Identification Of Further Constraints. As discussed above, the elevation of an item may be the cause of relationships between it and other items. These are identified at this stage.
1.2.4 The Formation Of Groups.
The formation of groups of equipment items, and the formation of higher level groups of these groups, is the first phase of the development of the plan layout in KAPPA. The process is driven entirely by F.R.s between the objects to be grouped together, and combines
procedural group construction algorithms with the
knowledge-based determination of which group an object subject to more than one type of F.R. should be made a member.
Groups per se have been used within other plant layout systems, but have usually been formed manually. They have not, of course, been formed using functional relationships - rather they have been formed using the component items themselves. Within this embodiment, a totally automated method has been devised and implemented. This is far more sophisticated in both the data structures and method to any previous proposals.
A group is defined, for the purposes of this
embodiment, to be a set of objects, either items of
equipment or lower level groups, which must be close in the final layout to satisfy attractive relationships. Furthe rmore, the members of a group may be laid out, in the main, considering relationships to other members of the group alone, although subject to boundary conditions. It is important that a group is not thought of as being a set of objects with a common attribute or requirement (for example, a common need for structural support), even
though it is the possession of that common attribute, expressed as F.R.s, which causes the objects to be
collated into the group.
Primitive groups are formed by two procedural
collation algorithms. One adds all objects to a group which share the same requirement or attribute, this
commonality being expressed as an F.R. The other forms groups from objects and their ancillaries, with the
ancillary status again being expressed as an F.R. A third group formation technique is used to form groups of items which contain one object which must be segregated from the majority of the plant and those other objects which
beneficially should remain close to it.
Where an object is subject to more than one type of grouping F.R., it will be made a member of more than one group. For groups to perform their function of problem reduction and definition of scope for the plan layout system, however, they should not have common members. A qualitative comparison of the attraction of that object to all groups of which it is potentially a member is made. The object is made a member of the group to which it is most strongly attracted. This procedure is conducted within a knowledge based resolution phase. This two-phase utilisation of a constraint propagation strategy is implementationally efficient for this problem.
Groups are formed in a rigid hierarchy, working bottom up. Thus, a pump and its standby may be made members of a single group, and their individual identities subsumed. The group then constitutes a single object which may be further grouped with other objects, either other standby groups or individual items of equipment which have no standby, and consequently have not been made a member of a standby level group. Groups of the scale of a single unit operation or heat exchanger stack, for example, are formed at this stage. The identity of each of the pumps in the pair is thus lost completely at this level, as the group containing them represents them. The process is
continued, forming groups of increasingly wide scope in an ascending hierarchy.
As with the identification of F.R.s by the system, it is thought that the group formation techniques developed for this embodiment are a generally applicable analysis tool. They are likely to prove beneficial in a wide range of tasks providing either problem reduction or clear definition of scope.
1.2.5 Plan Layout
Alternative techniques are possible for the
development of the plan layout in contrast to that used in the second specific example. A number of prototypical layout structures have been identified. These include arranging the equipment comprising the group in a single line along a pipe rack, arranging the members of the group in two lines, with either a pipe rack or access way
between the two, and clustering small members around a single, large member in a free format arrangement. The prototypical structure to be applied to a group is
selected based on the topology of the F.R. network within that group, especially F.R.s representing connection and access requirements, the nature of the group members, and the level in the hierarchy of the group being laid out.
Associated with each structure, which is a general
statement of a potential solution, is an appropriate technique for achieving an instance of a layout conforming to that structure when it is applied to a particular group.
2. The Representation And Discovery Of Constraints.
Requirements to be met by a solution to a design problem may be considered to be constraints on an
attribute of one element or a relative attribute of two or more elements. The requirements, and thus the
constraints, exist because of features of the elements or their inter-connection. They are unlikely to be stated explicitly in the description of the problem. Rather, their existence must be inferred by seeking their
causative features within the representation of the problem.
The inference can be conducted by rules which identify instances of the constraints and thus, render them
explicit. This analysis effectively re-defines the problem in new and more relevant terms. The discovery of the constraints represents the gaining of sufficient understanding of the problem as to allow its solution to be attempted. Once discovered, the constraints constitute the primary data manipulated by the system in the solution process.
This solution process comprises an analysis of the identified constraints, the determination of which to satisfy in the event of conflicting demands, then the choice of a suitable solution form so as to maximise the number of constraints satisfied, especially those defined as being more important. The solution, and the partial solutions leading to it, may also be considered to be a set of constraints, although with the inconsistencies and conflicts removed which exist in the constraints defining the requirements.
The constraints may be expressed as relationships. The requirements may be monadic relationships between an entity and a demand, or a diadic or polyadic relationship between a number of entities which share a common need. The partial solutions are expressed by diadic
relationships between entities expressing how a solution for one defines the solution for the other.
The relationships expressing a requirement may be referred to simply as Functional Relationships (F.R.s). Those expressing partial solutions will be referred to as Spatial Relationships (S.R.s) in the plant layout domain, as determination of relative then absolute position is the objective of reasoning in this domain.
Note that the related entities need not be items of equipment in the plant layout domain. They may include elements of the structure or building in which the plant is to be built; ancillary entities, such as control rooms: and site features, both appertaining to the operation of the plant, such as warehouses, and unconnected neighbours, such as population concentrations.
2.1 Classes Of F.R.
Three classes of F.R. may be defined to represent the design requirements pertinent in plant layout: "physical", "logical" and "segregation".
2.1.1 Physical F.R.s
An F.R. classified as "physical" represents one instance of one relationship which arises from the
physical characteristics of the related object or objects or their connecting stream. The F.R. may represent a common need, for example, as relating two heat exchangers with a common need for tube pulling facilities, or the F.R. may represent need for proximity for physical
reasons, such as the F.R. relating two objects connected by a large bore or hot pipe. Monadic physical F.R.s represent, for example, the potential for an item to act as an ignition source.
Many objects may share a common need, which could be represented as. a polyadic F.R. However, it is found to be implementationally more convenient to form an F.R. between each pair of related objects.
Some physical F.R.s may be satisfied to some extent even when the related objects are widely spaced, although the constraint may imply benefit in placing them closely. An example of this is the F.R. representing the desire to minimise the length of piping connecting two objects. In KAPPA, this is represented as a series of contiguous
F.R.s. with the minimum separation of one equaling the maximum separation of the previous F.R. in the series.
The strength ascribed to each F.R. in the series is considered constant over the separation defined by that F.R., with the strength reduced as the separation range represented is increased. Thus, the continuously variable strength of the constraint is effectively quantised. 2 . 1. 2 Logical F . R . s
An F.R. classified as "logical" represents one
instance of the relationship which exists between an object and an ancillary. For example, logical F.R.s will be formed between a distillation column and its
ancillaries. the reboiler, condenser, feed pre-heater, etc. Logical F.R.s do not arise from a specific physical attribute of the related objects, but rather, from their function. Logical F.R.s are always, by definition, diadic.
2.1.3 Segregation F.R.s
An F.R. classified as "segregation" is a special case of a physical F.R. It arises because the attributes of the related objects are such that their segregation will improve the safety (or other attribute) of the design.
For example, a furnace and a vessel storing flammable liquid in bulk are related by a segregation F.R.
Segregation F.R.s are classified separately from physical F.R.s, (rather than being represented as physical F.R.s with a large minimum spacing specified) as the determination of the strength of a "link set" (see below) containing segregation F.R.s must be conducted
differently. This is discussed in Section 2.5 below.
2.2 Identification Of F.R.s
A suite of rules to infer the existence of instances of F.R.s is an important adjunct to KAPPA. These rules are not, however, an integral component of the knowledge base that derives the positions of items of equipment, but rather, are applied to the description of the plant to establish the parameters within which the positioning knowledge base must work. Sample rules are described herein.
This distinction is important. The rules that infer the existence of F.R.s will be specific to the situation in which they are to be applied. They represent the constraints that are thought relevant by the particular user, in his industry, or even on the specific plant.
Conversely, the layout knowledge will be generally
applicable. It will also be impractical to develop an exhaustive set of these rules when the system is installed for any user. Thus, they must be easily mutable and extensible. Furthermore, the process of deriving F.R.s to gain an understanding of the constraints and requirements of a plant is not limited in applicability to plant layout. Thus, while KAPPA is dedicated to a single domain, the F.R. finding rules will be applicable in many.
2.2.1 Identification Of Physical F.R.s
Instances of physical F.R.s are identified by applying script rules to the description of the process as held in the database. The knowledge embodied in such rules takes the form of, for example, "where two heat exchangers must be connected to the same service, a physical F.R. exists between them" (this arises because economic savings can be made by placing the heat exchangers close to minimise service pipework) or "where a stream contains a vapour close to its dew point, a physical F.R. exists between the connected equipment items" (this arises because the pipe carrying the stream must be short to prevent condensation).
A total of forty two rules have been encoded to
identify instances of physical F.R.s. This set is not exhaustive, but does present a representative sample of categories and strengths of physical F.R. The rules used to identify physical F.R.s in the second specific example are discribed hereinafter.
2.2.2 Identification Of Logical F.R.s
Instances of logical F.R.s may be identified in two ways. Script rules, embodying such knowledge as, "a transfer pump has a logical F.R. relating it to the item from which it draws its feed, with the pump demarked as the ancillary" may be applied. Note that, for those objects which may be connected to more than one process stream (such as processheat exchangers), a logical F.R. is formed for each stream.
Alternatively, a general rule is that an object has a logical F.R. to the object to which it is connected to which it is more strongly attracted (on that stream), and the former is an ancillary of the latter. The strength of attraction is measured by comparing "link sets" (see below) of physical F.R.s running parallel to the stream, both upstream and downstream of the object being
assessed. This rule is generally applicable to any domain in which objects are inter-connected, by re-writing it with "stream" replaced as appropriate.
A set of fifteen script rules has been elicited to identify logical F.R.s. in the layout domain. This set is sufficiently broad to identify every instance of logical F.R.s in a number of diverse plants which have been investigated. These rules are described hereinafter. As the scripts are faster in application than the general rule, there is benefit in including both in a system.
2.2.3 Identification Of Segregation F.R.s
Segregation F.R.s are a special case of physical
F.R.s, in that both categories arise from physical
attributes of the related objects. Accordingly, it is appropriate to use the same technique to form both
categories, that is, script rules. An example of such a rule is "where an object is demarked as being a potential ignition source (by having a monadic physical F.R. of type "ignition source" relating it), the object has a
segregation F.R. to any object containing flammable material."
2.3 Formation Of S.R.s
The formation of S.R.s is conducted in the spatial synthesis components of KAPPA (the elevation and plan layout phases). They constitute intermediates in the development of the solution rather than a re-statement of the problem. Their formation and manipulation is
described in the sections discussing the determination of elevation and plan layout. 2.4 The Representation Of F.R.s
Instances of F.R.s are represented as explicit data objects entered into the database. The expanded data base is then passed to the later phases of KAPPA. This is at odds with many other constraint propagation systems, were the constraints are represented as generic data objects, incorporating variables, which are matched against instances as needed. The explicit representation of the F.R.s is advantageous, however, for reasons of efficiency.
F.R.s are the fundamental description of the problem recognised by the grouping and spatial synthesis systems. As such, each is referred to frequently. By forming all F.R.s as explicit data objects, they are made permanently available, and the computationally intensive search and matching need only be conducted once. This saving in computation outweighs the disadvantage of the resulting larger data base. This is particularly so as many of the rules which identify F.R.s are complex, and the pattern typically refers to three or four frames describing plant items or streams.
The sophistication of the identification and use of F.R.s just described is far higher than that used in presentation of the second specific example. This has resulted in the development of an enhanced representation for the F.R.s. The attributes which may be recorded for an instance of an F.R. are demonstrated in the frame structure presented below. Note that it is the attributes and their permitted values that are significant. The frame head names are chosen to meet the desire to maintain ease of reading of the database. Their choice does not. in itself, represent an important feature of the invention
[relationship
<relationship identifier>
[class functional]
[division <one of "physical", "logical" or
"segregation">]
[type <type specifier>]
[name <name specifier>]
[criterion <criterion specifier>]
[collation <category of collation action>]
[collation_function <one of "universal" or "local">]
[resolution_activity POPA]
[activity_level <levels of objects influenced>]
[min_distance <separation value>]
[max_distance <separation value>]
[min_height <separation value>]
[max_height <separation value>]
[branch
[object_ID <object identifier>]
[feature_ID <feature identifier>]
[group_IDs <group identifiers>]
[segregation_end <one of "source" or "target">] [elevation_end <one of "top" or "bottom">]
[ancillary_end <one of "master" or "ancillary">]]
[branch
.
]]] -the unique identifier is represented as a top level leaf, to allow the application of the a fast searching system.
-"class", taking the value "functional", specifies that the frame represents a functional, not a spatial, relationship.
-"division" records the category to which the F.R. belongs, taking a value from "physical", "logical" or "segregation" .
-the "type.", "name" and "criterion" slots represent increasingly specific information from which the behaviour of the F.R. (grouping properties, strength, etc.) can be inferred. By using three levels of specificity, generic properties may be ascribed. For logical F.R.s, all specifiers take the value "logical".
-"collation", recorded only for physical F.R.s of such a type, name and criterion as to cause groups to be formed, defines an equivalence class of F.R.s that cause objects to be added to the same group. For example, all F.R.s representing the common usage of steam will have the same category name, perhaps "steam user" ascribed to them, to indicate that their related objects share the same need. Only those F.R.s that represent a common need or attribute of the related objects have such an attribute recorded, as only these physical F.R.s may cause objects to be added to groups. This is unlike the second specific example in which all F.R.s cause group collation. -"collation_function", taking the values "universal" or "local", records whether physical F.R.s which cause group collation cause the formation of universal or local groups.
-"resolution_activity", taking the value "POPA". is recorded for. physical F.R.s which relate objects which must both be resolved into the same group if either is in conflict.
-"activity_level" records, for physical and
segregation F.R.S. the levels in the grouping hierarchy at which objects must be visible to be influenced by the F.R. For example, the F.R. defining the desirability of a pump and its standby influences objects of level 1 (ie. items of equipment). If not satisfied at this level, it is neglected. This is a development of the second
specific example, in which any F.R. can influence its related objects at any level.
-"min_distance", "max_distance", "min_height" and "max_height", recorded for physical and segregation F.R.s, specify the minimum and maximum horizontal and vertical offsets between the stated features of the related objects permissible for the F.R. to be considered satisfied.
-each "branch" frame records information about one of the related objects. Two are required for a diadic F.R. A "branch" frame may have the following slots:
-"object_ID" records the unique identifier of one of the objects whose relationship is related by the F.R. This slot is compulsory on ooth branches.
-"feature_ID", recorded for physical or segregation F.R.s, records the unique identifier of the physical feature on each object giving rise to the F.R., if
appropriate. For example, an F.R. representing the desire to minimise cable length runs between the motors on each object, constraining the objects to be positioned, not only closely, but oriented so as to as to position the motors as close as possible. Where the F.R. arises from an attribute of the objects as a whole, it can be
considered to run between their origins, and the feature specifier takes the value "origin".
-the unique identifiers of all groups of which the object, named in the "object_ID" slot of that branch, is made a member are recorded in the "group_IDs" slot. This is compulsory for all F.R.s and is updated automatically after groups are formed at each level.
-"segregation_end" records, for segregation F.R.s, a specifier of whether the object identified in that branch should be placed at a distance from the plant or remain amongst the majority of the plant items. In the former case, it takes the value "source" (source of the
segregation), in the latter, "target". For example, in segregating a fired heater from the process equipment containing flammable materials, the fired heater should be removed from the plot and the segregation end slot of the branch referring to the heater takes the value "source". The segregation end slot of the branch referring to the item containing the flammable liquid takes the value "target".
-the "elevation_end" slot records, for physical F.R.s with a vertical component, whether the object referred to by the branch should be above its related object (in which case, it takes the value "top") or below (in which case, it takes the value "bottom")
2.5 Comparison Of F.R. Strength.
The "strength" of a constraint is the importance of its satisfaot.ion. Physical and segregation F.R.s are formed to represent the constraints on the layout arising from physical requirements, and hence, it is meaningful to ascribe a strength to these. Logical F.R.s effectively represent (and arise from) the first derivative of the strength of the physical constraints, and hence, their strength cannot be compared to that of physical F.R.s.
S.R.s are composite physical F.R.s, and have a strength equal to the "sum" of the strengths of their member F.R.s, and their strength is defined during their formation.
It is undesirable to ascribe absolute values or weightings to the strength of constraints in plant
layout. However, to allow the system to determine which F.R.s are to be satisfied in the event of a conflict, it must be possible to compare their strength. To this end, a technique has been developed that the applicant believes to be unique. Two issues must be addressed in comparing
constraints. It was recognised that objects are rarely related by a single F.R. Thus, their attraction must be determined considering all F.R.s between them as a
compound set. Further, while it is not thought possible accurately to ascribe an absolute strength to any F.R., it is considered reasonable for a domain expert to compare any pair and state which is more important.
By stating which of a pair is stronger, an ordering is imposed on that pair. This can be repeated for many pairs, including pairs that intersect with others. By assuming transitivity, an ordering of all F.R.s can be attained (ie, if A is stated to be stronger than B, and B stronger than C, A can be assumed to be stronger than C). While transitivity of qualitative superiority cannot be proven in any domain, intuitively, the assumption seems reasonable. In reality, some pairs are incomparable, and transitivity does not yield an ordering on them. Thus, a partial ordering is achieved.
This partial ordering is recorded on a table, the
Partial Ordering (P.O.) Table. Comparison of F.R.s can be achieved by determining which is shown to be stronger on the P.O. Table. Where the two F.R.s are incomparable, the table will branch above them, and converge below them. If it is attempted to compare such a pair of F.R.s, no result can be achieved, and an arbitrary choice may be made
(valid because no superiority exists to be compromised). No absolute strength is implied in the outcome of a trial using the P.O. Table, which can only serve to show which link set is stronger, not by how much.
In addition to entering single F.R.s on the P.O.
Table, sets of F.R.s may be entered as a single node.
Then, by forming all F.R.s between any pair of objects into a single, compound "link set", and comparing this link set with the prototype sets on the P.O. Table, the total attraction of two objects to each other may be determined, without recourse to addition of the strengths of the individual F.R.s between them. Such an addition would, of course, be impossible, as the F.R.s are only compared qualitatively.
This approach also allows synergy between F.R.s to be represented. The strength of a link set of F.R.s (even of the same type) does not depend linearly on the number of F.R.s in it. For example, the attraction of a pump to one other pump is minimal. The attraction of a pump to sufficient others to pass a threshold is great, where the threshold, in this case, is that number of pumps that justifies the construction of a pump bay.
The repelling action of link sets containing
segregation F.R.s is represented by the position of the nodes on the P.O. Table that represent these link sets. A null link set is inserted on the Table, which has an absolute strength of 0. ie. it neither repels nor
attracts. Nodes above the null link set are clearly attractive, nodes below, repellant. To determine whether a link set containing both attractive and repelling F.R.s demands the segregation of the objects it relates, it is compared against the null link set. Should the latter prove to be the stronger, the objects will be segregated.
A small P.O. Table was constructed for use with the second specific example. This is set out below. It did not contain any compound nodes, other than allowing for multiples of F.R.s of the same type on the same node. Indeed, this P.O. Table defines all link sets comprising any number of F.R.s of the same type to be of equal strength. The Table is also of very limited scope, but demonstrates the functionality of the technique.
The KAPPA knowledge base may contain a number of P.O. Tables, each conforming to a particular design philosophy (eg. one in which safety F.R.s are predominant, one in which economic F.R.s are predominant, etc.). The user ma then select which Table to apply to a given plant, commensurate with the client's requirements. In the even of a conflict between constraints, the resolution will concur with the chosen design philosophy.
The user will load copies of these P.O. Tables, rathe than the original, corporate defaults. Thereby, he may edit the Table to alter the ordering or insert or delete nodes to suit his particular task. As he will be working with copies, held in the project specific database, these edits will be retained for the duration of that project. but will not be transmitted to other users.
The P.O. Tables are represented as frames in a stored database. Only those pairs of nodes that are directly superior and inferior are recorded in these frames. For example, a simple P.O. Table representing the link set comprising the F.R.s A and B being stronger than both of the link sets comprising F.R. A or F.R. B alone (with these incomparable), with both of these latter being stronger than link set comprising F.R. C may appear thus:
Figure imgf000053_0001
On loading these frames, an array is constructed in which indirect (that is, transitive) superiority is also recorded, using the direct superiority recorded on the frame. Each link set is represented by both a row and a column. To compare two link sets, reference is made to the intersection of the row representing one and the column representing the other. A symbol is stored at this intersection, either "stronger", weaker" or "nil". The first implies that the link set represented by the first index passed as a parameter to the access function is stronger, the second, that it is weaker, and the third, that no comparison may be made in this case.
The array indices for the relevant row and column are obtained by matching the list of F.R.s in the instance of the link set against the F.R.s recorded in the link FRs slots of the link instance frames of the P.O. Table frame. The above example of the P.O. Table frame is simplified, in that, in reality, the link FRs slot takes a list of vectors as its value. Each vector specifies the type, name and criterion of instances of F.R.s that match that vector. Wild card values, which match any F.R. are also permitted (that is, it is permissible to specify the type of F.R. needed to match that vector as being
"economic", but with wild card values for the name and criterion being specified, so that any F.R. of type
"economic" will match that vector, for example). Wild card values may be specified for either the criterion only, or the name and criterion together, allowing increasingly more general specification of the instances of F.R.s that match that vector.
The matching of the F.R.s in the instance of the link set against the list of vectors in the link FRs slots of the P.O. Table frame is conducted by an access function. This function serves to determine the maximum strength of the link set by first matching specific F.R.s comprising it against vectors fully specifying required F.R.s.
discounting these F.R.s and vectors from further matching, and then attempting to match F.R.s against vectors
containing one wild card, then two wild cards. The acces function returns the value of the link instance ID of the link instance against which the link set matches. This constitutes the parameter passed to the array access function to allow comparison of the link set.
The link_instance frames of the P.O. table define "bands" of numbers of F.R.s in the instance of the link set which have the strength specified by that link
instance. The link instance specifies the minimum number of physical F.R.s of each type, name and criterion that must be present in the link set for the link set to be considered to match that link instance. That is, the list of vectors in any link instance must constitute a subset of the F.R.s present in the link set. Conversely, the link instance specifies the maximum number of segregation F.R.s of each type, name and criterion that may be present in the link set for the link set to be considered to match that link instance. (This arises because segregation F.R.s serve to weaken the link set). The link set is considered to match the strongest link instance satisfying both of these conditions.
There are cases where the presence of more than one F.R. matching a particular vector is required in a link set for that link set to be considered to match that link instance. This is represented by each vector containing the minimum number of F.R.s in the link set necessary for a match to be considered to have been achieved, rather than repeating the vector the requisite number of times. The access function considers this number when assessing whether a match has occurred.
It is, of course, possible to represent the full P.O. Table, including transitive comparisons, on a frame, but this is less efficient in both storage and processing.
In the basic form, as applied to the specific
examples.
KAPPA can be considered as having two distinct phases: Problem Reduction and Spatial Synthesis. The process is shown in Figure 2. The problem reduction phase
identifies fundamental constraints requiring objects to be close together in the final layout. Objects with similar constraints are collated into a hierarchy of explicitly represented groups. Conflicts between
constraints are resolved seperately from this collation. The layout task is broken down to a series of small nested sub-problems. This breakdown and nesting is apparent on finished plants as plots on a site, or equipment assemblies on a plot.
Spatial synthesis determines elevation by
considering all elevation constraints (assuming that a solution exists). This is done throughout the whole plant, neglecting groups. Plan positions are
determined using the single constraint principle. It works within the previously generated groups. The position in the hierarchy of the groups determines which techniques are appropriate.
Once a preliminary layout is achieved further problems and constraints become apparent to the layout engineer. KAPPA facilitates further refinements to the layout by taking these new constraints as input for a second pass.
GROUPING OVERVIEW FOR THE SECOND SPECIFIC EXAMPLE
The most basic form of group may be defined as being a set of objects, either equipment items or lower level groups, which must be close in the final layout to satisfy attractive relationships. (No exact
relative position is implied). It is to be noted that a group is not necessarily a set of objects with a common attribute, even though it is their possession of that attribute that gives rise to the group.
Plant items are formed into groups which may then be further collated into groups of higher level (that is. of wider scope). The hierarchy is flexible, with "gaps" allowed, that is, objects need not be members of groups of the immediately superior level - if no relationships exist to cause this. No object may be the member of more than one group directly, although the group of which it is a member may be a member of another group itself. Each group is laid out in isolation (with the imposition of boundary conditions) and then considered to be a single imutable object in laying out its parent group.
Five levels of object exist within the second specific example. plant_item, standby, nosplit, superl and the plot. These names have little significance in themselves. All equipment is represented as
plant_objects at plant item level, both pumps in a standby pair existing separately. Such pumps are collated into "standby" level groups. Standby level plant_objects and un-grouped plant_items are collated into nosplit level groups, representing a single process unit, all heat exchangers sharing a common service, or similar. Strongly related nosplit groups, - in this case, all reactor units - are collated into a superl group. No further collation occurs in the second specific example as no sufficiently strong FRs may be formed between the separate entities, in this case, to demand this. A similar procedure is used at each level to form the groups. The relationships between objects at each level are identified and represented by Functional Relationship data objects (FRs). This is acheived by rules separate from the grouping code, and is described below.
All related objects are collated into the same group. Where an object is subject to more than one type of FR, it is collated into more than one group. A separate conflict resolution process is applied to rectify this. As no conflicts arise during the
formation of standby and superl level groups in the second specific example, it has been omitted at these levels.
Implementing the grouping algorithm directly in LISP, may yield significant speed benefits. With respect to the implementation of the second specific example, the system may be configured to form groups at each level by a manually written command file.
However, intelligent machine control may be used to replace this.
Which FRs should be formed and allowed to influence group collation at each level should be determined. For example, an FR between heavy plant items should cause the collation of the groups containing those plant items and their ancillaries into a higher level group, not the collation of the heavy items only at a low level. The formation of the FRs must be controlled by the grouping code (that is, the rules called to form FRs immediately before they are appropriate in
collation). The correct range and scope of each type of FR should be determined. Although strictly these issues are at the discretion of the user, sufficient knowledge to make guiding recommendations is
preferable. This is discussed in more detail below.
Repelling relationships (such as, the segregation of ignition sources and vessels containing a large, flammable inventory) can be used to preclude the formation of unacceptable groups. The use of the Mond Index or similar coarse hazard assessment technique can be used.
Collation and conflict resolution can. of course, be extended to handle larger plants (that is. with more hierachical levels). This only requires that one or more techniques are applicable at any level and
provision of suitable ordering tables for control.
This is discussed as part of the conflict resolution process.
It is preferable that nosplit level groups should be formed first, then standby groups within them, as their members are already local. In general, the interactions between levels must be explored, both for collation and conflict resolution.
It is apparent, on considering the layout of a process plant, that a hierarchy of divisions exist within it. Some of the sections are clearly delimited, for example, plots are bounded by roads, a compressor house is a physical entity. Others, however, only exist implicitly with intangible boundaries such as changes in equipment type or process function.
Examples of such sections include stacks of heat exchangers and columns grouped to share a common support structure.
There is value in explicitly forming groups, even where they only exist implicitly in a built plant, and structuring them hierachically. During the early stages of devising a layout, an engineer probably relies on choosing from a mental stock of potential groups, each applied in a familiar situation. This could be implemented by building so-called "script rules". However, they have not been used in the early embodiment, and their use can incur the following disadvantages.
It may be difficult to define whether a situation is sufficiently close to the model embodied in the script rule, as groups will have subtle, but
significant, differences in different plants. For example, it is difficult to be certain even of the group members for a distillation column and its
ancillaries, a very common process unit. The reflux pump will be absent if gravity reflux is used, or the reboiler may be built into the column, and not be represented as a separate item.
Script rules prevent the system responding to familiar situations with novelty or creativity. It will not respond to unfamiliar situations at all.
Certain script rules are very general, for example, grouping all equipment with toxic contents. In fact, these are an implicit recognition of the FRs between the equipment. Instead, a more fundamental approach has been adopted, identifying and explicitly representing the causative relationships and then forming the group. The same relationships exist within many types of plant, and between different types of item within the same plant. This fundamental approach yields a compact, creative and general rule-base.
The relationships are represented explicitly as FR data entities for implementation reasons. They are frequently referred to, so storing them as intermediates saves them being repeatedly re-evaluated.
Additionally, it allows the formation of the FRs to be segregated from the grouping code, separating the mutable user input code from the fixed algorithm.
The hierarchical structure in which the groups exist delimits the size of an object on which a constraint acts, and the technique appropriate for satisfying that constraint. Consider the collation of distillation columns into a group for aesthetic reasons. The relationships act between the columns. However, it is important that the ancillaries are positioned close to the relevant column. First, form a group for each column and its ancillaries, then collate those groups into a higher level group and focus attention either on ensuring the correct positions for the ancillaries with respect to the column or on determining the correct order and spacing of the groups. The two tasks are independent, (although the size of each column group must be known before attempting the large scale layout). Constraints important at one level (for example,
ensuring the proximity of thermosyphons to the columns) are irrelevant, even meaningless, at the other.
Without a hierarchy, the distinction could not be made. The use of different techniques at different levels is demonstrated by the members of a standby group being relatively positioned by a script rule. The members of a nosplit level group are laid out along elemental sections of access-way (the so-called
technique of linearisation). Members of higher level groups (in fact, groups themselves) may be positioned by close packing.
It should be noted that the technique of
linearisation would not be valid without grouping. It cannot be applied to a plant as a whole.
The majority of relationships act over short
distances and exist within concentrations. These concentrations are manifested as lower level groups. In solving these essentially local problems, the
simplifying assumption of linearisation can be used. The high level layout of the plot, where no simplifying assumptions can be made, is greatly reduced in its complexity by few constraints having to be satisfied.
The use of groups allows a layout to be devised in which equal attention is given to constraints acting on more than one object and in which compromise positions are found. Consider, for example, two baggers operated in parallel fed from a single hopper. This is
illustrated in figure 10. Because of the single
constraint philosophy embodied in KAPPA, only one of the baggers may be positioned with respect to the hopper, the other with respect to the first bagger. Thus, one bagger is positioned directly beneath the hopper outlet, the other offset. Consider, instead, the baggers as being a single group. Now, the centre of the group is positioned under the hopper outlet. This is clearly a superior layout, as both baggers receive equal feed.
The use of groups is central to many of the design techniques which may be used within KAPPA. However, it also improves system speed by reducing total search requirements. A plot will typically contain up to fifty plant items, with at least the same number of
interconnections. Many thousands of relationships may exist between the plant items. It is the nature of the domain that all possible combinations potentially capable of satisfying a rule may have to be checked. Even a simple rule, describing a plant item and one relationship, for example, must check approximately 2000 combinations if applied to the whole plant. However, each group, at any level, is laid out separately. Thus, in a typical group of ten members, the above rule would check only one hundred combinations. Even accepting that this must be repeated once per group, the reduction in total search requirements is enormous.
A "bottom up" approach of collating related objects into groups is used. The alternative is to divide the plant into increasingly smaller groups. The latter may appear more natural where the objective of grouping is to allow segregation. However, items that do not exhibit the attribute causing the segregation may still be positioned with those that do. For example, the make-up tank and metering pump feeding an aqueous catalyst solution into a reactor containing a flammable charge should be positioned with the reactor. However, the division of the plant into equipment with flammable and non-flammable contents would place them in separate groups. Thus, after segregating the reactor from the items with non-flammable contents, it is necessary to then transfer the make-up tank and pumps to the
flammable equipment group. Clearly, therefore, division must be followed by a second, additive, phase. Furthermore, it would prove difficult and contrived to form groups, such as process units, by simply splitting the plant. It should be observed that all components of the process unit should be in a single, segregated group, defined by the attractive relationships between them, then segregating all items with the attractive relationships from the rest of the plant.
In fact, the segregation can be circumvented
entirely. In the above example a group containing the reactor process unit would be formed and then collated with those other groups containing flammables, all of which would be related by a suitable FR, into a higher level group. This example also demonstrates the need for different FRs at different levels in the hierarchy (in this case, process based FRs to form the reactor groups with a safety FR to cause them to be further collated).
Group Collation
FRs Causing Grouping
Relationships between plant objects are represented as FRs. These are input to the grouping system. Their formation is user controlled, as discussed below. To cause grouping, an FR should be structured thus: (relationship
(class functional)
(fr_type )
(fr_name )
(fr_criterion )
(fr_collation )
(branch
(object_ID )
(group_IDs ))
:
:
(branch
(object-ID )
(group-IDs )))
In this embodiment, where many objects are attracted to one another by the same relationship, the attraction between each pair of objects is represented as a
seperate FR.
Class functional demarks the relationship as being functional (ie a requirement) rather than spatial (an intermediate in the solution).
Fr_type, fr_name and fr_criterion are increasingly specific identifiers of the FR. Its properties and effect and its "strength" (the importance of the FR in constraining the layout) are defined by some or all of these, thus allowing generic properties.
Fr_collation, a repeat of either fr_name or fr_criterion. defines how "fine" a description of the FR is used in grouping, and how similar other FRs must be to exhibit the same grouping properties.
The related plant items have their object_IDs recorded in the object_ID slot of the branch frame. The object_IDs of the items and, where appropriate, any groups containing them, directly or indirectly, are recorded in the group-IDs slot of the appropriate branch. The use of a single FR to represent the mutual attraction of many items can be adopted.
Group Representation
A group is explicitly represented as a plant-object, similar to an item of equipment:
(plant_object
(object_type group )
(object_ID )
(members )
(fr_collation )
(group_status complete))
It may also take other attributes common to all plant objects. The object_ID is a unique identifier, not derived from the object_ID of any member. It is ascribed by the system.
The members frame contains a list of all immediate members only. For example, a nosplit group containing a pair of standby pumps has the standby group listed as a member but not the pumps themselves. The fr_collation frame records which FRs may cause new members to be collated into the group.
No cross-reference from the member objects to the group exists.
A group is a single entity which may be acted upon as a whole. Therefore, it must be represented
explicitly so that it can be related to other objects in the plant, and hence positioned relative to them. Group members are not flagged as being such as this would be difficult to maintain especially. during conflict
resolution, and is also unnecessary, a uni-directional reference from the group to its members proving
sufficient. Both groups and plant items are represented similarly as plant-objects to allow a rule to act on either, where this is appropriate (for example,
ungrouped plant items and standby group must both be manipulated by the same rules in laying out a nosplit group).
Collation At Standby And Nosplit Levels
All related objects are collated into the same group. Objects are considered to be related if an FR exists between them, not if they are only attached to FRs of the same type. A pair of related objects is chosen at random and a group formed around them.
Objects related to these are added (if not already a member) until no further addition is possible - that is, no objects related to group members, but not members themselves, remain. A new pair of related objects is chosen, and another group built around them. The process is continued until no new groups can be started (that is, all related objects are already members of groups).
The addition of an object to a group is conditioned on:- the FR to the object to be added being of sufficiently similar type to those causing existing members to have been added. This is defined by both the FE and the group having the same fr_collation attribute. An object related by more than one type of FR will, therefore, be made a member of more than one group. The resolution of such conflicts is conducted after all collation is complete.
the object to be added being "visible" at the level in the hierarchy below which the group is being formed at. An object is visible at a level if it is not a member of a group at that level. The attribute "visibility" on a plant object records all levels at which it is visible, the list being updated after each collation. Thus, a standby group as a whole is collated into a nosplit group, the member pumps being invisible.
the object_ID of the visible object
corresponding to an object's ID listed in the group_IDs frame of the FR. Thus, an FR to a pump would have the object_IDs of both the pump and its standby groups as values for group_lDs. The standby group could be collated into a nosplit group by this FR. The group_IDs are updated after group formation at each level, the FR to the object to be added not being "split". This is discussed below.
The groups formed to minimise service line lengths and electrical cables are collated in-line with FR formation, that is, the collation code is written into the rules forming the FRs.
In-line collation throughout may speed the process. Its use is dependant on the collation utility remaining segregated from the section of the rule identifying the FR (perhaps as a called procedure). The technique to delimit process groups must also be applicable before all FRs have been formed for its use to be possible.
In this embodiment, collation is not in general performed in-line with the formation of FRs at present because the algorithm to define split FRs cannot be applied until all FRs have been formed. However, as the common service groups encompass most of the plant, collation separate from the formation of the FRs would be slow. As the common service FRs cannot be split, in-line collation is possible and as this is a
simplified embodiment only, its use is reasonable, even though it represents a departure from generality.
An object with more than one type of FR attached to it is subject to more than one constraint. It may have to be the member of contradictory groups to satisfy all of them. However, it is not permissible for an object to be the direct member of more than one group.
The system, perhaps with the user's assistance, must, therefore, determine a suitable strategy for either satisfying as many constraints as possible, or deciding which constraint is most important and hence, must be satisfied.
These decisions cannot be made until collation is complete. For example, the conflict between grouping a pump with its feed vessel (to minimise pressure drop in the pump feed line) and with other pumps (to allow the formation of a pump bay) cannot be resolved until the total number of pumps in the pump bay is known (a pump bay of two pumps is of questionable value!). The pump is thus temporarily made a member of both groups (ie one for each type of FR), and the conflict is resolved in a separate process.
In the above example, the process group containing the first pump would be formed, other pumps would be collated in by the pump bay relationships, and
ultimately, the process groups containing the other pumps. The single, large group thus formed would be of no value. This requirement therefore prevents the spread of the first group to be formed throughout the whole plant, as would happen if FRs of all types pull objects into one group.
Split FRs
Consider a weighing tank feeding two reactors, through a diverging stream. The weighing tank is related to each reactor by many FRs, eg gravity flow, connection. As the stream diverges, each FR is said to be split. These FRs cannot cause the weighing tank to be collated with either reactor. If, however, the reactors are collated into the same group, perhaps to allow common access space, all FRs from the weighing tank run to the same object, and the tank is collated.
FRs are said to be "split" if they have the same fr-collation, share a section of process stream but are not parallel (that is, if they run from or to different objects).
The FRs lose their split status if the separate objects are collated, by some other FR, into the same group.
Demarking FRs as being split is a basic technique to delimit strongly related groups where these groups each consist of a process unit and all are parallel trains. However, without the split concept, collation would extend from one train through a common object (either feeding or being fed by all trains) to the other. One large group would result, in which the autonomy of each train would be lost.
Re-consider the weighing tank example. Suppose each reactor has a reflux condenser, a catalyst make-up tank and a metering pump as ancillaries. Both reactors are fed from the same weighing tank and discharge through the same pump. Both the weighing tank and discharge pump have very strong relationships with both reactors, and hence, must be close to both (although, of course, space must be left for valves, etc.) By defining the FRs to the tank and pump as being split, the reactor groups can remain autonomous, preventing the formation of a single, large group of all items and maintaining the localisation of the reactor layout problem. Each reactor group, the tank and the pump are then collated into a superl group, which is laid out with the tank and pump close to both reactors groups as required.
Collation at Split Level
FRs which are not used in the formation of
intermediate nosplit groups (ie those demarked as being split) are flagged as such.
Groups are collated using these flagged FRs only. FRs which become unsatisfied after nosplit level
conflict resolution are neglected.
Special qualities are ascribed to the split FRs by this technique in that they, and they alone, cause collation at split level. This reflects the fact that they are unsatisfied after nosplit collation deliberately, as they are being held in abeyance, even though their satisfaction is ultimately necessary - rather than because they are too weak to influence the layout, as is the case with those FRs which become unsatisfied during conflict resolution.
Conflict Resolution
Identification and Representation of a Conflict A conflict exists and must be resolved when an object is a member of the membership list of more than one group at the same level.
Groups are formed with one such object as the sole member of each. These groups are represented
identically to all other groups, refer to "Collation" above. The fr_collation is "conflict". The object_ID is unique and arbitrary, not derived from the object_IDs of those intermediate groups in conflict.
All objects that are members of conflict groups have their object_ID deleted from the membership lists of all intermediate groups with an fr_collation other than "conflict".
Certain resolution strategies (merging, in certain circumstances, and others) leave the conflict as a separate ent ity . I t must , theref ore , be represented in such a way as to allow it to be related to, and hence positioned relative to, other objects, with its status as a conflict transparent whenever necessary. This is achieved by representing the conflict as a group. The fr_collation classification may be fairly coarse, so the relationships acting upon the objects in a conflict may be of widely differing strengths, even though of the same collation. Thus, the correct
resolution may be different for each. Each is made a member of a separate group to allow for this.
Consider a plant including a reactor with a
water-cooled reflux condenser and other water cooled heat exchangers through which the process fluid is pumped, and in which no phase change occurs. The reflux condenser is strongly related to the reactor (condensing vapour in the lines, boiling liquid return, minimisation of control transfer lag) and both are members of the same intermediate process group. The reflux condenser is also related to the other heat exchangers (common cooling water service and similar shape), and will also be grouped with them. These other heat exchangers only have weak relationships with their process groups, as the process fluid is pumped.
Clearly, whereas the reflux condenser should be grouped with the reactor, the other heat exchangers should be members of the same group.
The conflicting items are removed from the
intermediates and then, in many cases, returned to one of them. It may seem more efficient to determine from which intermediates it should be removed in the f irst place . Some strategies require the conflicting items to be separate, so this is required for consistency. In fact, even for merging, the formation of "link sets" is far easier to implement if the conflicting object is removed from all intermediates first.
Link Sets and the Partial Ordering Table
All FRs relating each pair of objects at the current level are formed into a single link set, structured thus:
(FR_link_set
(group_ID ?one related object/ )
(group_ID ?other related object/)
(member_FRs ?list/ )
(link_set
?vector/ + )
(FR_links_ranked ?string/ + ))
Each vector represents one FR between the objects, containing its FR_number. FR_type, FR_name and
FR_criterion. The member-FRs list also contains all FR_numbers.
The link_set enumerates a set of such vectors. All possible subsets of the link_set are compared against prototype sets on a partial ordering table. Where these match, a ranking value is extracted from the table and ascribed to the FR_link_set. The ranking values only constitute a partial ordering, that is, imply the
relative importance of satisfying a link_set relative to others, but do not quantify the strengths or compare all combinations. Generalised prototype sets which match a range of link sets are included in this embodiment where
appropriate. Where FRs synergistically strengthen one another (either more than one of the same type or more than one type) this is represented explicitly in a prototype set.
Ranks are represented as strings. Where one string is a sub-string of another, the former is of a weaker link_set than the latter.
New partial ordering tables can be constructed to represent different requirements from the solution.
This is under user control.
Where an object is subject to more than one
constraint, it is necessary to determine which is the strongest, and thus the most important to satisfy.
Grouping conflicts are resolved, in part, on this basis. The formation of partially ordered link_sets enables this to occur.
Groups are likely to have more than one FR relating them, which may synergistically strengthen one another. This is shown in the reflux condenser example used above, where the condenser has three FRs to the reactor group. The strength of the link set is, therefore, not equal to that of the strongest FR it contains.
Thus, in evaluating the attraction between any two objects, all FRs must be assessed, individually and in all possible combinations. This is made easier, by collecting all FRs between two objects prior to
ranking. This gives a link set. The link set data object also provides somewhere to conveniently record the rank once assessed.
In many cases, two FRs (or sets of FRs) can be compared and one seen to be stronger. Such comparisons, and the assumption that strength comparisons are
transitive, allow the strengths to be ordered. However, certain pairs of FRs cannot be compared meaningfully, although both can be seen to be stronger than a third. Thus there is a partial ordering, in which the graph representing superiority diverges and converges, with parallel and incomparable sections. This precludes absolute quantification of the strengths.
Merging
Small groups, linked by a link set of such strength as to demand satisfaction, are merged back into a single group. The ranks of the link sets are compared with ranks listed in a user-accessible table to determine whether merging is required. The extraneous groups are than deleted.
Certain separate groups resulting from the divisive phase are so strongly related that their proximity must be guaranteed. For example, a thermosyphon reboiler will be in a conflict between its process group (the
relationship to the column) and the group of all steam using equipment. It will, therefore, be separated from its column. This FR is critically strong, and its satisfaction must not be impeded by any others. It can be returned to the same group as the column to ensure this.
In other conflict situations, no clear-cut decision can be made as to which group the object should be returned to. if it is strongly related to both
conflicting groups it effectively forms a strong
relationship directly between them. It is reasonable to collate the two conflicting intermediate groups and the conflict group to ensure the satisfaction of all FRs.
Following the divisive phase of conflict resolution, groups are both too numerous and small to significantly εimiplify the layout problem. Strategies are be adopted to reduce the number of objects to be considered
simultaneously at any level.
Merging has been used extensively in the second specific example.
IMPROVEMENTS IN GROUPING PROCESS
As already noted, it is desirable to define three categories of FR (physical, logical and segregation) in which each category causes the formation of a
corresponding type of group.
A physical group is one whose members all share a common physical attribute (for example, a tank farm, where each tank is made a member because it contains flammables) or share a physical need (for example, a group of heat exchangers with a common service
requirement).
Note that although objects related by a common requirement or attribute are grouped correctly by the procedure used in the second specific example, (for example, all water-cooled heat-exchangers were formed into one group, steam-heated exchangers into another, etc.), these groups are not manifested in the final layout as they were broken up during the conflict resolution phase.
The collation technique used in the second specific example can divide into different groups objects which are components of the same unit operation. For example, the demonstrator plant contains a distillation unit which includes a condenser and feed pre-heater. The condenser is related to the column by an FR of collation "absolutely_no_pump", that is, no pump may be inserted between the two items. The vapour would condense in the pump if one were used. The feed heater is related by an FR of collation "heat_conservation". Hence, the
condenser and column are collated into one group, the feed heater and the column into another. These two groups then conflict over the column.
The problem arises because of the FRs, as defined in the second specific example, are all derived from common physical features of the objects. In the column example above, the group should be formed because its members are members of the same unit operation and serve, together, to perform one task.
A feature of process units is that their members are more strongly attracted to other members of the group than to external objects. The specification of an arbitrary minimum strength of FR allowed to partake in grouping may be considered. This is not, however, desirable because the cut-off will vary between plants (in an ethylene plant run at high pressure, with
cryogenic sections, relatively weakly attracted items are probably more strongly attracted than the most strongly attracted items in a bulk solids handling plant), and even between groups in the same plant.
For example, consider a group containing a
distillation unit, comprising the column, a thermosyphon reboiler. condenser and feed heater. Neglect for now the attraction of the heat exchangers to others
elsewhere in the plant. The feed heater serves to increase the enthalpy of the stream flowing through it. Consequently, the scope for heat loss is greater between it and the column than between it and object feeding it. The condenser is connected to the column by both a vapour line and the liquid reflux line. It is connected to a member of the subsequent unit operation by a liquid line, which will most likely be of smaller diameter than the liquid reflux line. The thermosyphon reboiler must be close to the column to function. Clearly, all three ancillaries are more strongly attracted to the column than the objects feeding or fed by the distillation unit.
The concept of "logical" FRs has been developed in order to address this problem. Such an FR relates an object and its ancillary, and can be used in the
formation of these groups. The central object is chosen as one having ancillaries, but no master. Its
ancillaires may be added to the group, their ancillaries added, and so on unitl the chain of logical FRs is broken.
A consideration of the fifteen script rules
(mentioned herein) identifying ancillaries leads to an understanding of the fundamental meaning of the concept of an ancillary. It is apparent that the logical FR is always formed between the candidate object and the other object, of potentially the many to which it is
connected , to which it has the strongest phys ical FRs parallel to the connection. The formation of a logical group is. thus, a process of stepping along a chain of attractions of decreasing strength, until the strengths start to increase again, at which point the group's boundary exists.
This can be considered in two ways. This process provides a dynamic cut-off point for collation.
Alternatively, it can be thought of as finding the
minimum in strength of attraction, and terminating the group at that point. From the latter view arises the concept that logical FRs represent the "first
derivative" of the physical FRs strength. They are thus, physically meaningful, rather than being scripts.
Coupled with the concept of the logical FR is a technique to form logical groups using them.
The second specific example as previously described was not implemented to identify or respond to situations in which objects may be beneficially segregated. The development of the segregation FR allows the enhanced system to identify the situations. The group formation code has been enhanced to consider and manipulate these FRs correctly. The potential need for the segregation of objects imposes a particular demand on the group formation code. In the absence of considering
segregation, all objects that are attracted to a group should be made a member. However, if segregation is considered, the system must not only ensure that objects which should be members of a group are actually
collated, but also, deliberately and explicitly exclude objects which are potential members if their addition contravenes a demand for segregation.
The Rigid Hierarchy of Grouping Levels
In the second specific example, FRs may influence grouping at any level, and the hierarchy is flexible. An enhancement is to define a rigid hierarchy of groups, each level having a specific physical significance.
The rigid levels to be used may all have physical significance, as shown by examples below:
Level Examples
1 Items of equipment.
2 Pumps with standby, machines on same
shaft.
3 Unit operation, heat exchanger bank,
pumphouse.
4 Parallel level three groups.
5 Strongly related level three or four
groups in series, level three group in support structure.
6 Parallel level five groups (especially groups of serial groups).
7 Plots, tank farms, warehouses.
8 Plant.
Note that grouping levels are best represented numerically. This is for implementational convenience, as it is clear, at a stated level, which levels are immediately superior and inferior using simple
arithmetic. Symbols must be compared via an ordering table.
This rigid hierarchy also allows a range of levels of objects on which a given FR acts to be defined. For example the FR representing the attraction of a pump and its standby only act on level 1 objects (the pumps themselves). If the pumps are not made members of a level 2 group and hence, exist as separate entities at higher levels, this FR is not permitted to influence their grouping at these higher levels. The levels at which the FR is active is recorded in its
"activity_level" slot.
The benefit of a rigid hierarchy can be seen from an example. Consider a pair of columns, both requiring structural support. It is clearly beneficial to group these columns, if possible, so as to localise the structural requirement. However, the columns will also be strongly attracted to their ancillaries, if these include thermosyphon reboilers, where pressure drop in the interconnecting pipework must be minimal. Thus, assume that each column is grouped with its ancillaries, rather than the columns being grouped.
Now assume one column operates at high pressure, the other handles a highly corrosive process medium. In both cases, the length of the pipework connecting the column to its previous and subsequent unit operations must be minimised. Thus, the column groups will both be grouped with their associated process groups, and the structural FR will still remain unsatisfied. The groups containing the column groups will each occupy
significant area, as each contains the many members of each of a number of groups representing individual unit operations.
Now, assume that the structural FR between the columns is the strongest acting on either group. The groups will now be grouped together, ostensibly to satisfy the structural relationship. However, the other unit operations in each group along with each column unit may impede the positioning of the column units closely.
The structural support group has been formed at too high a level as to be beneficial.
The structural FR can be limited to being active in constraining objects of the scale of unit operation.
Thus, if it is the strongest FR acting on the column units at that level, they will be made members of a usuable structural support group. If they are not made members of such a group at that level, the FR will not be permitted to influence collation at a higher level. Thus, the formation of an inappropriate structural support group is precluded.
Group Formation Techniques
Each type of group (physical, logical or
segregation) requires a dedicated technique for their formation. These are applied in the order
- form segregation groups.
- form physical groups.
- form logical groups.
as some implementational efficiency is gained this way.
Note that the groups thus formed may conflict, and a separate resolution phase is applied. Formation of Physical Groups
Physical groups are formed using the same procedure, in the main, as already described in relation to the second specific example. However, that procedure does not constitute the sole available procedure. Indeed, the types of FR defined as suitable to cause the
addition of objects to physical groups may be considered as only a subset of all physical FRs. (The FRs that do cause collation are those that represent some
commonality - those that represent attraction due to, for example, the desire to minimise the length of hot pipes no longer are permitted to cause collation.
Whether the FR causes collation or not is indicated by the presence or absence of a "collation" slot.) Thus, the physical group collation code is invoked much less frequently than in the second specific example.
For an FR to be considered by the physical group collation code, it's "division" slot must contain the value "physical". Similarly, it's "activity_level" slot must contain the number (perhaps amongst other) of the level at which groups are being formed.
The "split FR" concept can be avoided. The
objective of using this concept (i.e. delimiting
strongly attracted but discrete, process unit based groups) can be achieved by the logical group formation system.
The use of in-line collation can also be avoided. In-line collation prevents the strict separation of the rules written to identify FRs from those forming the core of KAPPA. This separation is highly desirable. The former must be accessible to the user to allow modification and enhancement to suit local practice and needs. The user should, however, view the latter as a black box, which he controls via the input data (the FRs and PO Tables) and by responding to the system's
requests for assistance. As the performance benefits that in-line collation yields may not be necessary depending upon the speed of operation of the System Software.
Formation of Logical Groups
Logical groups may not be formed by the same
procedure as physical groups. The use of logical FRs is intended to prevent physically strongly-related objects being collated into the same group where this is
inappropriate, either because the objects should be members of parallel groups, or because their
inter-relationship is the weakest in the chain linking two serial groups. Their direction is exploited to achieve this.
A logical group skeleton is formed for each object which is a genuine group master, that is, each object which has its identifier recorded in the object_ID slot of an FR branch which also contains the frame
"ancillary_end master", but whose identifier is not recorded in the object_ID slot of any FR branch which also contains the frame "ancillary_end ancillary". A skeleton is also formed for each object which is an ancillary of more than one other object. That is, each object which has its identifier recorded in the
object_ID slot of a branch which also contains the frame "ancillary_end ancillary" on more than one FR frame. These latter objects are those which may potentially be members of more than one logical group, such as the weighing tank in the second specific sample.
Any object which is not already a member of a logical group and which is an ancillary of a member of an object that is, is then added to that group. This is, an object whose identifier is recorded on the object_ID slot of a branch which also contains the frame "ancillary_end ancillary" is added to the group
containing the object whose identifier is recorded in the object_ID slot of a branch which also contains the frame "ancillary_end master". This is repeated unitl no further additions take place.
Some objects which were made masters of a group because they are ancillaries of more than one object may be ancillaries of more than one member of the same group. The chain of logical FRs may have diverged and re-converged. These objects should not be masters of a group. Therefore, the two groups are merged. To facilitate this, when the group skeletons are established, they are marked as either having a
"true_master" if their master is not the ancillary of any other object, or a fake_master if their master is the ancillary of more than one object. This is repeated until no further merging occurs, as the objects which are the masters of fake master may be originally made members of different logical groups, hence the groups should not be merged, but the groups containing the fake master's master may themselves be merged into a single group.
As a refinement of the procedure, the members of logical groups are ascribed to "segments" of the group as well as the group's membership list. A new segment is formed when an object to be added is the ancillary of an object which is also a member of a physical group. In the event of this latter object being resolved into the physical group, its ancillaries must be removed from the logical group to become a separate group. This is so because the objects are members of the logical group because they are ancillaries of another member. Hence, if the member of which they are ancillaries is removed, no reason exists for them to remain as members. Indeed, by removing them from the group, it is possible to position them close to the physical group containing their master. By ascribing the objects to segments, this division of the logical group is easily
accomplished. The Formation of Segregation Groups
Physical and logical groups are formed because their members are mutually attracted. However, groups may also be formed because their members would constitute a hazard unless segregated from the rest of the plant. By grouping them, a single high risk area is defined. An example of this is a tank farm storing flammable liquids in bulk. It is reasonable to consider commonality of hazard to constitute an attractive relationship, and hence, the use of the standard physical group collation procedure is appropriate.
The hazardous objects need not be single plant items - a group contaning one hazardous member, in which the other are innocuous may have three attractive FRs to other groups with a member which is similarly hazardous.
Similarly, objects may have some mutual repulsion, but be made members of the same primitive group. For example, a pump with an electric motor is repelled from its feed vessel if that feed vessel contains a flammable liquid. However, the pump will be made a member of the logical group containing the vessel initially, then perhaps resolved into a pump bay group. The mutual repulsion of the pump and vessel may contribute to this resolution, as it will weaken the link set holding the pump into the logical group. Note that, in this case, the segregation has arisen because the pump is more strongly attracted to the pump bay than the logical group, rather than the pump being actively expelled from the logical group.
The physical and logical group formation and
conflict resolution systems meet both of these
requirements. It is, however, insufficient in some cases to rely on a hazardous object being "pulled" away from the rest of the plant. There are situations where active steps must be taken to ensure segregation. For example, a furnace is repelled from process equipment containing flammables. FRs can be created to indicate the repulsion of hazardous objects from non-hazardous objects. Such FRs constitute segregation FRs.
An object may be intrinsically hazardous, for example, a nitration reactor. Alternatively, objects may only be hazardous in certain combinations. An ignition source is only hazardous in combination with a source of flammable vapour, for example. A division of FR alongside physical and logical has been introduced to record these repelling relationships, the segregation FR. One branch of the segregation FR is labelled
"source", the other, "target". The object referred to by the source branch is that which either constitutes a hazard in itself, such as the nitration reactor, or in the case of a hazardous combination, the object whose segregation from the rest of the plant is more
acceptable. For example, if the FR relates a furnace and a reflux condenser containing flammable vapour, the furnace will be made the source. The object referred to by the target branch is that which would sustain damage in the event of catatrophic failure of the hazardous object, if the FR represents a monadic hazard. Every member of the plant may be at the target end of an FR from the nitration reactor!
The procedure used to form groups around a hazardous object is based on the premise that as few objects as possible should be included in the group. The group, once formed, will be segregated from the rest of the plant. The members of the group will, therefore, be separated from the services and the other process equipment to which they are connected. Additionally, all members of the group are at risk. Minimisation of the size of the group also minimises the scale of damage, reducing the cost of reconstruction and the chance of propagation of the incident.
The philosophy is reflected in the procedure in that it must be proven to be positively beneficial to add an object to the hazardous group before the addition is made. The members of segregation groups are restricted to ancillaries of the hazardous object, or objects of which the hazardous object is an ancillary. That is. objects are not considered for addition to a segregation group if they are related to the hazardous object by physical FRs only.
Segregation groups are formed as follows. A group skeleton is constructed around each object at the
"source" end of a segregation FR which is active at the current level of group being formed. Thereafter, objects which are either masters or ancillaries of current objects may be added to the segregation group, subject to the link set from the object to be added to the then current members of the segregation group being stronger than the null link set of the PO Table.
The procedure is complicated by the need to consider the effect of the addition of one object on the
requirements to add other objects. For example, if an object has a weak net attraction to the segregation group, it will be added. However, the newly-added object may be critically strongly attracted to the subsequent object, forcing the latter to be added. The newly-added object may, however, be strongly repelled from the segregation group. Clearly, the addition of the weakly attracted object, which is desirable if considered locally, is forcing the addition of the next object which is undesirable globally.
The impact of the addition of previous objects is assessed immediately after the addition of a new member, whether this new member is a master or ancillary of previous members. Consider, for now the test applied if the object added was an ancillary of a previous member.
The object just added and all objects of which it is an ancillary are formed into a temporary sub-group. A link set is formed from the sub-group to the rest of the segregation group members which are ancillaries of the hazardous object causing the group. If the strength of the link set exceeds that of the null link set, the masters of the members of the sub-group are added to it (if not already members) and the test repeated until the object causing the group is the next to be added to the sub-group. If at any time, the link set is found to be weaker than the null link set. the members of the temporary sub-group are removed from the segregation group. Thereafter, no further ancillaries of the remaining group members are added.
A similar test is applied if the object just added was a master of a previous member, but. of course, the objects added to temporary sub-group are ancillaries of its then current members.
Addition of objects to the segregation group is continued until no objects exist that are suitable for additon, or removal of members has occurred from both the masters and the ancillaries of the segregation object.
The Resolution of Grouping Conflicts
A conflict which must be resolved, exists between primitive groups which have a common member. For example, the reflux condenser in a reactor group may also be a member of the group of water cooled heat exchangers. KAPPA must determine of which group the condenser must ultimately be a member.
In resolving a conflict, the object is made a member of that group to which it is most strongly attracted. The relative attractions to all group of which it is potentially a member are determined by constructing link sets to each and comparing their strengths via the PO Table. The FRs to be included in a link set are
dependant on the definition of the object to which the link set runs. Two extreme cases exist. The link set may include all FRs to all other members of the
primitive group, irrespective of whether these other objects are also involved in conflicts. This may yield an optimistic estimate of the link set's strength, as some of the objects contributing FRs to it may,
ultimately, be removed from the group. Alternatively, only members of the primitive group that are not
involved in conflicts may be allowed to contribute to the link set. This may yield a pessimistic estimate of its strength.
A conflict resolution technique has been implemented that circumvents this problem by tentatively resolving conflicts, drawing assumptions where necessary, and back-tracking where appropriate.
A conflict is represented as a group, with its
"collation" slot taking the value "conflict". In the main, as in the second specific example, each conflict group has one member. However, consider a conflict between a logical group containing a distillation unit, and a physical group comprising all heat exchangers requiring a steam service. The column reboiler and feed heater will both be involved in this conflict. Clearly, if one of the two heat exchangers is resolved into the logical group, a steam line must be run into the process unit. Therefore, both heat exchangers should be placed in the process group, as no saving on service piping occurs by positioning one in the heat exchangers group.
The term "pull one; pull all" (POPA) has been coined to describe conflicts in which all objects involved in conflicts between a particular pair of groups must be resolved into the same group. A conflict between a pair of groups is indicated as being a POPA conflict by one of the groups being a physical group, one being a logical group, and the FRs causing the physical group having the slot "conflict_action POPA". Where a POPA conflict is indicated, a single conflict group is created to contain all the appropriate objects. This is then manipulated as a single object.
Note that, in some cases, some objects which are members of POPA conflict groups may also be involved in other conflicts. For example, consider a process unit, represented as a logical group, comrpising, amongst other equipment, a steam-heated heat exchanger and a steam ejector. These two items of equipment will be members of the physical group of equipment requiring a steam service. The conflict between this group and the logical group is a POPA conflict. However, the heat exchanger will also be a member of the physical group of heat exchangers, formed to allow sharing of maintenance facilities. It is made the sole member of a second conflict group to represent this. Thereafter, should the heat exchanger be placed in the heat exchanger group, the back-tracking system will remove it from POPA group.
Similarly, all members of a POPA group must be members of the same logical group. If the logical group is broken up during conflict resolution between the members of the POPA group, the POPA group itself is broken up by the back-tracking system.
Those members of the primitive groups involved in conflicts are not removed from their primitive group when the conflict group is formed. Rather, a second list of primitive group members is constructed. This list records the "core" members only, those members which are not involved in any conflict.
Link sets are also constructed during the
preliminary phase of conflict resolution. Each conflict group may have up to three link sets to each primitive group from which its member (or members) were
extracted. A link set to the full primitive group contains all FRs from the members of the conflict group to all members of the primitive group (including those involved in conflicts). A link set to the core of a primitive group contains all FRs from the members of the conflict group to all those members of the primitive group which are not involved in any conflict. A link set to the segment of a logical group contains FRs from the members of the conflict group to members of those segments of the logical group from which the members of the conflict group were extracted. Each link set is demarked as to which component of the primitive group it runs.
The resolution of the conflicts is conducted by applying heuristics, which suggest probable sound solutions for a given situation. The choice of
heuristic is made on the basis of likelihood of its use contributing to a final correct solution. That is, the application of those heuristics whose solution is least likely to be revoked in back-tracking is attempted in preference. The application of the heuristics is controlled by meta-rules.
An example of a heuristic which is highly likely to contribute to a correct solution (and thus, its
application is preferred) is:
"Where a conflict group has a stronger link set to the core of one primitive group than a link set to another, full primitive group, the members of the conflict group should be removed from the latter
primitive group". An arbitrary decision may be forced where no
heuristic applies. This, of course, is the least favoured heuristic. Each heuristic forms a frame to represent its decision, which identifies the objects involved in the decision, and the "winner" chosen. This is for implementational convenience, compared to the heuristic restructuring the groups itself. The
restructuring is conducted, according to the decisions, by separate rules. As this restructuring affects group membership, the back-tracking system is invoked to reform the appropriate link sets. Those decisions dependent on these link sets are checked for continued validity and decisions changed if necessary. The restructuring of groups may then be revoked or repaired if required. (Note that the reformation of the link sets and the maipulation of the knock-on effects of this is conducted automatically by the back-tracking system.) The procedure is conducted in a cycle of choice of a heuristic, application of this heuristic, to one
conflict action on the decision then automatic follow-up by the back-tracker. Note that, in each cycle, the most favourable heuristic at the time is chosen.
SPATIAL SYNTHESIS FRs
FR data convention
Details of FRs, their production and information content are described below. A general discusion of the se of FRs to represent design constraints has been given above.
Here is the FR convention for spatial synthesis:
(relationship
(class functional)
CFR_name ?)
(branch (object_ID ?) (group_IDs ? ...)
(elevation end ?) (plan_end ?))
(hit_range ?)
(min_height ?)
(max_height ?)
(min_distance ?)
(max_distance ?)
)
FR slot definitions for spatial synthesis
Relationship is a generic frame for all kinds of FR and SR.
Class takes a value from {functional spatial} to distinguish FR from 9R.
FR_name serves only to identify cross link FRs for floor trains, when it takes the value {stack}.
Otherwise FR_name is ignored by spatial synthesis and serves a descriptive function in grouping.
Branch delimits reference to a plant object.
Potentially an FR may relate several objects, each having a separate branch. In practice most FRs are binary, having two branches, relating two objects.
Object_ID contains the unique object ID number of the plant object (item of equipment or group) to which the FR principally refers.
Group_IDs contains several slots each being the unique object ID number of a plant object (item of equipment or group) to which the FR may also refer. For example, a FR for "sharing heavy foundations" may
principally apply to a big distillation column and a big centrifuge, these objects would be recorded under object ID on their respective branches. In practice this FR is more likely to relate two groups: column plus ancillaries (reboiler, pumps, reflux condenser etc) and centrifuge plus ancillaries. These groups would be recorded under group_IDs in the appropriate branches. Thus an FR is visible at more than one grouping level.
Elevation_end is optional, occurring only on
elevation FRs. It takes a value from {top bottom} and defines the attitude of the elevation constraint.
Plan_end is optional, occurring only on floor train cross links, ie with (FR_name stack). It takes a value from {from to} and defines the attitude of a cross link constraint, ie which of the two related objects should be further along the floor train.
Hit_range is optional, occurring only on elevation FRs . I t specif ies which constraints may be ignored should a single elevation SR be unsatisf iable. It takes a value from {critical non_critical}. Should
critical elevation FRs not be simultaneously satisfiable, elevation will fail. Should criticals be satisfiable, but all FRs (both critical & non_critical) not be
simultaneously satisfiable, the non_criticals are ignored.
Min_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the minimum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
Height is measured centre of object to centre of object. (Note that each object has a dimensioned geometric
primitive, with a well defined centre).
Max_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the maximum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
Height is measured centre of object to centre of object.
Min_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the minimum acceptable
horizontal distance along the floor train between the (plan_end from) object, and the (plan_end to) object.
Distance is measured centre of object to centre of object.
Max_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the maximum acceptable
horizontal distance along the floor train between the (plan_end from) object, and the (plan_end to) object.
Distance is measured centre of object to centre of object The KAPPA implementation defines height and distance conventions suitable for dealing with negative height separations and for generating SRs from FRs between the same objects having their ELEVATION-ENDs or
PLAN-ENDs reversed. For example combining the following FRs:
(relationship
(class functional)
(branch (elevation_end top) (object_ID 1) ... )
(branch (elevation_end bottom) (object_lD 2) ... ) :
)
(relationship
(class functional)
(branch (elevation_end bottom) (object_ID 1) ... )
(branch (elevation_end top) (object_ID 2) ... )
:
)
The height/distance convention of this embodiment is not completely general, it can break down for example with (min_height -1) (max_height 1).
The convention should be modified to be more
general, for more sophisticated embodiments.
ELEVATION
Absolute elevation with respect to site is
determined individually for each plant item from its constraints, without reference to groups. The single elevation constraint between two items is carried on a Spatial Relationship (herein referred to as a SR), containing composite information from all the elevation FRs between the two items. A constrained item may have several elevation SRs from several different constraining items.
Absolute elevation with respect to site is taken to be the minimum satisfying all elevation SRs. It is measured in metres from grade to equipment origin which typically is the equipment centre.
In a simplified system all elevations are banded on to floors at fixed heights. After a first attempt at elevation without banding, further elevation FRs are generated to raise some items to the next convenient floor, and absolute elevations recalculated.
In a more sophisticated system, floor banding is optional - depending on the plant. Floors are
automatically generated at appropriate heights.
Elevation is highly constrained, every item goes as close to the floor as its constraints permit, so in principle it is permissible simply to take the tallest constraint on an item and use that to determine height. Every elevation constraint must be met irrespective of whether it crosses group boundaries. If an elevation constraint were somehow "optional" it would be broken and the constrained item placed at ground level. Having said this, active elevation constraints depend on many factors, for example if ground space is at a premium more items would be elevated. But, once elevation constraints are imposed all of them must be satisfied. For these reasons grouping is not manifest in elevation, only in plan. Elevation of a group is not defined, only elevation of a plant item.
Elevation SRs
As mentioned above, absolute elevation with respect to site is determined individually for each plant item from its constraints, without reference to groups. The single elevation constraint between two items is carried on an elevation SR (Spatial Relationship), containing composite information from all elevation FRs between the two items.
Here is the elevation SR convention:
(relationship
(class spatial)
(SR_type qualitative)
(SR_name elevation)
(branch (elevation_end ?) (object_ID ?))
(C_min_height ?)
(C_max_height ?)
(N_min_height ?)
(N_max_height ?)
(min_height ?)
(max_height ?)
) Relationship is a gener ic frame for all kinds of FR and SR.
Class takes a value from {functional spatial} to distinguish FR from SR.
SR_type takes a value from {qualitative
quantitative} to distinguish elevation & plan SRs from floor train & cross link SRs. This is not necessarily an appropriate distinction in some embodiments.
SR_name takes a value from {elevation plan floor train floor_train_east X_link} to distinguish these kinds of SR. Floor_train & floor_train_east are two subtypes of floor train SR.
Branch delimits reference to a plant object. An elevation SR relates exactly two objects, each having a separate branch on the SR. These objects are always plant items.
Object_ID contains the unique object_ID number of a plant item to which the SR refers.
Elevation_end takes a value from {top bottom} and defines the attitude of the elevation constraint.
Each branch is potentially constrained by the other, for example column and reboiler - column outlet must be at least 1m above reboiler inlet, but reboiler outlet must be no more than 0.5m below column inlet. In this example (assuming a solution is possible) the column might be raised until the first constraint is satisfied, or if the column were already elevated for some other reason, the reboiler might be raised to satisfy the second constraint.
All this constraint information is carried on a single SR as a min/max "band" - with distance in standard units measured centre to centre.
C_min_height & c_max_height take numeric values specifying the composite elevation constraint of all elevation FRs with (hit_range critical). Min is the largest of the FR minima, and max the smallest of the FR maxima.
N_min_height & n_max_height take numeric values specifying the composite elevation constraint of all elevation FRs with (hit_range non_critical). Min is the largest of the FR minima, and max the smallest of the FR maxima.
Min_height & max_height are the composite of
critical & non critical bands. Should the two bands overlap min_height is the larger of c_min_height & n_min height and max_height is the smaller of c_max_height & n_max_height. Should the two bands not overlap
min_height is c_min_height and max_height is c_max height. Should c_min_height exceed c_max_height the constraint cannot be satisfied.
Having two grades of elevation FR - critical & non critical, enables some primitive compromise to be achieved in the event of conflicting constraints. For example when a pump and feed tank should ideally be mounted on the same floor, but this cannot be done as the tank must be elevated to provide NPSH.
A more sophisticted means of compromise can be implemented, for example to cover the case where all elevation FRs are compatible except for one non critical which must be broken - rather than breaking all non criticals.
Building elevation SRs
A single elevation SR is generated between any two plant items connected by an elevation FR. The SR carries the composite constraint defined by all
elevation FRs connecting these two objects. An object may have several SRs representing elevation constraints with respect to several other obj ects .
There is a notional plant item called local_grade. Every real plant item has an elevation FR connecting it to local grade and specifying a minimum elevation of ground level. This is to avoid items having elevation zero and being half underground.
First a skeleton elevation SR is generated betweenn any two objects connected by an elevation FR. An elevation FR is characterised by possession of the elevation_end attribute on its branches. A skeleton elevation SR looks like this: (relationship
(class spatial)
(SR_type qualitative)
(SR_name elevation)
(branch (elevation_end top) (object_ID ?))
(branch (elevation_end bottom) (object_ID ?))
)
Next, for each elevation SR skeleton, every
elevation FR parallel to the SR (ie connecting the same items) is examined. Critical & non critical max & min heights are calculated using two separate running totals, and the four slots added to the SR.
Next, for each elevation SR min_height and max height are calculated, completing the elevation SRs.
Absolute elevations
Absolute elevation with respect to site is recorded on plant items like this:
(plant_object
(object_type plant_item)
(Z_posn ?)
)
Z_posn takes a numeric value for the height in metres of the plant item's centre above site grade.
Initially a z_posn of 0 is assigned to all plant items.
Next, each plant item is examined, ilκ existing Z posn found, and its elevation SR to local grade found. The existing Z_posn is overwritten with the larger of existing z_posn and minimum elevation from local_grade.
Next, each plant item is examined, its existing z posn found and an elevation SR found from it to another plant object. The current z_posn of this second object is found. A new elevation for the first object is calculated from the sum of second object's z_posn and minimum elevation of first above second specified by the SR. First object's z_posn is overwritten with larger of existing z_posn and its new elevation.
This procedure is repeated, gradually lifting plant items each time, until no more changes occur - that is all constraints are met. Small hysteresis is built in to avoid endless loops caused by arithmetic rounding errors: z_posn is only overwritten by new elevation when new elevation exceeds existing z_posn by 2cm.
Floor banding
Floors are added explicitly to the database. A floor looks like this:
(plant_pbject
(object_type floor)
(object_ID ?)
(z_posn ?)
)
Z_posn is height in metres above site grade. Floor heights are determined manually, in the simplified system. But, the floor heights are preferably determined by the system.
Floor banding is based on a distinct kind of
elevation FR. These characteristically relate a plant object to a notional object called local_floor and fouled_floor.
Elevation FRs connected to local_floor specify a min/max height band within which a floor (or site grade) must lie. These are generally used to specify the need for some supporting structure within reach of the item.
Elevation FRs connected to fouled_floor specify a "dead band" where no floor should appear. These are used to specify clearance around fittings requiring access - for example to avoid floors running through the middle of a nozzle.
Local_floor FRs are identical to ordinary elevation FRs except that they connect to a notional object.
Fouled_floor FRs are similar, except that they define a band in which no floor must lie, rather than a band in which a floor should lie. Floor FRs take no direct part in the elevation procedure described above.
Once preliminary elevations have been determined, flooring FRs are examined. If a floor lies within the required band of a local_floor FR the FR is ignored.
Similarly if there is no floor in the exclusion band of a fouled_floor FR that FR is ignored.
If a plant item has a local_floor FR with no floor in the required band, then a new genuine elevation FR is created relating the plant item to the first floor above the required band. This imposes an elevation constraint forcing the item to be lifted until a floor appears in the required band. Note that real floors are explicit plant, objects in the database, having definite
elevations.
If a plant item has a fouled_floor FR with a floor in its exclusion band, then a new genuine elevation FR is created relating the plant item to the floor in the exclusion band. This imposes an elevation constraint forcing the item to be lifted until the floor disappears from the exclusion band.
Once all "active" floor FRs have been mapped to genuine constraints, absolute elevations with respect to site are recalculated. Floor banding must be repeated until no new constraints appear. For example lifting a pump to first floor could cause its feed tank to be mounted on second floor rather than first.
Just one local floor FR is permitted on any item, to avoid problems with unsatisfiable constraints. This follows the philosophy of single constraint.
ENHANCEMENTS TO THE ELEVATION SYSTEM
In the second specific example, each item is
permitted one F.R. to one of either local floor or fouling floor. This is to prevent loops of floor requirements being formed. Consider a tall vesseI with a manhole on its top, and supported by a skirt at the bottom. In principle, this should have two floor support requirements. Assume that both are represented, and the F.R. representing the skirt is found to be unsatisfied. The vessel will be lifted. This may cause the F.R. representing the access requirement of the manhole to become unsatisfied, so the vessel will be further lifted so that the manhole requirement is met by the next higher floor. The skirt support requirement is now unsatisfied, and so on. Experience shows that the process is repeated until the vessel is ejected through the roof of the plant!
However, many items do require floors at more than one level. The vessel in the above example is one such. The system has been enhanced so that this can be represented. Two notional objects have been now
defined, each of which performs one function of a floor. These are "support floor" and "access floor", self-explanatory terms. Together, these objects perform both functions of "local floor" used in the second specific example. An item is still only permitted one F.R. to "support floor". This, however, reflects the practice of only supporting an item at one point, either standing it on a floor or hanging it through one, enforced by the need to allow the item to expand or contract while reaching process conditions. (Note that side supports on a column may be positioned anywhere along its height, and are not fixed to the column, as they provide lateral support only. These can be
neglected from the analysis.) An item may have any number of F.R.s to access floor.
The height of the item is defined by the F.R. to support floor, in much the same way as the heights of items are defined by the F.R. to local floor in the second specific example. If F.R.s to access floor are unsatisfied, the item may only be lifted if this does not cause the F.R. to support floor to become
unsatisfied (ie. the freedom to lift objects is
limited). Once one F.R. to access floor has been satisfied, no further movement of the item is
permitted. Which F.R. to access floor is to be
satisfied may be determined by whichever falls most easily onto a real floor, or by choosing the most important by reference to a Partial Ordering Table.
Alternatively, the features of the object to which access is required may be moved where there is freedom to do so (for example, column side manholes need be spaced regularly, but which tray they access, and hence, their elevation, is not critical). Domain specific rules may be written to identify when this is possible and conduct the alteration. A representation of a platform is entered into the database by the system to satisfy any F.R. to access floor which cannot be aligned with a real floor after these measures have boen
attempted. It is also possible to choose automatically
elevations for floors, based on the number of F.R.s any position may satisfy. The elevations at which floors are required to satisfy every F.R. to access floor are noted. The number of F.R.s to be satisfied at each altitude is then calculated. A floor is positioned at the lowest height at which the number of F.R.s
satisfiable is at a local minimum, the items are re-positioned to use this floor or as a result of being pushed up, and the position of the next floor is determined. This is repeated until no further floors are required.
The floors are positioned at a minimum because this minimises the distance that items need be lifted. Where the minima are too widely spaced, a floor is imposed between them. Where they are too close, the lower floor is omitted.
PLAN
The plan arrangement is generated for members of a group with respect to that group. Groups are layed out before their parent group, the so called "bottom up" approach. This approach gives dimensions of objects which are being layed out, as the objects themselves have already been layed out.
All FRs carrying plan information between each pair of objects (plant items or groups) are represented by a single composite data object. This then conveniently provides a single source of all information describing the constraints between the objects.
A relative strength or weight is written onto the single composite data object according to the total strength of the set of FRs it represents, that is. the importance of the set in constraining the layout. The weighting values are drawn from tables defined by the user which may be changed to reflect different
priorities in different layouts.
Each object might have more than one composite set of constraints refering to it. An abstract structure providing the required single constraint on each item's position is constructed from these composite
constraints. This "Plan Tree" defines which object another object must be positioned with respect to. and imposes an order in which the layout should be attempted.
The plan tree is an intermediate in the synthesis of the layout. As such, it has no direct physical meaning.
The strategy used to transform the plan tree to plan positions with respect to the parent group depends on the scale at which the .plant is viewed - laying out a pump bay is not the same as arranging plots in a
refinery. Plan positions of plant items within standby groups are generated by script rules, as standby group layout is usually trivial. Nosplit groups are laid out along an elemental linear datum and the plot is formed by packing the elemental sections thus formed along a notional skeleton of access-ways and piperacks.
Linear layout
The linearising algorithm is used at "nosplit" and "superl" grouping levels to generate plan positions from plan tree. Linear layout of a group results in one side of the group providing access and the other pipe-routing.
The plan tree is mapped into a "Floor Train", a line of equipment running alongside an accessway or
pipe-route. If part of the plant is divided into floors, plan tree will map into several floor trains, one for each floor. These trains are nominally
independant. except for cross links constraining
equipment on different floors to be aligned. A distinct kind of SR represents floor trains, indicating that one item follows another, or that a cross link exists.
Items can now be close packed on their floor trains, subject to cross links and pairwise separation
distances. Separations are carried on floor train SRs just as vertical separations are carried on elevation SRs.
Finally local coordinates can be generated giving position of members of the group with respect to parent group.
Items in close packed floor trains may have freedom to move without affecting the rest of the group - particularly when cross links open up floor trains from close packed state. This freedom can be exploited during the top down adjustment phase.
Linear layout with different configurations of flooring, access and pipe routing may be required. For example plants without floors or pipe rack, or where access is available beneath pipe rack, and others.
The equipment comprising a plant that has been layed out well is positioned, in general, in rows one item deep. Access, consisting of a major gangway or a road, is provided at the front of the row, with secondary access and perhaps a pipe rack to the rear. The
accessway topology should be as simple as possible.
If two positional degrees of freedom are allowed for the plant items when developing the plan, a single solid block of equipment will result. The equipment will not be orthogonal, nor will space exist for accessways.
Thus only one degree of freedom should be allowed, that is position along the accessway. However, it is
possible to use elemental local linear datum lines.
Unforunately. it is not possible to predict the structure of the accessways sufficiently accurately in advance of starting the layout to constrain the
equipment positions. It is also unacceptable to use a single linear datum for the whole plant and then bend the resultant linear layout to fit onto the available land or to allow "Cross-links". Tn some cases the optimal layout is topologically very dissimilar to a folded line, irrespective of the order in which the equipment is placed along the linear datum (for example, a Tee-shaped layout cannot be formed from a linear layout).
Consider the use of elemental local linear datum lines. Equipment can be layed out along these, with only one degree of freedom (manifested as the order in which they are added). The elemental sections can then be conjoined to yield the final layout. Clearly the equipment layed out against any datum is that which should be close together. By dividing the plant into groups prior to laying it out, this requirement can be acknowledged.
Note that those items that typically form a second, subsidiary, row (such as pumps, often positioned under the pipe rack) are excluded from the linearisation.
Their positions are defined directly however, by the order of the main row.
Site plan
Linearly arranged groups (or modules) are to be positioned on the plot or site so as to share
pipe-routes and access, subject to constraints on ground area.
The second specific example requires the site (or plot) to have a notional skeleton consisting of pipe racks alternating with, and parallel to, accessways.
Linear groups are then arranged within this striated skeleton. Dimensions of site components are known (since they are layed out first), they are arranged on the site to fill a rectangle of reasonable aspect ratio.
Once the order of the modules on the site is decided, and pairwise separations chosen, absolute coordinates with respect to the site origin can be calculated.
Other configurations of access/pipe-route may be required. Similarly there it may be desirable to provide the ability to include existing site features (eg existing services, site topography etc) in the site skeleton.
Once the site has been tentatively arranged, its component subgroups can be adjusted knowing the
whereabouts of connections running outside the group.
This complements the bottom up approach with a "top down" adjustment phase.
Plan tree
Ascending hierarchy approach
Plan layout is generated for individual groups, first the low level ones, then the higher level ones containing groups already layed out.
Plan arrangement is generated for members of a group with respect to that group. Members of the group are flagged with the slot (group_selection enabled) and the parent group flagged with (group_selection parent).
FR link sets are built, summarising the FRs relating each pair of enabled objects. A FR link set looks like this:
(FR_link_set
(group_ID ?)
(scope ?)
(link_set ? ... ?)
(FR_links_ranked ? ... ?)
)
Group_ID identifies one of the linked plant objects (equipment item or group). Each link set has exactly two group_ID slots.
Scope takes a value from {internal external} and indicates whether the link set relates two items in the currently enabled group, or one enabled item and one item from outside the group.
Link_set summarises all FRs connecting the linked objects. This is an intermediate for FR-links-ranked.
FR_links_ranked is a list of possible maximal ranks for this link set, according to current partial ordering table.
In the second specific example, link sets are rebuilt on several occasions using different partial orderings. Preferably they are constructed once, with several ranks recorded from different PO tables.
Firstly a skeleton link set is built (internal or external to currently enabled group) between any two objects related by a FR. Then, for each link set, a summary of each parallel FR (ie connecting same objects as link set) is placed in slot (link_set ... ). This summary contains the
information to match a partial ordering table.
For a given FR link set. subsets of (link_set ... ) are matched into the plan tree partial ordering table. Each matching subset is given a rank or a place in the ordering. Of all these ranks, the maximal ones are selected and placed in slot (FR_links_ranked ... ).
When two link sets are compared, should either have more than one maximal rank an arbitrary choice of one maximal rank is made for each. In comparing the link sets, should their ranks be incomparable under the given partial ordering a heuristic is invoked to select the stronger link. This involves comparing lengths of the strings representing ranks. In practice most link sets are directly comparable.
When no clear comparison of link sets can be made under a partial ordering there is scope for alternative decisions, arbitrary choices, user intervention and reasonable heuristics.
SR graph
A weighted SR graph is constructed from enabled plant objects and link sets. See Figure 11 for examples of SR graph, SR tree and directed SR tree. Each link set maps to a SR, plant objects forming nodes of the graph. The weight assigned to each SR is the maximal rank taken from (FR_links_ranked ...).
A spanning tree of maximum weight is extracted from this graph. The arcs of this tree are plan SRs.
In the present embodiment SR graph and tree
construction is carried out in LISP. When complete the SR tree is entered explicitly in the database, using plan SRs to represent arcs in the tree.
A plan SR looks like this:
(relationship
(class spatial)
(SR_type qualitative)
(SR_name plan)
(branch (object_ID ?) (plan_end ?))
)
A tree root is chosen by examining all FR link sets with slot (scope external) and selecting the group member with strongest external link set.
Choosing root this way means that the major
constraint on fitting parent group in with other groups will come from plan tree root. When the current group is linearised, root will be near one end. Thus the major external constraint will be easier to satisfy.
Once again there is scope for alternative decisions, arbitrary choices, user intervention and reasonable heuristics when the choice of root is not clear.
Plan tree is directed away from root, by setting slots (plan_end ?) on SR branches. The tree directing algorithm operates as follows: All plan tree SRs connected to root have (plan_end from) inserted on root branch and (plan_end to) on other branch. Such SRs are said to be directed. Any node in the tree (ie plant object) is said to be directed when it is at (plan_end to) of some directed plan tree SR. Any undirected SR connected to a directed node has
(ρlan_end from) inserted on the directed node's branch and (plan_end to) on other branch.
This SR plan tree provides the single-constraint starting point for the linearising and site plan
algorithms which give final equipment positions.
Pump standby groups are layed out by script rules with one pump north, the other south, standard
separation, nozzles to the west.
Linear layout
Orienting plan tree
The linearising algorithm operates on an enabled group immediately after plan tree has been generated.
The group is to be arranged as a single row of equipment (with some small exceptions) running
north-south. A notional pipe-route runs north-south along the eastern side of the equipment, and a notional accessway runs along the western side. These choices of direction are arbitrary, but the group can be rotated or reflected into another configuration later.
Since floor banding has already been done, what is required is essentially an ordered list of the items on each floor, running north-south.
The first step is to orient the plan tree, deciding whether each plan tree SR should point north or south along the pipe-route. An exception to this is pumps, which are placed beneath pipe-rack near their feed vessels. Plan tree orientation starts at root, and continues through the tree in depth first order. Some plan tree SRs can only be oriented knowing the
orientation of their (plan_end from) object.
Firstly root is oriented with respect to pipe rack, then all plan tree SRs whose (plan_end from) object is oriented are themselves oriented with respect to pipe rack, then items at (plan_end to) of oriented SRs are oriented, and so on recursively.
Orientation with respect to parent group is stored on a plant object like this:
(plant_object
(group_azimuth ?)
)
Group azimuth is measured anticlockwise in degrees from principle axis of parent group to principle axis of object in question. For a group, principle axis is eastgoing. for a plant item principle axis depends on item's geometric primitive.
To orient a plant object or plan tree SR a series of rules is tried, each progressively more general until one works. The most general rule is a default to be used when no preferred orientation is clear. Specialised orientation rules consider, for example, orienting items and SRs to facilitate process connection between items, orienting heat exchangers to allow tube withdrawal over accessway, and close packing objects on different floors.
Pump standby groups are placed beneath pipe rack, ie plan tree SRs whose (plan-end to) is a pump group, are oriented eastward.
In orienting plan tree there is scope for alternative decisions, arbitrary choices, user intervention and reasonable heuristics.
The special orientation rules, can include
consideration of equipment features other than process nozzles, such as electrical ancillaries.
Linear layout can be formalised for plants with no floors, plants without major pipe racks, and other variants.
Floor trains
Once plan tree is oriented, floor lists can be generated. First a Principle Floor List is made, a single ordered list of items running from south to north along the pipe rack. To build this, the oriented plan tree is processed depth first, each item being inserted before its tree-parent if the connecting SR is south oriented, and inserted after its tree-parent if the connecting SR is north oriented. When an item is at (plan_end to) of two or more identically oriented plan tree SRs, the system is free to choose the order in which they are processed.
Items offset east (eg pump standbys) are excluded. This is possible since the nature of layout constraints generally means that such items are leaves on the plan tree. Thus sections of tree are not lost by excluding such items.
Provision can be made for plants where east offset items are not leaves on plan tree. This will probably mean reforming the plan tree. One special case of reforming has been implemented in the present embodiment for metering pumps.
From this Principle Floor List are extracted several individual floor lists, containing items from principle list which occupy space on the same floor. Once again east offset items are excluded.
Floor trains are generated from floor lists. A floor train is a collection of floor train SRs which
essentially represent the individual floor lists. A floor train SR looks like this:
(relationship
(class spatial)
(SR_type quantitative)
(SR_name floor train)
(branch (plan_end ?) (object_ID ?))
(min_distance ?)
(max_distance ?)
) A floor train SR relates exactly two items. For an individual floor list, floor train SRs are created from each item to each subsequent item in the list. On each SR is placed a standard separation distance using slot (min_distance ?) - just like vertical separations for elevation. There may also be a maximum separation distance using slot (max_distance ?). These will specify that equipment in a floor list be "strung out" in a line with standard intervals between adjacent items.
Distances are measured in metres centre to centre. Tables of standard plan separations are widely available.
Inter-item spacing can be carried on FRs, then transferred to floor train SRs as with elevation FRs. This gives greater flexibility allowing appropriate pipework clearance, access and safety spacing etc to be specified.
Cross links
Cross link SRs are now built, these specify that equipment items on different floors be aligned, with their mutual horizontal separation falling within
specified limits.
Cross link SRs are similar to floor train SRs except in SR_name which takes the value X_link. Cross link SRs are built from those FRs having slot (FR_name stack) in the same way as elevation SRs are built from elevation FRs, except that min/max_distance replaces height. In practice a cross link SR is formed from a single stack FR, for example to align a hopper outlet with a bagger inlet on the floor below.
Once again distances are measured in metres centre to centre.
Close packing
The combination of floor train SRs and cross link SRs constraining north-south position alongside a pipe rack is closely analogous to elevation SRs constraining vertical position. It is not surprising then, that derivation of northing resembles derivation of absolute height. Northings are calculated with respect to a local origin for the parent group, and are recorded on plant objects using slot (GY_posn) like this:
(plant object
(GY_posn ?)
)
Initially a GY_posn of 0 is assigned to all plant objects.
Next, each plant object is examined, its existing GY posn found and a floor_train or X_link SR found from it to another plant object.. The current GY_posn of this second object is found. A new northing for the first object is calculated from the sum of second object's GY posn and minimum separation distance of first from second specified by the SR. First object's GY_posn is
overwritten with larger of existing GY_posn and its new northing. This procedure is repeated, gradually moving plant objects each time, until no more changes occur - that is all floor_train/X_link SR constraints are met. Small hysteresis is built in to avoid endless loops caused by arithmetic rounding errors: GY_posn is only overwritten by new northing when new northing exceeds existing GY posn by 2cm.
When a collection of floor_train and X_link SRs are not simultaneously satisfiable some constraints must be removed. The means of resolving this is at present rather crude: When two cross link SRs and some floor train SRs form a loop, some of the floor train SRs are removed, breaking the loop. Such loops are the cause of unsatisfiable criteria.
The apparently extraneous floor train SRs created from floor lists, take up any "slack" left on a floor caused by removing SRs.
The mapping of plan tree to floor trains & cross links can be extended, with particular attention to loop finding and breaking methods, and to the use of extra SRs to "take up slack".
Easterly offsets
All eastgoing plan tree SRs are mapped to a special kind of floor train SR having slot (SR_name floor_train east), where min/max distance refers to easterly offset from main equipment line, under pipe rack.
Once again distances are measured in metres centre to centre.
The use of floor_train_east SRs can be extended.
There is a case for creating separate north-south floor trains of laterally displaced items, and creating cross links between these and the main floor trains.
In the present embodiment, each easterly displaced item is assigned the same northing as its tree-parent item, ie it is placed beneath pipe rack alognside
tree-parent.
All items on the main floor trains are given eastings of zero in slot (GX_posn ?). The easting given to any displaced item is the min_distance specified by the single floor_train_east SR constraining that item.
This determination of eastings can be enhanced, for example to align equipment on a common tangent, to cover specialised equipment needs or to arrange pumps neatly beneath pipe rack.
At this stage it possible to determine overall dimensions of the parent group. These are recorded on group's geometric primitive.
Site layout
The initial test case had only three modules on site. More complex site configurations can, of course, be dealt with.
In simplified form the site skeleton consists of a number of parallel "Tracks" numbered 0, 1, 2 ... and extending northwards from an arbitrary baseline. Each track represents an open space flanked on one side by a pipe rack, and on the other by a road or accessway.
Adjacent tracks share access or pipe rack alternately. On each track is placed an ordered sequence of "modules" - members of the site group. A module is a high level group and has already been layed out (using linear method), so the dimensions of each module are known.
An ideal aspect ratio is chosen for the site, in the present embodiment this is manually selected and is approximately 3:2. From the aspect ratio, the site extent is calculated along the direction of the tracks. This extent is referred to as "critical track length".
First track 0 is chosen. Modules are added to the chosen track in any order until the total module length on the chosen track exceeds the critical track length. Then the next track is chosen and modules are added in similar fashion. This is repeated until every module is on a track.
The freedom to assign modules to tracks in a useful order can be exploited in greater depth.
Module orientation is chosen so that access and pipe sides of a linear module coincide with access and pipe sides of the track, thus module length can be found in the direction of the track.
Each module has one remaining degree of freedom, the choice of reflection through track direction, ie
interchanging north & south ends of module. This is chosen after a consideration of pipe lengths for connecting adjacent tracks.
All groups are now layed out in plan.
Elevations are already expressed in absolute terms with respect to site grade.
Plan coordinates and orientations are initially expressed with respect to parent group, a recursive transformation is applied to generate absolute
coordinates and orientations with respect to site.
USER INPUT
A description will now be given for the assembly of starting data, the taxonomy and ranking of relationships for input into the KAPPA algorithm, and the plan tree orientation rules used for the second specific example. The constraints underlying the layout are discussed, rather than their manipulation.
Laying out a process plant is a process in which constraints are recognised and as many as possible satisfied. Within the specific example, their
identification is conducted by rules written by the user which act upon a database structured by him. The KAPPA algorithm then manipulates the constraints seperately. The constraints may be explicitly represented as
Functional Relationships (FRs), or imposed as attributes of existing data objects.
The database must be checked after its initial construction. This is both to ensure that it is an accurate description of the plant, and that each data object is correctly structured so as to be recognisable by the rules. The correct keywords must be used as frame heads, with the frame heads consistent with the adopted standard and appearing as slots of the correct superior frame.
Decisions must be made at various points in the procedure as to which constraints most need to
satisfied. These are controlled by user-supplied tables defining their "strength" (the Partial Ordering tables).
Database Checking And Completion
The database, as initially formed, is not input directly into the KAPPA algorithm. Contraints must be identified and recorded by rules written by the user.
KAPPA acts on these. Consequently, its structure is at the discretion of the user, in the main, although a few requirements are imposed upon it.
The database must conform to a standard, or rules will be unable to recognise data objects. Thus, frames must appear in the right context, and all attributes must be represented by the correctly named frame. For
example, the cross reference from a stream to a nozzle must be carried on the stream in the slot "connects_to" which must be an attribute of a "branch". The values must also be correct. In the above example, the nozzle name must be consistent on both the stream and the nozzle,
The frame head keywords and their possible values in the database are defined by the user. As such, the implementation of syntactic and semantic checks must be the user's responsibility.
Syntactic errors will cause frames to be neglected, as they can never match any pattern written conforming to the accepted database standards. Semantic errors will cause the wrong inferrence to be made. Both may lead to serious defects in the layout, as critical constraints might not be acted upon by the KAPPA algorithm. However, all syntactic errors, and any semantic error resulting in an inconsistency can be found by error checks.
The initial database must also contain sufficient fundamental information to define the plant to be laid out. This must consist of all information that cannot be inferred at all, such as equipment IDs and types, and a minimal sub-set of calculable data from which all other values can be derived. It is for the user to define what data is required to support the identification of the constraints in which he is interested.
It is likely that the database will contain gaps, either where values are unknown, or where they can not be inferred from other data. The user must decide whether to run rules to identify the constraints directly on this database, or to write rules to fill the gaps. These either perform calculations (usually simple) or insert default values. For example, six attributes fully
describe the flow in an intermittent stream under normal conventions. The user must input at least three, whereupon all others are calculated.
Any rules to expand the database must be written by the user. The data structures generated are at his discretion. In the present embodiment it has been decided to complete and stabilise the database
independently of inferring constraints.
Menu-driven inputs, configurable by the user, will enforce the use of conventions set by the user's project management and reduce errors.
It is unreasonable to demand that a database should completely describe a plant when it is created. This would increase the user's work load, and some data will be unavailable early in the design process when the system is likely to be first applied to a problem.
Applying rules to the database to complete and stabilise it early in the process makes writing rules for subsequent application easier. The presence of any required data can be assumed. Additionally, of course, the system as a whole will run faster if attributes are only inferred once and then stored for re-use.
Database Checking
Both syntactic and semantic checking are conducted by two knowledge base rules in the specific embodiment.
These check mass balances over each item. The total and component flows in and out respectively are accumulated. Reaction is not modelled. Database errors are manifested as imbalances.
Syntax checking are performed from database
declarations used to assist searching. These should be produced by a user to support his database conventions.
New semantic checks may be implemented if appropriate following any changes in database structure.
The mass balance checks are sufficient to check for random errors in connectivity, flowrates, and data structures of streams and nozzles (found to be the most common sources of error). An incorrectly structured stream or nozzle (or nozzle on an incorrectly structured plant object) is missed and cannot contribute to the accumulation. Incorrect values cause imbalance directly.
The component balance checker also checks the
composition of all streams.
Content checks rely on high-level, domain knowledge and thus should not be hard-coded.
Database Completion
The description of flow within a stream can be completed from any minimal combination of input data, by rules based on the following algorithms.
The mean flowrate (during periods of flow in an intermittent stream) is calculated as the arithmetic mean of the maximum and minimum flowrates
Mean flowrate (during periods of flow) is calculated as the total charge passing through a stream in a period of f low divided by the length of the per iod . A s eparate rule performs the inverse of this.
For continuous streams, the mean flowrate (that is, the flowrate during periods of flow) is set equal to the flowrate (that is, the flow rate averaged over periods of flow and no flow). A separate rule performs the inverse of this.
The maximum flowrate is set equal to the mean
flowrate as a default.
The minimum flowrate is set equal to the mean
flowrate as a default.
For intermittent streams, the flowrate averaged over periods of flow and no flow is calculated as the charge flowing in each period of flow divided by the cycle length.
The following default values complete the models of plant items.
The operating pressure. of a space within an item is set to 1 atmosphere unless otherwise stated. Pump operating pressures exclude allowance for overcoming hydrostatic head.
The operating temperature of a space within an item is set to ambient (assume 291K) unless one of operating, inlet or outlet temperatures are given for that space.
Some fundamental physical properties of the process media are explicitly entered by the user into the
database. Further properties are calculated from these.
The proportions of the contents of a stream in each phase are calculated from the distribution of each component between the phases.
The total density of the contents of a stream are calculated from the densities and proportions of each stream. Any volume change on mixing is neglected.
More rules to complete the database may be written if further fundamental data are found to be required for input to an expanded knowledge base. In particular, the system must infer the physical type of equipment, in a taxonomy relevant to the layout engineer, and
approximate equipment physical sizes (as demonstrated in the first specific example).
Physical properties may be read from commercial software packages. An interface to PPDS (Physical
Properties Data Service, Institution of Chemical
Engineers) has been written, although not used in the second specific example.
The equipment, stream and physical properties models, and the calculations based on them, are
sufficiently precise to allow those calculations
required in developing a layout to be conducted (eg.
pump NPSHs, pipe bores, hazard potential, etc.). The layout which is devised is, in the main, fairly
insensitive to the quality of the data. It must be remembered that the system is likely to be first applied to a plant early in its design, when the process is still poorly defined. Hence, minor inaccuracies in the data caused by the system are likely to be insignificant. Representation Of Relationship
The position of an object is constrained by
relationships between it and other objects on the
plant. Some relationships are strong but coarse,
requiring only that the related objects are reasonably close or well spaced. Others are weaker but more
precise, defining the relative positions of the related objects. The former act to form groups, the latter apply during the layout of the groups.
The constraints are not represented explicitly in the data input to the system. The system must identify them and record their existence. They are represented explicitly as Functional Relationship (FR) data objects. The rules inferring their existence are written by the user to allow him to customise his system to reflect differences in emphasis between industries, countries and even companies.
The structure of the database on which this
inference is based is defined by the user. However, the representations of the relationships are the input data for the KAPPA algorithm, and hence their structure is defined by the system builders. These structures are discussed above.
The range of relationships identified in the second specific example is intended to be representative only.
A full-scale system requires a large number of rules to identify relationships. The following discussion concerns enhancement to the second specific example.
Structure Of FRs
To be recognisable to KAPPA, FRs should preferably be structured thus:
(relationship
(class functional)
(fr_type )
(fr_name )
(fr_criterion )
(fr_collation )
(branch
(object_ID )
(group_IDs ))
(branch
(object_ID )
(group_IDs )
(elevation end )
(plan_end ))
(hit_range )
(min_height )
(max_height )
(min_distance )
(max_distance )
A fully formed FR will contain unnecessary
information for some stage of the development of the layout. This need not be inserted until required. Relationship is a generic frame for all kinds of FR and SR. Class functional demarks the relationship as being functional (ie a requirement) rather than spatial (an intermediate in the solution).
Fr_type, fr_name and fr_criterion are increasingly specific identifiers of the FR. Its source, effect and "strength" are implied by some or all of these, thus allowing generic properties if required. Note that these attributes do not define explicitly the strength of the FR.
Fr_collation, a repeat of either fr_name or
fr_criterion, defines how "fine" a description of the FR is used in group collation, (how similar other FRs must be to exhibit the same grouping properties). In the specific example, the fr_collation is assigned by the rule that creates the FR.
Branch delimits reference to a plant object.
Potentially an FR may relate several objects, each having a separate branch. Tn practice most FRs are binary, having two branches, relating two objects.
Object_ID contains the unique object_ID number of the plant object (item of equipment or group) to which the FR principally refers.
Group_IDs contains several slots each being the unique object_ID number of a plant object (item of equipment or group) to which the FR may also refer. For example, an FR for "sharing heavy foundations" may principally apply to a big distillation column and a big centrifuge, these objects would be recorded under object ID on their respective branches. In practice this FR is more likely to relate two groups: column plus
ancillaries (reboiler, pumps, reflux condenser etc) and centrifuge plus ancillaries. These groups would be recorded under group_IDs in the appropriate branches. Thus an FR is visible at more than one grouping level.
Elevation end is optional, occurring only on
elevation FRs. It takes a value from {top bottom} and defines the attitude of the elevation constraint.
Plan end is optional, occurring only on floor train cross links, ie with (FR_name stack). It takes a value from {from to} and defines the attitude of a cross link constraint, ie which of the two related objects should be further along the floor train.
Hit_range is optional, occurring only on elevation FRs. It specifies which constraints may be ignored should a single elevation SR be unsatisfiable. It takes a value from {critical non_critical}. Should
critical elevation FRs not be simultaneously
satisfiable, elevation will fail. Should criticals be satisfiable, but all FRs (both critical & non_critical) not be simultaneously satisfiable, the non_criticals are ignored.
Min_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the minimum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
Height is measured centre of object to centre of
object. (Note that each object has a dimensioned geometric primitive, with a well defined centre).
Max_height is optional, occurring only on elevation FRs. It takes a numeric value specifying the maximum acceptable vertical distance between the (elevation_end top) object, and the (elevation_end bottom) object.
Height is measured centre of object to centre of object.
Min_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the minimum acceptable
horizontal distance along the floor train between the (plan_end from) object, and the (plan_end to) object. Distance is measured centre of object to centre of object.
Max_distance is optional, occurring only on cross link FRs - those having (FR_name stack). It takes a numeric value specifying the maximum acceptable
horizontal distance along the floor train between the (plan_end from) object, and the (plan_end to) object. Distance is measured centre of object to centre of object.
The structure of the FRs is chosen to support the required KAPPA operations. Changes in KAPPA may, therefore, force changes in FR representation. The fr_collation should be assigned by reference to an equivalence table, relating the fr_type, fr_name and fr_criterion and the fr_collation.
Taxonomy Of FRs
FR_type: The FR_type is a coarse division of the FRs Process implies that the plant will not work unless this FR is satisfied.
Economic implies that the plant will be cheaper to build or operate if this FR is satisfied.
Downstream implies that the FR carries relative position information, not just requires proximity for satisfaction.
FR_name: The significance of the FR_name depends on the FR_type.
Process FRs must be satisfied, and hence, further sub-division is un-necessary. The FR_name serves merely to define the source of the FR. In the present
embodiment, the only FR_name for process FRs is
"abs_no_pump", that is, no pump may be inserted into the line connecting the related objects.
Economic FRs require highly specific information to define their strength. Consider FRs with Fr_name
"common_service" (the related objects utilise a common service). The nature of this service must be defined to determine the need to satisfy the FR. Compare the need for proximity for all. objects using 13.8kV and 440V electrical supplies! The strength of an economic FR is defined by the FR_criterion.
Four types of "downstream" FR have significant fr names:
"Fouling_floor" FRs (a class of downstream FR) define elevations with respect to a general floor, the "local_floor", at which the object cannot be positioned as a feature of the object would foul a floor.
"Floor_support" FRs (a class of downstream FR) define elevations with respect to a general floor, the "local_floor", at which the object must be positioned as a feature of the object requires access from a floor.
"Floor_clearance" FRs (a class of downstream FR) run to a specific floor to lift an object if either
fouling_floor or floor_support FRs are unsatisfied (that is, a real floor lies within the exclusion band of a "fouling_floor" FR or no floor satisfies the access requirements of a "floor_support" FR). These FRs are created by the elevation code.
"Stack" FRs demand that the related objects are either positioned one directly above the other, or next to each other on the same floor. The fr_criterion defines which.
For all other "downstream" FRs, the fr_name has no significance. Their action is defined by the presence of "elevation_end" or "plan_end" on the branches.
FR_criterion:-
-For a process FR, the fr_criterion relates the FR to the rule that formed it. It has no significance in defining the FR's properties.
-For an economic FR. the fr_criterion defines the strength of the FR when the partial ordering tables are applied.
-For a stack FR, the fr_criterion defines how the spacing between the related objects is to be calculated.
Align_nozzles implies the connected nozzles are to be aligned one above the other, align_centres implies the centres of the items are to be aligned one above the other, and horizontal_separation implies that the items are to be adjacent in the floor_train.
The scope of fr_type process can be extended to include all process-based FRs. (eg. conservation of heat in process lines). Economic FRs should, therefore, represent large-scale economies (for example, in piling by grouping heavy equipment).
Relationships Between Plant Items Demanding Proximity. Process FRs
All process FRs in the specific example have fr_name absolutely_no_pump, that is, they represent situations in which a stream cannot be pumped even if desired. The category may also be used to denote lines which must be short for reasons other than the obviation of pumping. These are representative of all FRs whose satisfaction is essential to the function of the plant.
A line connecting a weighing tank to the receiving vessel must be in gravity flow (no liquid must be held up in the vessel or line after emptying). To allow gravity flow, the weighing tank and receiver must be local.
It is nonsensical to insert a second pump between a vessel and a pump to allow the main pump to be distant from the feed vessel. Thus, the pump and feed vessel must be local. Note that this rule does not take account of the elevation of the feed vessel.
The pressure drop in air lines in suction is limited to one atmosphere. Where no blower can be inserted, for example if an item in the line must be run at reduced pressure, the pressure drop must be minimised. The lines should, therefore, be kept as short as possible.
A 1 iquid entraining gas cannot be pumped until the gas has been seperated or unless a Nash Hytor pump is used. A two-phase stream is considered not to be pumpable unless the process engineer explicitly
specifies a Nash Hytor pump in it.
A stream at or slightly above its dew-point (taken as up to 10% above) will condense if pumped. Unless this is deliberate, in which case a Nash Hytor pump will be specified, the stream is considered not to be
pumpable, and must be short. Note that if the stream is close to its dew-point, a large pressure driving force cannot exist naturally.
A partially vaporised stream (eg a thermosyphon reboiler return) will condense if pumped. The stream will not be specified as being partially vaporised unless this is essential, therefore no pump is
permissible. The line must, therefore, be short.
The pump inlet FR should be broken (or at least reduced in strength) if the feed vessel is found to be elevated, as long pump feed lines are then permissible. This will contribute to the second pass through the layout algorithm.
Economic FRs - Avoidance Of Difficult Pumping Duties The use of a pump to transport process media is possible but undesirable in certain streams, either because the pump will be expensive, will wear, or need protective devices upstream of it. The category has also been taken to include lines which are preferably short for reasons other than the reduction of pumping costs.
Solids conveyors are expensive. Ideally, their use would be avoided. If they are necessary, they should be as short as possible.
Very small bore process lines (taken to be less than or equal to 1/8th inch (3.2 mm) N.B.) will carry
micro-ingredients (catalysts, high-value additives, etc). They should be short to minimise hold-up.
A gas stream containing solids should not be pumped as the particles will damage the blower. Either a separator must be installed (with associated cost) or the blower frequently serviced. It is therefore assumed that any solids at all in a gas stream will prevent it being pumped.
A gas stream containing liquid droplets should not be pumped in a centrifugal blower, as the droplets will damage it. Either a demister must be installed (with associated cost), the blower frequently serviced or a less desirable reciprocating blower used (in certain circumstances). It is assumed that any liquid present in a gas stream will be as droplets. No distinction between liquids causing corrosion at different rates has been made in the specific embodiment.
A boiling liquid can be pumped only if the feed vessel is raised to increase the head on the inlet, or a pump with low inlet pressure drop used. Both measures are expensive and undesirable.
If an overflow controls the liquid level in an item of equipment, the flowrate in the outlet stream will fluctuate greatly. A break tank would be required upstream of a pump in such a stream. Such a tank increases plant capital costs (especially if stirred) and must be maintained. Its use should be avoided if possible, preventing the installation of a pump.
The FR caused by a boiling liquid stream should be broken (or at least reduced in strength) if the feed vessel is found to be elevated. Economic FRs - Conservation Of Process Heat
A relationship exists between two plant items if the process stream between them contains heat worth
conserving and has a cost. In the specific example, heat conservation considers heat exchangers to be the only sources or sinks of heat.
The heat is considered to be worth conserving if it:- is sensible heat in a stream above 373K which is entering or leaving a heat exchanger in which the stream is heated. Any heat in the inlet stream that can be conserved need not be re-input and is thus worth conserving. is sensible heat in a stream above 373K which is entering a heat exchanger in which the stream changes phase by the addition of heat. Any heat in this inlet stream that can be conserved need not be re-input and is thus worth conserving.
is latent heat in a stream which is leaving a heat exchanger in which the stream changes phase by the addition of heat.
The heat being input is considered to be have a cost if it:- is transferred from a stream that is cooled in a heat exchanger and whose contents substance is listed as a service.
is transferred from a stream that condenses in a heat exchanger and whose contents substance is listed as a service. - is transferred from a process stream (ie no
contents substances is listed as a service) that cools or condenses to a process stream that is heated or evaporates. All
process/process heat exchange is considered to be intended to heat the cooler stream, not to cool the hotter stream.
The "quality" of the heat (its value in doing work) is expressed by a banding system, recorded as the fr-criterion;
- < 373K -grade 4 heat
- 373K → 473K -grade 3 heat
- 473K → 773K -grade 2 heat
- > 773K -grade 1 heat
The "quantity" of heat is not recorded.
The value of heat lost from a pipe increases the cost per unit length. Thus there is a symbiosis between the two FRs.
The definition of valuable heat can be extended to include heat generated by the process (eg exothermic reaction), the heat being used by more than one item downstream from its input, other equipment types in which enthalpy change occurs, etc. The system can also be expanded to incorporate low temperature pipework.
The potential for loss of quality and quantity can be recorded, rather than the absolute values. The loss per unit length is probably the most useful expression of this.
Hot pipes are intrinsically unsafe, both to
personnel and as an ignition source. This should also be recorded to constrain the layout.
Economic FRs - Common Services
Items using a common service should be local to one another and to the source of the service to reduce the service pipework needs. FRs are formed, for each
service, between every pair of items using it, and between each item and the source or sink.
In the specific example, each pair is related by a separate binary FR. One multiple FR between all may be more economical and equally effective.
Economic FRs - Common Electrical Requirements
Items using a common electrical service should be local to one another and to the source of the service to reduce cable needs. The power required by any device with an electrical drive must be estimated, this power is used to estimate required service voltage and a FR is formed between every pair of items requiring each
voltage.
The power required by a liquid pump is calculated assuming 80% efficiencies for both the motor and pump. The head developed is calculated assuming the plant to be 30m high and the mean flowrate is used for the
throughput. A minimum power requirement of 1kW is enforced (bearing friction, etc.).
The power required by a blower is calculated as
(Perry, vol 5, p 6.16):
Power (kW) =
361.84 * throughput * Pout * (( exp dP 0.285) -1)
density Pout
All other power requirements (agitators, dryers, etc) are input in the initial data.
Power requirements are mapped to voltage requirements by:
Power (kW) Voltage (V)
<2 240
2 → 375 440
375 → 3750 4000
>3750 13800
(Evans F.L. "Equipment Design Handbook" vol 1. p3)
An FR is formed between every pair of items requiring each voltage. The voltage is noted as the fr_criterion.
In the described embodiment, each pair of items using a voltage is related by a separate binary FR. One multiple FR between all may be more economical and equally effective.
Relationships Defining Positions Of equipment.
Inter-equipment FRs
All items with a process connection are related by an economic FR of insufficient strength to affect grouping, but necessary for plot layout. The cost per unit length of the pipework is crudely indicated by the
fr_criterion. "small_bore" for a line under 50mm N.B. and "full_bore" otherwise.
The value of heat lost from a pipe increases the cost per unit length. This is neglected in the specific example. However, there is a symbiosis between the two FRs.
A full derivation of cost per unit length is
required, considering bore, material of construction, lagging, etc. The results should still be banded.
Gravity flow is inferred where a liquid stream flows from a plant item that has not been flagged as having pumping action. The minimum elevation difference is set so that the outlet nozzle of the feed item is level with the inlet of the fed item. This process FR ensures that the correct item is the higher; bend allowance or
such-like defines the true separation.
An item is flagged as having pumping action if:
it is of equipment_type pump.
it is a heat - exchanger of subtype thermosyphon (see below) the item upstream of it has pumping action and the item in question can have fluid "pushed" through it. In the specific example, only heat exchangers are considered to allow this knock-on of pumping action.
Pumping action could be inferred in more situations (for example, the feed item at higher pressure than the receiver). All items capable of a knock-on of pumping action should be identified.
A heat exchanger is flagged as being a thermosyphon if a liquid stream flows into the process side and a gas/liquid stream flows out, and the process stream is not pumped. The process stream is identified by its contents not being listed as services. The minimum height differential between the reboiler and the device it serves is calculated to overcome an assumed total pressure drop in the reboiler circuit of 0.1 bar. A 2m range between the minimum and maximum height
differentials is allowed on this process FR.
The reboiler tube bundle may be made longer rather than the reboiler being moved to achieve the
thermosyphon effect. Both alternatives should be allowed for.
A height differential between a pump and its feed item is calculated to provide a NPSH at the pump inlet of 0.4bar (Kirk-Othmer. "Encyclopedia Of Chemical
Technology"). The liquid vapour pressure is calculated at the outlet temperature (if available) or operating temperature (always available) of the feed item from Antoine coefficients in substance data frames. This process FR may have a negative height requirement (that is, where the outlet pressure of the feed item is more than sufficient to provide the head).
The required NPSH should be read from a table, conditioned on flowrate, pump type, etc.
The vapour pressure can be calculated by PPDS
(Physical Properties Data Service, Institution of
Chemical Engineers).
An allowance for bends in a pipe connecting nozzles on different items defines the minimum possible
separations. In the specific example, this is only calculated for vertical distance. The number of bends effecting seperation is calculated as the difference between the larger and smaller angle with the vertical made by the nozzles divided by 90, to convert to right angles. The item at elevation_end top is chosen as that with the nozzle making the greater angle with the vertical, or if a gravity_flow FR exists, from this.
FRs to define horizontal seperations could be used to enhance development of the plan. For example, the vertical bend allowance rule may also be applied
horizontally. Stack FRs
A horizontal heat exchanger of subtype condenser is stacked (with centres aligned) above a horizontal tank if they are connected, the typical arrangement for a reflux condenser and drum.
Nozzles connected by a stream carrying solids should be stacked one above the other ideally. Thus, a stack FR of fr_criterion align_nozzles is formed between the connected items.
A pipe carrying a gas-liquid mixture at reduced pressure (eg. a vacuum filter filtrate withdrawal line) should be as short (and hence vertical) as possible. Reduced pressure is taken as being below 1 bar, at least 5% of the stream must be gas or liquid (ie not just a trace contaminant). A stack FR of fr-criterion
align-nozzles is formed between the connected items.
Lines connecting items under vacuum should be short if possible, though no vertical constraint is imposed. A stack FR of fr_criterion horizontal_seperation is formed between the connected items.
FRs could be formed to represent other situations requiring stacking (eg. heat exchangers that are already local).
FRs To Notional Floors
All horizontal nozzles cause a fouling_floor FR formed to prevent them being positioned with a floor running through them. An allowance for access to the flange (a minimum of 0.1m, a maximum of 0.5m and equal to the pipe bore between these) is added to the flange diameter (taken as 1.5 times the bore) to give a clearance band. Clearance for vertical nozzles is ensured by the bend allowance to the local floor.
Other features than nozzles should also cause fouling_floor FRs to be formed.
Space must be left under all downward pointing nozzles for the pipework. For each item nozzle, its distance below the origin plus a bend allowance for the pipe connected to It is calculated. The necessary elevation of the equipment centre-line is the maximum of these values. The bend allowance comprises 0.1m for the nipple. 1.5 times the bore for the centre-line of the pipe below this, a pipe radius to convert this to the bottom of the pipe and 0.3m clearance below the pipe. The item is elevated above a local_floor by a
floor_support FR.
The centre-line of a pump is elevated above the local_floor by half the height of the pump plus 0.15m by a floor_support FR to allow a 0.15m plinth below it.
A vertical tank requiring top access may be hung through a floor. Top access is assumed to be required for any vessel with a top mounted agitator , which conta ins so l ids or which is manually charged. A floor support FR is formed to position the tank origin half its height less 0.3m below a local_floor. All thin (less than lm diameter) or weak columns require support up their full height. This may be provided by floors. A floor_support FR is formed with a maximum height of half the column height less 0.5m (to allow space for piping, usually connected at the
extremes of the column) and a minimum height equal to the negative of the maximum height. The formation of this FR also allows columns to cut floors.
Weak columns are those whose material of
construction property code is greater than 9.
Property Codes: Cost
Exotic As stainless steel As mild steel Cheap Strong 1 2 3 4
Average 5 6 7 8
Weak 9 10 11 12
All hoppers require support up their full height. This may be provided by floors. A floor-support FR is formed with a maximum height of half the hopper height less 0.5m (to allow space for chutes, etc, usually connected at the extremes) and a minimum height equal to the negative of the maximum height. The formation of this FR also allows hoppers to cut floors.
Weighing tanks are assumed to stand on low (ie lm high) structures, to allow easy access to the load cells. A floor_suppόrt FR is formed to lift the tank origin half the tank height plus lm above the
local-floor. MASTER/ANCILLARY RELATIONSHIPS
The above mentioned Rules for establishing
Master/Ancillary relationships are as follows:-
1. Weighing Tank: A weighing tank is the ancillary of the item it feeds.
2. Metering Pump: A metering pump is the ancillary of the item it feeds.
3. Transfer Pump: A transfer pump is the ancillary of the item feeding it.
4. Compressor: A compressor or liquid pump
specifically for increasing pressure of a process fluid, rather than transferring it, is an ancillary of the item with a working pressure further from atmospheric.
5. Ejector: As rule 4.
6. Holding Tank or Hopper: A holding tank or hopper may be an ancillary of either the object feeding it or that it feeds in the general case. An arbitrary choice or user intervention is required as the flowsheet alone does not define which, except in special cases, such as a reflux drum.
7. Reflux Drum; A reflux drum is an ancillary of the condenser feeding it.
8. Heat Exchanger: For each process stream flowing through a heat exchanger, it is the ancillary of the item to which it has the connection with greater
enthalpy difference from ambient temperature (at process pressure). 9. Separator: A separator is the ancillary of the item feeding it.
10. Quench: A quench is the ancillaryof the item feeding the vapour stream to it.
11. In-Line Filter: An in-line filter fed by
process equipment is an ancillary of the item feeding it.
12. Air Filter: An air filter is an ancillary of the equipment that it protects.
13. Knock-out Drum: A knock-out drum fed by process equipment is an ancillary of the item feeding it.
14. Knock-out Drum: A knock-out drum at an air inlet, is the ancillary of the equipment it protects.
15. Steam Drum: A steam drum is the ancillary of the boiler feeding it.
THE PARTIAL ORDERING OF THE FRs
Sets of FRs relating two objects must have their "strength" (the need for their satisfaction) defined for conflict resolution in grouping, the formation of the SR plan-tree, etc.
In many cases, two FRs (or sets of FRs) can be compared and one seen to be stronger. Such comparisons, and the assumption that strength comparisons are
transitive, allow the strengths to be ordered. However, certain pairs of FRs cannot be compared meaningfully, although both can be seen to be stronger than a third. Thus a partial ordering is established, in which the graph representing superiority diverges and converges. with parallel and incomparable sections. This precludes absolute quantification of the strengths.
The partial order imposed reflects the constraints considered to be important. It also defines what layout is developed. Only those FRs represent-sd on the table may be ranked. One table has been defined and used for all purposes in this embodiment.
Each activity in which FR strengths are compared requires partial ordering tables of its own. For example, strong FRs in grouping are those which are satisfied by reasonable proximity. For developing the plan, exact positions are required. Thus strength should be defined as being a combination of "elasticity" (the need for proximity) and "flexibility" (the need for a particular position).
Each activity should also have more than one table. The table used in any circumstance will depend on the constraints considered important. For example, if a plant is to be built in a confined area, a table
stressing close-packing should be used.
The Partial Ordering Table
The ordering imposed on the FRs in the second
specific example is defined in the graph. Figure 12.
Those FRs at the top are strongest. Where FRs are
linked, this implies comparison is possible. If chains of links can be followed, transitive comparison is possible. The Partial Orderiing Table itself for the second
specific example is as follows:-
PO Frame representing Partial ordering table for
grouping conflict resolution in second specific example.
(PARTIAL_ORDERING
(PO_TYPE FR_LINK)
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE PROCESS) (FR_NAME *** ANY)
(FR_CRITERION *** ANY) (MIN_REQUIRED 1)))
(RANK "111121112121"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME HEAT_CONS.)
(FR_CRITERION CONSERVE_GRADE_1_HEAT) (MIN_REQUIRED 1))) (RANK "11112111212"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAHE COMMON_VOLT)
(FR_CRITERION 13800_VOLTS) (MIN_REQUIRED 1))) (RANK "111121"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME HEAT_CONS.)
(FR_CRITERION CONSERVE_GRADE_2_HEAT) (MIN_EEQUIRED 1))) (RANK "111211"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME PREF_NO_PUMP
(FR_CRITERION *** ANY) (MIN_REQUIRED 1)))
(RANK "111212")) (ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME COMMON_VOLT)
(FR_CRITERION 4000_VOLTS) (MIN_REQUIRED 1)))
(RANK "11112"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME HEAT_CONS.)
(FR_CRITERION CONSERVE_GRADE_3_HEAT) (MIN_REQUIRED 1))) (RANK "11121"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME HEAT_CONS.)
(FR_CRITERION CONSERVE_GRADE_4_HEAT) (MIN _REQUIRED 1))) (RANK "1112"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME COMMON_SERVICE)
(FR_CRITERION 4_BAR_STEAM) (MIN_REQUIRED 1)))
(RANK "112"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FRJTYPE ECONOMIC) FR_NAME COMMON_SERVICE)
(FR_CRITERION COOLING_WATER) (MIN_REQUIRED 1)))
(RANK "12"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME COMMON_SERVICE)
(FR_CRITERION CONDENSATE) (MIN_REQUIRED 1)))
(RANK "11"))
(ORDERED_ELEMENT
(ELEMENT (FR_LINK (FR_TYPE ECONOMIC) (FR_NAME COMMON_VOLTAGE)
(FR_CRITERION 440_VOLTS) (MIN_REQUIRED 1)))
(RANK "1"))) Orientation Of The Plan Tree And Plant Items
The plan tree is formed as the maximal tree spanning a group. It is directed (ie from object to object) but must be oriented (each arc given a physical direction). The orientation of an SR will usually be north or south, as required by linearisation. Those SRs to items which will be offset, for example pumps under the pipe rack, a re directed east or west. The items of equipment must also be oriented. Note that this orientation is
represented in local, group coordinates, and written directly onto the SRs or plant-object frames.
All items that can be oriented without reference to the orientation of their incoming SRs are oriented first (eg. all heat exchangers run across their group). The tree root is oriented next, SRs from an oriented item, items connected to oriented SRs, etc. The orientations of both SRs and plant items, are established by
increasingly general rules, all called until one fires at each step in the cycle. These rules should be. to some extent, input by the user. Also, script rules are used within KAPPA as well as algorithmic manipulation of FRs.
The scope of the plan tree orientation rules defines the validity of the use of the tree and linearisation. The suite could be expanded. In particular , rules to identify available space and position items to fill it. where the positions of these items are not critical, and to position and orient items taking account of
attractions to other equipment are desirable.
Orientation Of Plant Objects
Pumps are oriented along the principle axis of their standby group (ie east), and the SR between the pair, north. The group is then oriented west. The pump heads therefore point west in the coordinates of the nosplit group, facing the main line of equipment.
The orientation of the root of the group's tree defines the group coordinate system. A free choice therefore exists. The root is oriented north.
Shell and tube heat exchangers are oriented west, that is, the head pointing towards the access way on the west of the group.
Fairly long but narrow items (taken as items whose principle dimension is greater than twice the secondary dimension but less than 5m, and whose secondary
dimension is less than 1.2m) economically fit across a group (eg reflux drums). They are oriented across the group, either east or west, depending on whether any nozzles connect to an item offset east or west.
Features on an item may give rise to FRs. Some of these FRs are then incorporated into the SR running to the item. Once the SR has been oriented, the item can be oriented so that the feature to which the SR
effectively runs points into the SR. At present, the only feature to which an FR can run is a nozzle. Any item that has no particular orientation
requirement is oriented north as a default.
Items could be oriented to satisfy FRs, rather than by the script rules described above. These FRs could run from features of the items (eg. a heat exchanger head) to other objects (plant items, access ways, etc.). The chosen orientation is then that which allows most FRs to be satisfied.
The orientation code can thus be made general, separate from the user input code to generate FRs, and acknowledge FRs formed for other reasons.
The structure of the FR may have to be changed to accomodate this. All FRs will have to run to a defined feature of the item, (as some do to nozzles at present) rather than just to the item itself. Indeed, nozzles will become one of many features themselves, losing their special significance. The structure of
plant-object frames may also need to be changed to support this.
Orientation Of SRs
SRs running to pump groups are oriented east, or west if from pump groups. Thus, the pump is positioned under the notional piperack at the west of the group.
An item positioned at the west of a group, by such a rule, may have an incoming (east-going) and outgoing (west-going) SR. Thus, two objects will be required to occupy the same position. The tree is reformed, with the west going SR removed, and an undirected SR formed between the two items in the main line of equipment. The newly formed SR will then be oriented north or south as appropriate by other rules.
SRs effectively running from a feature at the north or south extremes of a long item (taken as the feature being more than 3m north or south of the item origin) are oriented in the direction from the origin to the feature. Thus, the next object in the tree is on the correct side of the item. The FR need not "stretch past" the item to be satisfied.
An object may have more than one SR running from it. If this item has been oriented, but the SRs have not, a conflict exists (two items may be positioned north of the item, as north is the default
orientation). If both SRs have been oriented north by some more specific rule this should be accepted, no action is taken.
Two strategies exist to resolve the conflict. The branch with the greater outgoing link set is directed north (that is, the group outlet is assumed to be on that branch, with groups running from south to north).
If this fails, the branch with more nodes (likely to occupy more space) is made north-going.
A default orientation of north is imposed on SRs if no preferred direction is defined by the more specific rules. As with the orientation of plant objects, SRs could be oriented to satisfy FRs. rather than by script rules described above. The chosen orientation is then that which allows most FRs to be satisfied.
The description given herein above assumes a
reasonable knowledge on the part of the reader it relation to advanced computing concepts in general and the programming language LISP in particular. Knowledge of such concepts and programming language have therefore not been described in detail herein. It is, however, to be noted that the present invention is not limited to implementation by any specific datail given in the above description and in particular is not limited to
implementation using the LISP programming language.

Claims

CLAIMS :
1. An automated method of using a data processing system to produce a layout from an inventory of
components and the logical connetions therebetween, comprising the steps of:
identifying and recording constraints upon the relative spatial locations of the components in terms of a plurality of functional relationships;
using the functional relationships to assign
components to groups in accordance with the functional relationships, and
determining the relative spatial locations between the components at least partially in accordance with group assignment.
2. A method as claimed in claim 1 for producing a three dimensional layout, wherein the step of determining the relative spatial locations between the components comprises the steps of:
determining the relative vertical spatial
relationship between the components, and
determining the relative horizontal spatial
relationship between the components in accordance with group assignment.
3. A method as claimed in claim 1 or claim 2, further comprising the steps of:
identifying which components have been assigned to more than one group, and
arbitrating between group assignments for identified components such that no component is assigned to more than one group.
4. A method as claimed in claim 1 or claim 2 and comprising the following steps in the order given:
identification of constraints on the relative three dimensional positions of the components, determination of the relative vertical spacing of each component, identification of further constraints, formation of an ascending hierarchy of groups with either components or lower level groups as members of each group, and
determining the relative horizontal spatial relationship between all components in accordance with group .
assignment.
5. A method as claimed in any preceding claim, further comprising the steps of identifing and recording in addition to the functional relationships a number of spatial relationships which represent relative positions selected to meet the requirements of one or more
functional relationships and use of the spatial
relationships in at least one of the said steps of determining the relative vertical and horizontal spatial relationship between all components.
6. A method as claimed in any preceding claim, further comprising the step of distinguishing between the functional relationships in terms of a number of clases.
7. A method as claimed in claim 6, wherein the step of distinguishing between the functional relationships is made in terms of three clases, one for relationships dictated by a requirement for physical adjacency, one for relationships dictated by a requirement for
segregation and one for relationships dictated by a master/ancillary condition which is effectively the first derivative of the strength of the functional relationship.
8. A method as claimed in claim 3, wherein the step of arbitrating between group assignments includes the formation of a Partial Ordering Table of functional relationships.
9. A method as claimed in claim 8, wherein the step of forming of the Partial Ordering Table includes the recordal of any negative strengths which may exist between the functional relationships included in the
Table.
10. A method as claimed in claim 8 or 9, wherein the step of forming of the Partial Ordering Table includes establishing a number of prototypical nodes and
assigning sets (link sets) of functional relationships to further nodes of the Table with the said step of arbitrating including the comparision of link set nodes with prototypical nodes.
11. A method as claimed in claims 7 and 10, wherein the said step of arbitrating includes identifying
prototypical nodes in the Table which contain all of the segregation class of functional relationship of one link set node and subsequent determination of the strongest of the identified prototypical nodes.
12. A method as claimed in claim 3, wherein the step of arbitrating between group assignments includes an assessment of the number of other members of the group for which arbitration is required.
13. A method as claimed in claim 3, further comprising the step of recording conflicts between group
assignments as one or more groups, prior to final arbitration between group assignments.
14. A method as claimed in any preceding claim, further comprising the step of recording trace records which enable the provision of a back tracking mechanism.
15. A method as claimed in any preceding claim, further comprising the step of implementing the method using recursively structured frames which represent both initial data and intermediate processing results.
16. A method as claimed in any preceding claim, further comprising the step of implementing the method using processing conducted by applying rules in which the pattern and action are represented by complex frames.
17. A method as claimed in any preceding claim, further comprising the step of recording the functional
relationships in the form:-
(relationship
(class functional)
(FR_name ?)
(branch (object_ID ?) (group_IDs ? ...)
(elevation end ?) (plan_end ?))
(hit_range ?)
(min_height ?)
(max_height ?)
(min_distance ?)
(max_distance ?)
)
18. A method as claimed in any preceding claim, further comprising the step of recording the functional
relationships in the form:-
[relationship
relationship identifier>
[class functional]
[division <one of "physical", "logical" or
"segregation">]
[type <type specifier>]
[name <name specifier>]
[criterion <criterion specifier>]
[collation <category of collation action>]
[collation_function <one of "universal" or "local">]
[resolution_activity POPA]
[activity_level <levels of objects influenced>]
[branch
[object_ID <object identifier>]
[feature_ID <feature identifier>]
[group_IDs <group identifiers>]
[branch
:
]]]
19. A method as claimed in any of claims 8 to 11, further comprising the step of recording the Partial Ordering Table in the form:- [PO_Table
[link_instance
[link_instance_ID 1]
[link_FRs A B]
[stronger_than ? ]]
[link_instance
[link_instance_ID 2]
[link_FRs A]
[stronger_than ?]]
[link_instance
[link_instance_ID 3]
[link_FRs B]
[stronger_than ?]]]]
20. A method as claimed in claim 10 or claim 11, further comprising the step of recording the link sets in the forra:-
(FR_link_set
(group_ID ?one related object/ )
(group_ID ?other related object/)
(member_FRs ?list/ )
( link_set
?vector/ + )
(FR_links_ranked ?string/ + ))
21. A method as claimed in claim 5, further comprising the step of recording spatial relationships concerned with relative vertical positions in the form:- (relationship
(class spatial)
(SR_type qualitative)
(SR_name elevation)
(branch (elevation_end ?) (object_ID ?))
)
22. A method as claimed in claim 21, further comprising the step subsequent to recordal as specified in claim 21, of recording spatial relationships concerned with relative vertical positions in the form:-
(relationship
(class spatial)
(SR_type qualitative)
(SR_name elevation)
(branch (elevation_end ?) (object_ID ?))
(C_min_height ?)
(C_max_height ? )
(N_min_height ?)
(N_max_height ? )
(min_height ?)
(max_height ?)
)
23. A method as claimed in claim 5, further comprising the step of recording spatial relationships concerned with relative horizontal positions in the form:- (relationship
(class spatial)
(SR_type qualitative)
(SR_name plan)
(branch (plan_end ?) (object_ID ?))
)
24. A method as claimed in claim 7, further comprising the step of establishing Master/Ancillary relationships in accordance with the 15 rules as listed hereinbefore.
25. A method as claimed in any preceding claim, comprising the step of establishing functional relationships in accordance with the 42 rules as described hereinbefore.
26. A data processing system set up to operate in
accordance with the method specified in any preceding claim.
PCT/GB1989/001155 1988-09-28 1989-09-28 An automated method of producing a layout WO1990003618A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB888822739A GB8822739D0 (en) 1988-09-28 1988-09-28 Improvements in/relating to knowledge engineering
GB8822739.2 1988-09-28

Publications (1)

Publication Number Publication Date
WO1990003618A1 true WO1990003618A1 (en) 1990-04-05

Family

ID=10644374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1989/001155 WO1990003618A1 (en) 1988-09-28 1989-09-28 An automated method of producing a layout

Country Status (3)

Country Link
AU (1) AU4330489A (en)
GB (1) GB8822739D0 (en)
WO (1) WO1990003618A1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997009685A1 (en) * 1995-09-07 1997-03-13 Carnegie Mellon University Method of optimizing component layout using a hierarchical series of models
WO1998012654A2 (en) * 1996-09-18 1998-03-26 Siemens Aktiengesellschaft Computer-aided method for optimized arrangement of technical components in a topology to be defined in advance
WO2005022400A2 (en) * 2003-08-29 2005-03-10 Hewlett-Packard Development Company, L.P. Constrained document layout
WO2009100542A1 (en) * 2008-02-13 2009-08-20 Dirtt Environmental Solutions, Ltd. Creation and modification of valid functional design layouts
US7908296B2 (en) 2006-02-16 2011-03-15 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based CAD software
US8510672B2 (en) 2004-08-17 2013-08-13 Dirtt Environmental Solutions Ltd Automatically creating and modifying furniture layouts in design software
US8762877B2 (en) 2003-09-30 2014-06-24 Ice Edge Business Solutions Ltd. Creation and modification of valid functional design layouts
US8762941B2 (en) 2006-02-16 2014-06-24 Dirtt Environmental Solutions, Ltd. Rendering and modifying CAD design entities in object-oriented applications
US8831920B2 (en) 2010-12-15 2014-09-09 Fluor Technologies Corporation Automated cabling layout systems and methods
WO2015171735A1 (en) * 2014-05-06 2015-11-12 Beckman Coulter, Inc. Method and system for forming site network
US9189571B2 (en) 2011-06-11 2015-11-17 Ice Edge Business Solutions, Ltd. Automated re-use of structural components
US9245064B2 (en) 2009-11-24 2016-01-26 Ice Edge Business Solutions Securely sharing design renderings over a network
US9519407B2 (en) 2008-03-11 2016-12-13 Ice Edge Business Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US9536340B2 (en) 2004-08-17 2017-01-03 Dirtt Environmental Solutions, Ltd. Software incorporating efficient 3-D rendering
CN112560394A (en) * 2020-12-22 2021-03-26 成都华大九天科技有限公司 Physical verification method for special-shaped panel display layout
US11163927B1 (en) * 2020-10-01 2021-11-02 Cde Consultants Limited Computer system for designing a process unit
TWI771906B (en) * 2020-02-10 2022-07-21 美商莫仕有限公司 Method and system and computer readable medium for generating a graphic rendering of a cable assembly product
US11454574B2 (en) 2012-11-07 2022-09-27 Beckman Coulter, Inc. Automated sample processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4700317A (en) * 1983-11-28 1987-10-13 Hitachi, Ltd. Automatic layout planner and a method for automatically creating a layout plan

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4700317A (en) * 1983-11-28 1987-10-13 Hitachi, Ltd. Automatic layout planner and a method for automatically creating a layout plan

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
1986 Proceedings, Fall Joint Computer Conference, 2-6 November 1986, Dallas, Texas, IEEE (US), K. YOSHIDA et al.: "Knowledge-Based Layout Design System for Industrial Plants", pages 216-222 *
22nd ACM/IEEE Design Automation Conference, 23-26 June 1985, Las Vegas, Nevada, Proceedings, IEEE, (US), G. OSAWARA et al.: "Knowledge-Based Placement Technique for Printed Wiring Boards", pages 616-622 *
23RD ACM/IEEE Design Automation Conference, 29 June - 2 July 1986, Proceedings, IEEE, (US), E.J. DeJESUS et al.: "Pearl: an Expert Systems for Power for Power Supply Layout", paper 34.4, pages 615-621 *
IEEE 1985 Compint - Computer Aided Technologies, 9-13 September 1985, Montreal, Quebec, Canada, IEEE, (US), Y. WADA et al.: "A Knowledge Based Approach to Automated Pipe-Route Planning in Three-Dimensional Plant Layout Design", pages 96-102 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825660A (en) * 1995-09-07 1998-10-20 Carnegie Mellon University Method of optimizing component layout using a hierarchical series of models
WO1997009685A1 (en) * 1995-09-07 1997-03-13 Carnegie Mellon University Method of optimizing component layout using a hierarchical series of models
WO1998012654A2 (en) * 1996-09-18 1998-03-26 Siemens Aktiengesellschaft Computer-aided method for optimized arrangement of technical components in a topology to be defined in advance
WO1998012654A3 (en) * 1996-09-18 1998-04-23 Computer-aided method for optimized arrangement of technical components in a topology to be defined in advance
WO2005022400A2 (en) * 2003-08-29 2005-03-10 Hewlett-Packard Development Company, L.P. Constrained document layout
WO2005022400A3 (en) * 2003-08-29 2005-11-24 Hewlett Packard Development Co Constrained document layout
US7634723B2 (en) 2003-08-29 2009-12-15 Hewlett-Packard Development Company, L.P. Constrained document layout
US8762877B2 (en) 2003-09-30 2014-06-24 Ice Edge Business Solutions Ltd. Creation and modification of valid functional design layouts
US8510672B2 (en) 2004-08-17 2013-08-13 Dirtt Environmental Solutions Ltd Automatically creating and modifying furniture layouts in design software
US9536340B2 (en) 2004-08-17 2017-01-03 Dirtt Environmental Solutions, Ltd. Software incorporating efficient 3-D rendering
US7908296B2 (en) 2006-02-16 2011-03-15 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based CAD software
US8762941B2 (en) 2006-02-16 2014-06-24 Dirtt Environmental Solutions, Ltd. Rendering and modifying CAD design entities in object-oriented applications
WO2009100542A1 (en) * 2008-02-13 2009-08-20 Dirtt Environmental Solutions, Ltd. Creation and modification of valid functional design layouts
US9519407B2 (en) 2008-03-11 2016-12-13 Ice Edge Business Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US9245064B2 (en) 2009-11-24 2016-01-26 Ice Edge Business Solutions Securely sharing design renderings over a network
US8831920B2 (en) 2010-12-15 2014-09-09 Fluor Technologies Corporation Automated cabling layout systems and methods
US9189571B2 (en) 2011-06-11 2015-11-17 Ice Edge Business Solutions, Ltd. Automated re-use of structural components
US11454574B2 (en) 2012-11-07 2022-09-27 Beckman Coulter, Inc. Automated sample processing system
WO2015171735A1 (en) * 2014-05-06 2015-11-12 Beckman Coulter, Inc. Method and system for forming site network
CN106415549A (en) * 2014-05-06 2017-02-15 贝克曼考尔特公司 Method and system for forming site network
US10089434B2 (en) 2014-05-06 2018-10-02 Beckman Coulter, Inc. Method and system for forming site network
CN106415549B (en) * 2014-05-06 2020-02-11 贝克曼考尔特公司 Method and system for forming site network
TWI771906B (en) * 2020-02-10 2022-07-21 美商莫仕有限公司 Method and system and computer readable medium for generating a graphic rendering of a cable assembly product
US11163927B1 (en) * 2020-10-01 2021-11-02 Cde Consultants Limited Computer system for designing a process unit
GB2596489A (en) * 2020-10-01 2021-12-29 Cde Consultants Ltd A computer system for designing a process unit
GB2596489B (en) * 2020-10-01 2022-06-01 Cde Consultants Ltd A computer system for designing a process unit
CN112560394A (en) * 2020-12-22 2021-03-26 成都华大九天科技有限公司 Physical verification method for special-shaped panel display layout

Also Published As

Publication number Publication date
GB8822739D0 (en) 1988-11-23
AU4330489A (en) 1990-04-18

Similar Documents

Publication Publication Date Title
WO1990003618A1 (en) An automated method of producing a layout
Broadbelt et al. Computer generated pyrolysis modeling: on-the-fly generation of species, reactions, and rates
US6041171A (en) Method and apparatus for modeling material handling systems
Kravanja et al. PROSYN—an MINLP process synthesizer
Sahraoui et al. Applying concept formation methods to object identification in procedural code
Rojek et al. Ecodesign of technological processes with the use of decision trees method
Gaines et al. Process optimization by flow sheet simulation
CN110413865A (en) Semantic expressiveness model and its method based on alternating binary coding device characterization model
Pizzuti Computing prime implicants by integer programming
CN109376147A (en) A kind of data processing method and system
Pahor et al. MINLP synthesis and modified attainable region analysis of reactor networks in overall process schemes using more compact reactor superstructure
Bongartz Deterministic global flowsheet optimization for the design of energy conversion processes
Klauck et al. Feat-rep: Representing features in CAD/CAM
Fraga et al. Incorporation of dynamic behaviour in an automated process synthesis system
Sbai et al. A Hybrid PSO-LS approach for solving the Two-Dimensional Bin Packing Problem with weight capacities constraint: A case study
Sitnikov et al. An algebraic approach to defining rough set approximations and generating logic rules
Shishibori et al. Fast retrieval algorithm for earth mover's distance using EMD lower bounds and a skipping algorithm
Jones Simulating the effects of changing particle characteristics in solids processing
Rauch et al. Exact and Parameterized Algorithms for the Independent Cutset Problem
Liu et al. A feasible path-based branch and bound algorithm for strongly nonconvex MINLP problems
Larsen et al. Relaxed balance for search trees with local rebalancing
Tsirukis et al. Feature extraction algorithms for constrained global optimization II. Batch process scheduling application
McLane et al. A hierarchical strategy for large scale process calculations
Han Human-aided, computer-based design paradigm: the automation of conceptual process design
Engell 5 Tools for Systems Engineering

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR CH DE DK FI GB HU JP KP KR LK LU MC MG MW NL NO RO SD SE SU US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BF BJ CF CG CH CM DE FR GA GB IT LU ML MR NL SE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642