=Paper= {{Paper |id=Vol-1453/08_BarcoVareillesGaboritFagesAldanondo_CouplingTwoConstraint-Based_Confws-15_p47 |storemode=property |title=Coupling two constraint-based systems into an on-line facade-layout configurator |pdfUrl=https://ceur-ws.org/Vol-1453/08_BarcoVareillesGaboritFagesAldanondo_CouplingTwoConstraint-Based_Confws-15_p47.pdf |volume=Vol-1453 |dblpUrl=https://dblp.org/rec/conf/confws/SantaVGFA15 }} ==Coupling two constraint-based systems into an on-line facade-layout configurator== https://ceur-ws.org/Vol-1453/08_BarcoVareillesGaboritFagesAldanondo_CouplingTwoConstraint-Based_Confws-15_p47.pdf
 Coupling Two Constraint-Based Systems Into an On-line
              Façade-layout Configurator
                               Andrés F. Barco1 and Élise Vareilles1 and Paul Gaborit1 and
                                        Jean-Guillaume Fages2 and Michel Aldanondo1


Abstract.                                                                        problem is also known as layout synthesis or space planning. A con-
   We present the coupling of two constraint-based environments into             figuration solution is a plan which satisfies optimization criteria and
an on-line support system for façade-layout configuration in the con-           a set of constraints (such as geometrical, weight or resources con-
text of building renovation. The configuration consist on the defi-              straints) provided by users and the façade itself. As part of the prod-
nition and allocation of a set of rectangular parameterizable panels             uct configuration family problems, an instance of façade-layout con-
over a façade surface. The coupling allows to solve two configura-              figuration problem has a huge search space that depends on the size
tion tasks while gaining efficiency and modularity. First, it allows             of the panels and the elements on the façade, such as windows, doors
to configure a set of questions relating the renovation model needed             and supporting areas (see Figure 1). In consequence, to solve this
to determine limits for panels’ size and panels’ weight. Second, it              configuration problem, we choose to rely on a technique from artifi-
allows to configure a constraint satisfaction model for each of the              cial intelligence and operation research called constraint satisfaction
façades to renovate. Two constraint-based systems handle the filter-            problems [15, 18].
ing of incompatible values and the generation of layout plans in a
web-service setup. The first service performs initial filtering to set
panels’ limits, based on the questionnaire, using a constraint filter-
ing engine called CoFiADe. The second service uses several façade-
layout configuration algorithms, using as underlying engine the con-
straint solver Choco, to generate compliant layout-plan solutions.
We show that by dividing filtering and search, and by coupling the
two constraint-based systems, we gain modularity and efficiently as
each service focuses on their own strengths. Services executing tasks
may be hosted in different network-nodes and thus may be seen as
independent communicating agents.


1     Preliminaries
 Constraint-base façade-layout configuration. Product configu-
ration refers to the task of building a target product using predefined
components, respecting requirements from customers and following
some rules that shape a correct configuration [26, 29]. This task have
been increasingly supported by intelligent systems given the com-
plexity and size of relations within a single product. For instance,
configuring a computer from memories, buses, cards and so on, in-
volves a large number of possibilities and solutions for the user. The
possible numbers of outputs for a configuration is in relation to the
number of components and relations within the product, and is in-
                                                                                 Figure 1: A façade is a rectangular surface with supporting areas, windows
versely proportional to the number of rules that restrict combinations.          and doors. Layout-plans solutions made out configured rectangular panels.
We call these kind of problems combinatorial problems.
   A particular scenario on product configuration arises from the con-
text of building thermal renovation as an effort to reduce current en-              Constraint satisfaction problems (CSPs) are conceived to allow the
ergetic consumption levels [5, 6, 19]. Here, the problem lies on the             end-user to state the logic of the computation rather than its flow. For
configuration of rectangular parameterizable panels, and their attach-           example, in the context of scheduling, instead stating a set of steps
ing devices called fasteners, that must be allocated over the façade            to avoid tasks overlapping, the user declares “for any pair of tasks
surface in order to provide an insulation envelope [8, 14, 28]. The              they must not overlap”. The user may do so by stating a) variables
1 Université de Toulouse, Mines d’Albi, Route de Teillet Campus Jarlard,        representing elements of the problem, b) a set of potential values as-
    81013 Albi Cedex 09, France, email: abarcosa@mines-albi.fr                   sociated to each variable and c) relations over the stated variables
2 COSLING S.A.S., 2 Rue Alfred Kastler, 44307 Nantes Cedex 03, France
                                                                                 also known as constraints [12, 18]. Variables may have different do-




                                                                            47                Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors
                                                                                           Proceedings of the 17th International Configuration Workshop
                                                                                                                September 10-11, 2015, Vienna, Austria
 main representation such as integer or boolean, and relation among                constraint propagation, i.e., executing the filtering algorithm of con-
 variables may be expressed in different ways such as compatibility                straints, and methods for invoking search for one solution, several
 tables and first order formulas. Solving a CSP means finding an as-               solutions or optimal ones [22]. Nonetheless, to the best of our knowl-
 signment of values for each variable in such a way that all constraints           edge, studies focusing on constraint-based configuration involving
 are satisfied.                                                                    filtering and search does not make clear distinction between these
    It turns out that constraint technology fits neatly in the constrained         concepts and their implementation focuses on the search. This means
 nature of product configuration and layout synthesis. On one hand,                that solutions exploits the capabilities of constraint solvers as black-
 the knowledge (constraints) that restrict possible configuration of ele-          box environments, typically creating a dedicated search heuristic for
 ments (variables) is easily modeled under the declarative framework               the problem.
 of constraint satisfaction problems. On the other hand, constraint-                   Our goal is two-fold. First, we propose an architecture that divides
 based configurators are able to presents different solutions to users,            initial filtering and consequent search for constraint-based product
 often optimal, even when they do not provide all configuration pa-                configuration. The architecture allow us to solve two configuration
 rameters leaving their preferences unknown.                                       tasks; configure a set of questions relating the renovation model
    Now, for constraint-based implementations we differentiate be-                 needed in the renovation process and needed to determine limits for
 tween two related concepts: Solving a problem and filtering (narrow)              panels’ size and panels’ weight and; configure a constraint satisfac-
 possibilities. Whereas solving a problem involves a robust inference              tion problem for each of the façades to renovate. In a second time,
 engine and search strategies, filtering algorithms work, in essence, on           we present an on-line support system, and formalize its behavior, for
 how to efficiently remove variable values that are restricted by the es-          the problem of façade-layout configuration. The architecture, imple-
 tablished relations, i.e., the constraints [2, 4]. In the problem at hand         mented in the on-line system, couples two different constraint-based
 both the filtering and the search take part; filtering to set panel’s size        technological tools to gain efficiency and modularity. We use façade-
 and weight limits and, search in order to generate compliant layout               layout configuration to illustrate our method as it is the goal of the
 plans.                                                                            project we are into, but our results can be adapted to deal with differ-
                                                                                   ent kind of products.
  Related work. Layout configuration techniques have been used                         The paper is divided as follows. A brief description of the indus-
 within different contexts and scenarios. For instance, finding solu-              trial scenario and elements is presented in Section 2. In section 3,
 tions for room configurations [30], apartment layouts [16] and activ-             we introduce details of the two configuration tasks performed by the
 ities within a business office [13]. Also, some tools have been im-               support system. The service oriented architecture, along with details
 plemented using different approaches, here we name a few of them.                 of the constraint-services’ behavior, is presented in Section 4. In Sec-
 For example, in [25] Shikder et al. present a prototype for the in-               tion 5, we discuss the benefits of the tasks division and coupling of
 teractive layout configuration of apartment buildings including de-               the constraint systems. Some conclusions are drawn in Section 6. A
 sign information and an iterative design process. In [3] is introduced            bibliography is provided at the end of the document.
 Wright, a constraint-based layout generation system that exploits dis-
 junctions of constraints to manage the possibilities on positioning
                                                                                   2   Renovation Modus Operandi
 two-dimensional objects in a two-dimensional space. Another sys-
 tem, Loos [9], is able to configure spaces using rectangles that can              The problem at hand deals with the configuration of rectangular pan-
 not be overlapped but that may have holes. It uses test rules applied             els and their arrangement over a façade surface. In order to start the
 by steps to the rectangles in order to reach a good configuration based           configuration process, specific information have to be extracted from
 on its orientation and relation with other rectangles. The same au-               a set of spatial entities. The renovation is carried out on façades that
 thors have developed Seed [10, 11]: A system based on Loos used                   are part of a given building, buildings that are part of a given block,
 for early stages on architectural design. The system Hegel [1] (for               and blocks that are part of a given working site. Each of these spatial
 Heuristic Generation of Layouts) is yet another space planning tool               entities have geometrical and structural properties and may have dif-
 that simulates human design based on experimental cases. Finally,                 ferent environmental conditions that must be taken into account for
 Medjdoub et al. presents in [17] the system Archiplan which inte-                 the layout-plan definition.
 grates geometrical and topological constraints to apartment layout                   Information about spatial entities is acquired by the support sys-
 planning.                                                                         tem by means of an (JSON) input file describing all geometrical and
    Regardless the considerable number of applications on layout con-              structural properties, and by means of a web-based questionnaire for
 figuration, our problem include three characteristics never considered            each spatial entity in the input file. Thus, if the input file contains
 simultaneously: Its deals with the allocation of an unfixed number                information for one working site with two blocks, each block with
 of rectangular panels that must not overlap, frames (existing win-                one building and three façades in each building, the user answers to
 dows and doors) must be overlapped by one and only one panel,                     eleven questionnaires (one for the working site, two for the blocks,
 and façades have specific areas providing certain load-bearing ca-               two for the buildings and six for the façades). After questionnaire
 pabilities that allow to attach panels. Thus, as far as we know, no               completion, the lower bound and upper bound for panels’ size and
 support system nor design system is well-suited for addressing such               panel’s weight have been deduced. Also, given that several instances
 particularities. Also, most systems are desktop-oriented and not web-             for façades are need to be solve, at the end of the questioning stage
 oriented, making difficult to adapt new requirements and functional-              the systems creates a constraint satisfaction model for each façade
 ities as they need new versions to be released.                                   using the inputed information and the deduced limits for panels’ size
                                                                                   and weight. Here, each constraint satisfaction model instance is pa-
  Contribution and structure. Traditional general purpose con-                     rameterized according with the façade information (e.g. environmen-
 straint solvers, such as Gecode [24], Choco [20] and the finite do-               tal conditions) and the particular deduced panels’ limits.
 main module of Oz [23], make clear distinction between filtering                     Lets consider the information flow from the user perspective. Fig-
 and search [21]. These environments provide methods for invoking                  ure 2 presents the representative actions made by the user and the




Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors                      48
Proceedings of the 17th International Configuration Workshop
September 10-11, 2015, Vienna, Austria
responses by the on-line support system. It also illustrates the fact             It is worth mentioning the consistency among the different steps:
that to the end-user should be transparent all the configuration pro-          Information at each level is propagated downwards and is never prop-
cess. The complete sequence of the configuration goes as follows.              agated upwards (we will further study this along the document).
                                                                               Also, of major importance is the fact that each façade may have its
Step 1:- The user uploads a file containing the geometry and struc-            own panels’ lower and upper bounds and thus solving a given façade
         tural specification of spatial entities. The support system           is done with a particular set of arguments.
         stores information in a data base.
Step 2:- The filtering service presents a questionnaire for each of the        3 Support System Configuration Tasks
         spatial entities in the input file.
Step 3:- The user answers the questions (leaving in blank the ques-            In this section we present the two configuration tasks within the sup-
         tions he does not know the answer).                                   port system: The configuration of a questionnaire to be filled by the
Step 4:- Using the information about spatial entities (database) and           end-user and, the configuration of a constraint satisfaction model for
         their environmental/user conditions (user answers) the sys-           each façade to renovate used as input for layout-plans generation.
         tem deduce lower and upper bounds for panels’ size and
         panels’ weight by using the filtering service.                        3.1 The Questionnaire
Step 5:- If a manual configuration is desired, the user draws each
         panel on the clients GUI. Each panel is assured to be consis-         The renovation includes four spatial entities, namely, working site,
         tent with the problem requirements by sending its informa-            block, building and façade, and some configurable components,
         tion to validate into the solving service (the validator mod-         namely, panels and fasteners (fasteners are devices to attach panels
         ule).                                                                 onto the façades). A hierarchical view is presented in Figure 3. Once
Step 6:- If a semi-automatic configuration is desired, the user draws          the input file has been read by the support system, it can proceed
         some panels and then asks the solving service to finish the           by configuring a set of questions for each spatial entity in the file.
         configuration.                                                        Then, after the user answer the questionnaires, the system config-
Step 7:- If an automatic configuration is desired, the user asks the           ures, i.e., deduces, the limits for panels’ size and panels’ weight for
         solving service to provide compliant layout solutions.                each façade. The questionnaires ask the following information.

                                                                               Working site. This is the bigger spatial division in the renovation.
                                                                                It is commonly referred by a name and is well-know by the com-
                                                                                munity. Values provided by the user are:




Figure 2: Sequence diagram for on-line support system.                         Figure 3: Spatial entities and arguments for renovation.




                                                                          49                Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors
                                                                                         Proceedings of the 17th International Configuration Workshop
                                                                                                              September 10-11, 2015, Vienna, Austria
    • Number of blocks in the working site? Number.                              layout plan are limited as well as their weight. Thus, the aforemen-
    • Working site is in a windy region? {yes, no}                               tioned inputs have direct impact over configurable components and
                                                                                 are defined by their compatibility relations.
    • Season in which the on-site work will take place? {summer,
      fall, winter, spring}
    • Target for cost? Euros.                                                    3.2    One FaçAde One CSP
    • Target for performance? W.m−2 .K −1                                        One critical aspect of the support system is the ability to configure
    • Obstacles presence? {yes, no}                                              a constraint satisfaction model for each façade to renovate. This is
                                                                                 important because, first, each façade has (potentially) different size,
    • Accessibility to the working site? {easy, medium, hard}                    number of windows, supporting areas etc. Possible positions for pan-
    • Panel’s width (wws ) and height (hws ) lower bound? [0, ∞]                 els, for instance, must lie between zero and the façade width and
                                                                                 height. Simply put, each façade has its own configuration parameters
    • Panel’s width (wws ) and height (hws ) upper bound? [0, ∞]
                                                                                 used in the constrain satisfaction model and in the layout genera-
    • Panel’s maximum weight (wews )? [0, ∞]                                     tion process. And second, each façade may have different accessibil-
 Block. Is a set of buildings which are usually attached by a common             ity conditions, obstacles or even user preferences. Thus, panels’ size
   wall. Values provided by the user are:                                        limits, as well as their weight, are constrained by the specific condi-
                                                                                 tions of the façade and not only by the conditions of the working site,
    • Number of buildings in the block? Number.                                  block or building.
    • Obstacles presence? {yes, no}                                                 When configuring these CSP instances it is important to conserve
    • Accessibility to the block? {easy, medium, hard}                           downwards consistency. Downwards consistency refers to the fact
                                                                                 that information on higher level of the renovation are is propagated
    • Panel’s width (wbl ) and height (hbl ) lower bound?                        to the inferior levels, i.e., working site → blocks → buildings →
      wbl ∈ [wws , wws ] and hbl ∈ [hws , hws ]                                  façades, but it can not propagate upwards. As an example consider
    • Panel’s width (wbl ) and height (hbl ) upper bound?                        only accessibility conditions, obstacles presence and panels’ size
      wbl ∈ [wws , wws ] and hbl ∈ [hws , hws ]                                  limits, for the specification in Figure 4.
    • Panel’s maximum weight (webl )? [0, wews ]
 Building. Is the actual place where apartment are arranged and is
   the host of several façades. Values provided by the user are:
    • Number of façades in the building? Number.
    • Obstacles presence? {yes, no}
    • Accessibility to the block? {easy, medium, hard}
    • Panel’s width (wbg ) and height (hbg ) lower bound?
      wbg ∈ [wbl , wbl ] and hbg ∈ [hbl , hbl ]
    • Panel’s width (wbl ) and height (hbl ) upper bound?
      wbg ∈ [wbl , wbl ] and hbg ∈ [hbl , hbl ]
    • Panel’s maximum weight (webg )? [0, webl ]
 Façade. Maybe seen as a big wall, but is in fact a composition of              Figure 4: Downwards consistency among entities.
   apartment along with its doors, windows and so on. Values pro-
   vided by the user are:
    • Obstacles presence? {yes, no}                                                 Note that inferior entities on the hierarchy inherit values from su-
                                                                                 perior levels. But, it is not the case that information on superior levels
    • Accessibility to the block? {easy, medium, hard}                           should be consistent with information on inferior levels. In Figure 4,
    • Type of attaching device: {bottom, top, lateral}                           for instance, façade 1 has a hard accessibility condition and thus the
                                                                                 upper bound for panels’ size is reduced to a given Z. This upper
    • Panel’s width (wf c ) and height (hf c ) lower bound?
                                                                                 bound is not propagated upwards to the building 1; it conserves its
      wf c ∈ [wbg , wbg ] and hf c ∈ [hbg , hbg ]                                inherited value X. Consequently, façade 2 will inherit the value of
    • Panel’s width (wbl ) and height (hbl ) upper bound?                        X as no further reduction is needed for their panels configuration.
      wf c ∈ [wbg , wbg ] and hf c ∈ [hbg , hbg ]                                Naturally, it is the case that Z ⊂ X ⊂ U . Using this information a
                                                                                 CSP is configured for each façade to renovate.
    • Panel’s maximum weight (wef c )? [0, webg ]

    This information collection has two specific goals. On the one               4     Support System Constraint Services
 hand, it will provide details about renovation aspects, such as the tar-
 geted performance, that are needed in the configuration process. On             In order to divide configuration tasks we divide the support sys-
 the second hand, it provides upper bound for panel’s size and panel’s           tem in two services that may be implemented in different servers.
 weight. Indeed, given the manufacturing, environmental, accessibil-             In essence, information about the renovation, entered by means of
 ity and even weather conditions, the size of panels composing the               the input file and the questionnaire, is filtered by means of the first




Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors                    50
Proceedings of the 17th International Configuration Workshop
September 10-11, 2015, Vienna, Austria
service called Filtering Service. Then, the second service called Solv-           As stated previously, the initial filtering has as goal setting do-
ing Service, upon user request, uses its configuration algorithms to           mains for configurable components and takes spatial entities infor-
provide complaint layout-plans solutions. Figure 5 presents the ar-            mation and constraints to do so. In our on-line support system we
chitecture of the on-line support system.                                      use the CoFiADe [27] system to perform this filtering. Several rea-
                                                                               sons support our choice. First, the system is already on-line, mak-
                                                                               ing it usable in no time. Second, it is well conceived for supporting
                                                                               decision-making processes. And third, it uses efficient compatibility
                                                                               tables for domain pruning; applying a given compatibility table is
                                                                               made in constant time O(1).


                                                                               4.1.2    Compatibility Knowledge

                                                                               Configurable components of the renovation are panels and fasteners
                                                                               to attach panels.

                                                                               Panels. Configurable by fixing their width, height, weight and posi-
                                                                                 tion over the façade.
                                                                               Fasteners. Configurable by fixing its length and setting its type
Figure 5: Service-based architecture for on-line configurator.
                                                                                 {bottom, top, lateral}.

                                                                                  The following compatibility tables, presented from Table 1 to Ta-
   In order to give a clear understanding on how the services works,           ble 8, show the allowed combination between user’s input values and
let us describe the input and output in a formal way. For each of              configurable components values.
the services the input is a tuple of the form hSPEC, V, D(V), C(V )i
with |V|= |D(V)| and
                                                                               4.2     Solving Services
• SPEC = hWS, BK, BG, F ACi; WS variables describing the                       4.2.1    Search
  working site, BK variables describing blocks, BG variables de-
  scribing buildings and FAC variables describing façades.                    The second service in the support system is in charge of layout-plans
• V = hP, F Ai; P variables describing a single panel and FA                   generation. The system uses several algorithms to generate layout
  variables describing a single fastener.                                      plans but, although their behavior are quite different, their semantic
• D(V) = hD(P), D(F A), i; domain for each one of the variables                remains the same.
  in V.                                                                           Now, while information of SPEC and V are the same as the fil-
• C(V) a set of constraints over variables in V.                               tering services, it is not the case for domains and constraints. To dif-
                                                                               ferentiate them lest call the input domains Ds (V) and the constraints
    Information in SPEC describes only properties of the spatial en-           Cs (V). Intuitively, variable domains Ds (V) are provided by the map-
tities such as the number, sizes, positions, etc. Variables in V and           ping of the filtering service, i.e.,
D(V), on the other hand, are manufacturer depended and includes
size and position of panels and fasteners, and the initial domains                      M(SPEC, V, D(V), Cf (V)) = D0 (V) = Ds (V)                 (2)
which depends on the manufacturing process. Constraint in C(V) are
extracted from the problem domain by an expert and are different in               where D(V) is the initial variable domain of the problem. Con-
each service.                                                                  straints in Cs (V) are expressed as first order formulas and express,
                                                                               not compatibility among elements but, requirements for valid layout
                                                                               plans (see next section for a description of these constraints). Both
4.1 Filtering Service                                                          resolution approaches implemented at the solving service respect all
                                                                               constraints; the first approach resolving conflicts at positioning each
4.1.1    Mapping
                                                                               panel (greedy fashion) whereas the second approach uses the open
The filtering service is in charge of removing domain values from              constraint programming environment Choco [20] to explore the so-
elements in D(V) that are not allowed by the established constraints.          lution space.
Here, constraints C(V) describe valid combination among different                 The output of the server’s process is a set of layout-plan solutions.
parameters in SPEC and variables in D(V). We denote this set of                Formally, the server’s process is a function of the form
constraints Cf (V) to distinguish them from the ones used on the solv-
ing service. These constraints are formalized as compatibility tables
(presented in next section). Formally, the filtering is a mapping M                    F(SPEC, V, Ds (V), Cs (V), H) = hX , Y, DX , DYi            (3)
from variables and domains to domains
                                                                                  where X and Y represent the origin of coordinates for each panel
                M(SPEC, V, D(V), Cf (V)) → D (V)        0
                                                                   (1)         in the solution, and DX and DY the width and height, respectively,
                                                                               for each panel in the solution. Additionally, the function is parameter-
                 0
   The result D (V) contains the new domain for panels and fasten-             ized by an heuristic H stating the way the solution space is explored.
ers, where D0 (V) ⊆ D(V).                                                      Available strategies are greedy and depth-first search.




                                                                          51                Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors
                                                                                         Proceedings of the 17th International Configuration Workshop
                                                                                                              September 10-11, 2015, Vienna, Austria
                                                                                          Table 7: Relation C7 between panel’s weight and fasteners’ positions.

                                                                                            C7
                                                                                          Weight                                  Position Fasteners
                                                                                          < 500                                                   ∅
 Table 1: Relation C1 between environmental conditions of spatial entities and            [500,1000]                                   {top,bottom}
 panel’s size, where α and β are upper-bounds for panel’s width and height,               >1000                                              bottom
 respectively, when constrained by environmental conditions.
                                                                                          Table 8: Relation C8 between fasteners’ position and number of fasteners.
           C1
         Wind                                           Panel’s size
         yes                                   (wp ≤ α) ∧ (hp ≤ β)                          C8
         no                                                       ∅                       Position fasteners                             # fasteners
                                                                                          {top,bottom}                                       [2,4,6]
                                                                                          laterals                                              [4,6]
 Table 2: Relation C2 season that on-site work will take place and and panel’s
 size, where θ and τ are upper-bounds for panel’s width and height, respec-               4.2.2    Layout knowledge
 tively, when constrained by the season.
                                                                                          Let F denote the set of frames and S the set of supporting areas. Let
          C2                                                                              oe.d and le.d denote the origin and length, respectively, of a given
         Season                                         Panel’s size                      entity e in the dimension d, with d ∈ [1, 2]. For instance, of r.1 de-
         Summer ∨ Spring                                          ∅                       notes the origin in the horizontal axis and lf r.1 denotes the width of
         Fall ∨ Winter                         (wp ≤ θ) ∧ (hp ≤ τ )
                                                                                          frame f r. Additionally, lbd and ubd denote the length lower bound
                                                                                          and length upper bound, respectively, in dimension d for all panels.
 Table 3: Relation C3 between obstacles in spatial entities and panel’s size,                Each panel is described by its origin point w.r.t. the façade origin
 where φ and σ are upper-bounds for panel’s width and height, respectively,
                                                                                          and its size. For convenience, lets assume that P is the set of panels
 when constrained by the presence of obstacles.
                                                                                          composing the layout-plan solution. Then, each p ∈ P is defined by
           C3                                                                             ho, li where
         Obstacles                                      Panel’s size
         yes                                   (wp ≤ φ) ∧ (hp ≤ σ)                        • op.d ∈ [0, of ac.d ] is the origin of panel p in dimension d.
         no                                                       ∅                       • lp.d ∈ [lbp.d , ubp.d ] is the length of panel p in dimension d.

 Table 4: Relation C4 between accessibility of spatial entities and panel’s size,           The following six constraints express the relations among panels,
 where λ and π are upper-bounds for panel’s width and height, respectively,               and panels and façade that must respect a layout solution.
 when constrained by medium level accessibility conditions, and Λ and Π are
 upper-bounds for panel’s width and height, respectively, when constrained by         (a) Manufacturing and transportation limitations constrain panel’s
 hard level accessibility conditions.                                                     size with a give upper bound ub in one or both dimensions.
           C4                                                                                                         ∀p ∈ P lp.d ≤ ubd
         Accessibility                            Panel’s dimensions
         easy                                                     ∅                   (b) (diffN) For two given panels p and q there is at least one dimension
         medium                                (wp ≤ λ) ∧ (hp ≤ π)                        where their projections do not overlap.
         hard                                 (wp ≤ Λ) ∧ (hp ≤ Π)
                                                                                                             ∀p ∈ P, ∀q ∈ P, p 6= q, ∃d ∈ [1, 2] |
 Table 5: Relation C5 between renovation cost and panel’s insulation: It illus-                             op.d ≥ oq.d + lq.d ∨ oq.d ≥ op.d + lp.d
 trates the fact that the quality of the insulation depends on the user budget.
                                                                                      (c) A given panel p must either be at the façade edge or ensure that
           C5                                                                             enough space is left to fix another panel.
         Cost                                        Panel’s insulation
         < 50000                                                    low                           ∀p ∈ P op.d + lp.d ≤ lf ac.d − lbk ∨ op.d + lp.d = lf ac.d
         [50000,100000]                                        medium
         ≥ 100000                                                  high               (d) Each frame over the façade must be completely overlapped by
                                                                                          one and only one panel. Additionally, frames’ borders and pan-
 Table 6: Relation C6 between desired performance and panel’s insulation:                 els’ borders must be separated by a minimum distance denoted by
 It illustrates the fact that the quality of the insulation depends on the desired        ∆.
 final energetic performance.
                                                                                                                     ∀f ∈ F, ∃p ∈ P |
           C6                                                                                          op.d + ∆ ≤ of.d ∧ of.d + lf.d ≤ op.d + lp.d + ∆
         Performance                                 Panel’s insulation
         < 25                                                      high               (e) The entire façade surface must be covered with panels.
         [25,50]                                               medium
         ≥ 50
                                                                                                   P       Q                           Q
                                                                    low                                i∈P    d∈[1,2] (oi.2 + li.2 ) =  d∈[1,2] lf ac.d

                                                                                      (f) Panels’ corners must be matched with supporting areas in order
                                                                                          to be properly attached onto the façade.

                                                                                                  ∀p ∈ P, ∃s ∈ S | os.d ≤ op.d ∨ op.d + lp.d ≤ os.d + ls.d




Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors                             52
Proceedings of the 17th International Configuration Workshop
September 10-11, 2015, Vienna, Austria
5   (De)Coupling Benefits                                                         5. Show that consistency and integrity of solutions are straightfor-
                                                                                     ward modeled and implemented thanks to the monotonic proper-
In order to efficiently couple two constraint-based systems it is nec-               ties of constraint satisfaction problems.
essary to assign disjoint tasks for them. In our approach, we divide              6. Show that the underlying coupling and communication methods
initial filtering and solving in two different services. Benefits for this           are transparent for the user (it only interacts with a friendly web-
tasks division are rather simple.                                                    based interface).
   On the one hand we apply the well-known principle Divide and
conquer. In our on-line system this principle allow us to add or re-                 This work is part of a project on buildings thermal renovation as-
move variables, domains and questions in the filtering service, i.e., by          sisted by intelligent systems. A configuration problem arise in this
means of adding or removing compatibility tables. In addition, as we              context: Configuring a specific set of rectangular panels with respect
use CoFiADe, we may mix different variable representation as in-                  to create a building envelope. As the industrial scenario evolves the
teger domains, continuous domains and symbolic domains whereas                    support system must be able to adapt to new requirements. Thus,
in most constraint systems mixing variable domains is not allowed                 strategic directions for our work are three-fold. On the one hand, im-
or is not efficient enough. For instance, given the reduced number                prove each service by adding new constraints. On the second hand,
of constraints for continuous domains in Choco, the representation                definition of an API that allow us to replace the underlying processes
have to be changed to integer domains which in consequence involve                in each service without loosing solutions. For instance, the solving
additional and time consuming efforts.                                            service may be replaced by the same implementation of the model
   On the other hand, as a benefit of tasks division, we improve per-             but using a different constraint solver (e.g., Gecode [24], ILOG
formance by avoiding the use of binary equalities and binary inequal-             CPLEX CP [7]). We consider that a good support system must be
ities constraints whose computational time is O(n ∗ m), where n                   robust enough to allow such adaptations. Finally, a consistent bench-
and m are the number of values in the domain of the two variables                 mark must be carried on in order to compare the performance when
involved in the constraint. Thus, at the moment of finding solutions,             dividing configuration tasks and when they are executed by the same
the underlying constraint solver, in our case Choco, propagates and               service/constraint system.
applies search using only those constraints defining a layout plan.
   Regarding the performance the two configuration tasks must be
studied separately. As commented before, applying a given compat-                 ACKNOWLEDGEMENTS
ibility table in the filtering service is made in constant time. Thus,
the time involved in the filtering service depends on the question-               The authors wish to acknowledge the TBC Générateur d’Innovation
naire that depends on the number of buildings, facades and so on.                 company, the Millet and SyBois companies and all partners in the
On the solving service, by contrast, the performance depends on the               CRIBA project, for their contributions on recollecting buildings ren-
underlying filtering and search provided by Choco. Execution over                 ovation information. Special thanks to the referees for their com-
façades with size 40 × 10 meters, 50 × 12 meters and 60 × 15 meters              ments and to Philippe Chantry from École des Mines d’Albi for his
takes between one and two seconds. The use of a dedicated heuristic               contribution to the on-line system graphical interface and additional
that exploits the problem structure allows to reach such good perfor-             abstractions.
mance.
   The decoupling of tasks, and coupling of two constraint-based sys-
                                                                                  REFERENCES
tems, is supported by the underlying declarative model. Indeed, the
monotonic properties of constraint-based systems make it possible                  [1] Ö. Akin, B. Dave, and S. Pithavadian, ‘Heuristic generation of layouts
to add information (constraints) on one system without loosing any                     (hegel): based on a paradigm for problem structuring’, Environment and
                                                                                       Planning B: Planning and Design, 19(1), pp. 33 – 59, (1992).
solution on the other system. Thus, the declarative view of constraint
                                                                                   [2] R. Barták, ‘Constraint Programming: In Pursuit of the Holy Grail’, in
satisfaction make it possible to handle services as independent com-                   Proceedings of the Week of Doctoral Students (WDS), (June 1999).
munication agents.                                                                 [3] Can A. Baykan and Mark S. Fox, ‘Artificial intelligence in engineering
                                                                                       design (volume i)’, chapter WRIGHT: A Constraint Based Spatial Lay-
                                                                                       out System, 395–432, Academic Press Professional, Inc., San Diego,
6   Conclusions                                                                        CA, USA, (1992).
                                                                                   [4] S. C. Brailsford, C. N. Potts, and B. M. Smith, ‘Constraint satisfaction
The aim of this paper has been to introduce an architecture of                         problems: Algorithms and applications’, European Journal of Opera-
constraint-based product configuration that couples two constraint-                    tional Research, 119(3), pp. 557 – 581, (1999).
based systems. We have presented an architecture that divided initial              [5] The Energy Conservation Center, Energy Conservation Handbook, The
variable domain filtering and search space exploration. The method                     Energy Conservation Center, Japan, 2011.
                                                                                   [6] U.S. Green Building Council, New Construction Reference Guide,
divide and conquer allow us to make straightforward adaptations to                     2013.
each service separately. Our approach have been applied to façade-                [7] IBM IBM ILOG CPLEX. Ibm ilog cplex optimization studio cp opti-
layout configuration and implemented in an on-line support system.                     mizer users manual, 2014.
For this particular scenario we have                                               [8] M. Falcon and F. Fontanili, ‘Process modelling of industrialized ther-
                                                                                       mal renovation of apartment buildings’, eWork and eBusiness in Archi-
1. Formalize each service behavior and the relation among them.                        tecture, Engineering and Construction, 363–368, (2010).
                                                                                   [9] U. Flemming, ‘Knowledge representation and acquisition in the LOOS
2. Presented the constraints, expressed in compatibility tables and                    system’, Building and Environment, 25(3), 209 – 219, (1990).
   carried out by the CoFiADe system, for initial filtering.                      [10] U. Flemming, C.A. Baykan, R.F. Coyne, and M.S. Fox, ‘Hierarchi-
3. Presented the constraints, expressed as first order formulae and                    cal generate-and-test vs constraint-directed search’, in Artificial Intel-
   carried out by Choco constraint programming environment, that                       ligence in Design ’92, eds., J.S. Gero and Fay Sudweeks, 817–838,
                                                                                       Springer Netherlands, (1992).
   are used to generate compliant layout solutions.                               [11] U. Flemming and R. Woodbury, ‘Software environment to support early
4. Show how to solve the configuration tasks by coupling the two                       phases in building design (seed): Overview’, Journal of Architectural
   constraint-based systems.                                                           Engineering, 1(4), 147–152, (1995).




                                                                             53                 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors
                                                                                             Proceedings of the 17th International Configuration Workshop
                                                                                                                  September 10-11, 2015, Vienna, Austria
 [12] Esther Gelle and Rainer Weigel, ‘Interactive configuration based on
      incremental constraint satisfaction’, in IFIP TC5/WG 5.2 Workshop
      Series Knowledge-Intensive CAD, pp. 117–126, Helsinki, Finland,
      (1995).
 [13] M. M. D. Hassan, G. L. Hogg, and D. R. Smith, ‘Shape: A construc-
      tion algorithm for area placement evaluation’, International Journal of
      Production Research, 24(5), pp. 1283–1295, (1986).
 [14] Bjrn Petter Jelle, ‘Traditional, state-of-the-art and future thermal build-
      ing insulation materials and solutions - properties, requirements and
      possibilities’, Energy and Buildings, 43(10), 2549 – 2563, (2011).
 [15] U. Junker, Configuration., Chapter 24 of Handbook of Constraint Pro-
      gramming (Foundations of Artificial Intelligence). Elsevier Science
      Inc., New York, NY, USA, 2006.
 [16] K.J. Lee, H.W. Kim, J.K. Lee, and T.H. Kim, ‘Case-and constraint-
      based project planning for apartment construction.’, AI Magazine,
      19(1), pp. 13–24, (1998).
 [17] B. Medjdoub and B. Yannou, ‘Separating topology and geometry in
      space planning’, Computer-Aided Design, 32(1), 39 – 61, (2000).
 [18] U. Montanari, ‘Networks of constraints: Fundamental properties and
      applications to picture processing’, Information Sciences, 7(0), 95 –
      132, (1974).
 [19] L. Pérez-Lombard, J. Ortiz, and C. Pout, ‘A review on buildings en-
      ergy consumption information’, Energy and Buildings, 40(3), 394 –
      398, (2008).
 [20] C. Prud’homme and JG. Fages, ‘An introduction to choco 3.0 an open
      source java constraint programming library’, in CP Solvers: Modeling,
      Applications, Integration, and Standardization. International work-
      shop., Uppsala Sweden, (2013).
 [21] Christian Schulte, Programming Constraint Services, volume 2302 of
      Lecture Notes in Artificial Intelligence, Springer-Verlag, 2002.
 [22] Christian Schulte and Mats Carlsson, ‘Finite domain constraint pro-
      gramming systems’, Handbook of constraint programming, 495–526,
      (2006).
 [23] Christian Schulte and Gert Smolka. Finite domain constraint program-
      ming in oz. a tutorial., 2000.
 [24] Christian Schulte, Guido Tack, and Mikael Z. Lagerkvist. Modeling
      and programming with gecode, 2010.
 [25] S Shikder, A Price, and M Mourshed, ‘Interactive constraint-based
      space layout planning’, W070-Special Track 18th CIB World Building
      Congress May 2010 Salford, United Kingdom, 112, (2010).
 [26] Timo Soininen, Juha Tiihonen, Tomi Männistö, and Reijo Sulonen, ‘To-
      wards a general ontology of configuration’, Artif. Intell. Eng. Des. Anal.
      Manuf., 12(4), 357–372, (September 1998).
 [27] Élise Vareilles. Paul Gaborit. Michel Aldanondo. Sabinne Carbon-
      nel. Laurent Steffan, ‘Cofiade constraints filtering for aiding design’,
      in Actes des neuviemes Journées Francophones de Programmation par
      Contraintes, Toulouse France, (2012).
 [28] E. Vareilles, A. F. Barco, M. Falcon, M. Aldanondo, and P. Gaborit,
      ‘Configuration of high performance apartment buildings renovation: a
      constraint based approach’, in Conference of Industrial Engineering
      and Engineering Management (IEEM). IEEE., (2013).
 [29] Dong Yang, Ming Dong, and Rui Miao, ‘Development of a product con-
      figuration system with an ontology-based approach’, Computer-Aided
      Design, 40(8), 863 – 878, (2008).
 [30] M. Zawidzki, K. Tateyama, and I. Nishikawa, ‘The constraints satis-
      faction problem approach in the design of an architectural functional
      layout’, Engineering Optimization, 43(9), pp. 943–966, (2011).




Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors                            54
Proceedings of the 17th International Configuration Workshop
September 10-11, 2015, Vienna, Austria