=Paper= {{Paper |id=Vol-1220/paper7 |storemode=property |title=Calpinator: A Configuration Tool for Building Facades |pdfUrl=https://ceur-ws.org/Vol-1220/07_confws2014_submission_11.pdf |volume=Vol-1220 |dblpUrl=https://dblp.org/rec/conf/confws/BarcoVAG14 }} ==Calpinator: A Configuration Tool for Building Facades== https://ceur-ws.org/Vol-1220/07_confws2014_submission_11.pdf
                                  Calpinator:
                    A Configuration Tool for Building Facades
                  Andrés F. Barco and Elise Vareilles and Michel Aldanondo and Paul Gaborit1


Abstract. Reducing energy consumption of residential and com-                 ter the renovation. To do this, the building is completely covered with
mercial buildings is a major challenge nowadays. One of the strate-           a new envelope composed of rectangular panels that are prefabricated
gies to achieve a significant reduction lies on building renovation.          in factories. The core of our work lies on the two concurrent config-
On this regard, a project targeting the industrialization of high per-        uration tasks that have been identified: To configure each one of the
formance thermal renovation for apartment buildings is been exe-              panels w.r.t. to the facade and to configure the entire facade using
cuted. The renovation is based on an external envelop composed by             a set of these panels [23, 24]. We focus our efforts on the develop-
rectangular wood-made panels that cover the whole building. Two               ment of a decision support system for the configuration of panels and
concurrent configuration tasks within the project have been identi-           facades.
fied: The configuration of each one of the panels w.r.t. to the facade           In this paper we introduce Calpinator, a Java-based configuration
and the configuration of the entire facade using a set of these pan-          tool which is the heart of the decision support system for the CRIBA
els. We focus our efforts on the development of a decision support            project. The tool uses the notion of Constraint Satisfaction Problems
system for the configuration of panels and facades. In this paper we          as underlying model and implements a smart greedy-recursive algo-
introduce Calpinator, a Java-based configuration tool which is the            rithm to find one feasible configuration of panels and facades. In this
heart of the decision support system for the project. The tool uses           communication we present the tool’s design, its features and briefly
the notion of Constraint Satisfaction Problems as underlying model            describe the implemented algorithm. It is worth noting that the algo-
and implements a smart greedy-recursive algorithm to find a feasible          rithm, whose details can be fond in [2], is not part of the contribution
configuration. In this communication we present the tool’s design, its        of the present work. Instead, we focus our efforts on the implemen-
features and its implemented algorithm. We use a real-world scenario          tation of the algorithm.
to illustrate the kind of facades the system can deal with.
                                                                              1.1    Related work
1    INTRODUCTION                                                             Layout synthesis, also known as space planning, techniques have
                                                                              been used within different contexts and scenarios. For instance, find-
Energy consumption of residential and commercial buildings is con-
                                                                              ing solutions for room configurations [25], apartment layouts [15]
stantly growing and currently it exceeds industry and transport sec-
                                                                              and activities within a business office [12]. Also, some tools have
tors. It represents more than a third of the energy consumption in
                                                                              been implemented using different approaches, here we name a few
developed countries: 44% in France2 , 37% in Europe [19], 36% in
                                                                              of them. For example, in [22] Shikder et al. present a prototype for
North America [7] and 31% in Japan [5]. The increase in population,
                                                                              the interactive layout synthesis of apartment buildings including de-
the enthusiasm for new technologies and the improvement of living
                                                                              sign information and an iterative design process. In [4] is introduced
comfort combined with the domestic habits creates an energy de-
                                                                              WRIGHT, a constraint-based layout generation system that exploits
mand of buildings that will continue to increase in the coming years.
                                                                              disjunctions of constraints to manage the possibilities on positioning
Therefore, reducing energy consumption of buildings is now a prior-
                                                                              two-dimensional objects in a two-dimensional space. Another sys-
ity in national and international levels.
                                                                              tem, LOOS [9], is able to configure spaces using rectangles that can
   According to Falcon et al. [8] one of the strategies to achieve a
                                                                              not be overlaped but that may have holes. It uses test rules applied by
significant reduction lies on thermal building renovation. However,
                                                                              steps to the rectangles in order to reach a good configuration based on
old methods involving by hand configuration, human scheduling and
                                                                              its orientation and relation with other rectangles. The same authors
craft assembly, are expensive both in time and costs (bill of materi-
                                                                              have developed SEED [11]: A system based on LOOS used for early
als). It is therefore essential to assist this massive renovation of build-
                                                                              stages on architectural design. A comparison between WRIGHT and
ings with decision support systems [13].
                                                                              LOOS can be found in [10]. The system HeGel [1] (for Heuristic
   Our work is part of project called CRIBA (for its acronym in
                                                                              Generation of Layouts) is yet another space planning tool that simu-
French of Construction and Renovation in Industrialized Wood Steel)
                                                                              lates human design based on experimental cases. Finally, Medjdoub
[8]. This project focuses on the industrialization of energetic renova-
                                                                              et al. presents in [17] the system ARCHiPLAN which integrates ge-
tion for residential buildings. The challenge, very ambitious, is to
                                                                              ometrical and topological constraints to apartment layout planning.
have a building energetic performance under 25kW h/m2 /year af-
1 Université de Toulouse, Mines d’Albi, Route de Teillet Campus Jarlard,     2     PROBLEM CONTEXT
  81013 Albi Cedex 09, France, email: abarcosa@mines-albi.fr
2 http://www.developpement-durable.gouv.fr/IMG/pdf/                           In order to achieve the CRIBA project goals and ensure the seal-
  Rep_-_chiffres_energie.pdf                                                  ing of the building, each facade of the renovated building must be
completely covered by rectangular configurable panels, i.e., it is nec-         2.2    Configuration process
essary a configuration of panels to cover the facade. Configuration is
the task of designing a given product (here facades) from predefined            The renovation process follows a series of steps going form the build-
generic components (here panels) [14, 21]. Components, which are                ing site through the elaboration of panels and ending in its assembly
described in terms of its functions, characteristic and prices, are usu-        [23]. At each level, a series of descriptive questions are asked to the
ally arranged in a catalog. Customized solutions, are built from the            user. Each answer has a potential impact on the permissible dimen-
combination of this catalog components and users requirements and               sions of panels. For example, the inaccessibility of a given facade
preferences.                                                                    may limit the dimensions of panels and therefore the surface covered
   In our context, a configuration solution for a facade layout is there-       by each one of them.
fore finding a spatial positioning of panels that covers the whole                 Once the descriptions of the site, building and facade are com-
facade front, without overlapping nor holes. Keep in mind that,                 pleted, the layout configuration of each facade can begin. Facades
whereas components (i.e., panels) in our catalog have well-defined              must wear a set of panels that must be the greatest as possible while
geometric shapes, dimensions and relations, their number is not                 respecting the architectural constraints, supporting areas, manufac-
known in advance.                                                               turing and accessibility limitations. A rectangular panel is well con-
                                                                                figured if it meets the following conditions:

2.1    Layout elements                                                          C1 It should cover the greatest possible area given the accessibility
                                                                                  and the geometric position of frames.
The following elements are part of the renovation. We include the
                                                                                C2 It can be installed in facade and supported by one or more sup-
description of facades because its composing elements are important
                                                                                  porting areas.
in the accurate configuration of panels.
                                                                                C3 It does not overlap with any other panel.
• Facades: A facade is represented by a 2D coordinate plane, with               C4 It does not block the definition and configuration of the rest of
  origin of coordinates (0,0) as the bottom-left corner of the facade,            the facade.
  containing rectangular zones defining:
   – Perimeter of facade to renovate with its dimensions (height and            2.3    Configuration example
     width).
                                                                                Consider the facade to renovate in literal (a) of Figure 2. The horizon-
   – Frames (windows and doors) with their dimensions (height and               tal and vertical lines represent the places in which we are allowed to
     width) positioned in the reference plane.                                  attach panels, i.e., the supporting areas. They correspond to various
   – Supporting areas (place to fix panels), with their permissible             possible locations for the fasteners supporting the weight of panels.
     load, positioned in the reference plane.                                   In this article, we assume that these places are capable of supporting
                                                                                a large enough weight to not constrain the surface of the panels.
   – Zones labeled as “out of configuration” which are areas that
     can not be covered by configured panels and therefore require
     specific panels design.
• Rectangular panels (shown in Figure 1): Panels are rectangular,
  of varying dimensions (from 1 to 45.5m2 ) and may include dif-
  ferent equipment (joinery, solar modules, etc.). These panels are
  designed one at a time, when the definition of the layout config-
  uration has been done, and manufactured in the factory prior to
  shipment and installation on the building site.




               Figure 1. Prefabricated rectangular panels
                                                                                               Figure 2. Well and ill-configured facades




                                                                            2
   Fasteners consist of two parts: One fixed directly onto the facade                Dimension Considering the panels suppliers and panel fabrication
(wall bracket) and one installed on the panel at the factory. On the                   specifications, the width wp and height hp of each panel is in the
facades, the fasteners are positioned in the center of the supporting                  range [0.9, 13.5]. However, this is actually a combination of val-
areas. At the level of the panels, brackets are fixed to the lower edge                ues. In other words, it is possible to configure a panel with dimen-
of the panels at equidistant (from 0.9 to 4 meters) from each other:                   sions 0.9 × 13.5, 3 × 8.4 or 13.5 × 0.9, but it is not possible to
These minimum and maximum distances allow to better distribute                         configure one with dimensions 13.5 × 13.5, this is due to fabrica-
the weight of supported panels. A wall bracket can support a single                    tion and transportation constraints.
panel (if it is on the perimeter of the panel) or two panels (if it is at            Area A correct facade configuration is one in which the whole fa-
the junction between two consecutive panels).                                          cade area is covered by prefabricated panels. Thus, a constraint
   Small rectangles present on the facade to renovate in Figure 2 lit-                 forcing the sum of panel areas (wp × hp ) to be equal to the facade
eral (a), correspond to the locations of frames (doors and windows).                   area (wf ac × hf ac ) is needed.
   Two areas of the facade are considered “out of configuration”: The                Non-Overlap In addition, we must ensure that the panels do not
gable and the bottom part before the first horizontal supporting area.                 overlap so we can have a valid configuration. Thus, for each pair
Two specific panels will be designed, one triangular for the gable and                 of panels p and q we apply the non-overlap constraint (also known
a square one for the specific building foot.                                           as ndiff in different CSP tools).
   Figure 2 literal (b) presents a facade with three ill-configured pan-             Panel vs. Frames We adjust the width or height of a given panel if
els: Due to the impossibility to place another panel north to the al-                  there exists a frame near to it. Either the panel overlaps the frame
ready placed panel P 1, because there are no supporting areas at the                   or the panel is right, left, up or down of the frame. In any case,
corners of panel P 2 and because panel P 3 partially overlaps a frame.                 due to the internal structure of the panel, borders of frames and
None of these configurations are valid. Facades in literals (c), (d) and               borders of panels must be separated by a minimum distance given
(e) of Figure 2 present layout configurations where all panels meet                    as input.
the four conditions. From these, the facade (e) is preferred over the
other two because it uses less panels.                                               4     CALPINATOR: A FACADE CONFIGURATOR
                                                                                     Using the aforementioned model, we have developed two algorithms
3     UNDERLYING MODEL
                                                                                     for solving the problem of facades configuration. The first algo-
Following the CSP model, we have identified 6 constraint variables,                  rithm is an attempt to find one layout configuration in a greedy fash-
presented in Table 1, that allow us to represent the core of the layout              ion (more information can be found in [2]). The second algorithm
configuration for a given facade: The spatial positioning of panels.                 uses global constraints and a constraint engine to find all possible
Recall that a CSP problem is described in terms of a tuple hV, D, Ci,                panel configurations for covering the facades (more information can
where V is a set of variables, D is a collection of potential values                 be found in [3]). In the current state of development of our tool,
associated for each variable, also known as domains, and C is a set                  however, only the greedy-recursive algorithm has been implemented
of relations over those variables, referred to as constraints [18].                  (Section 4.2). The constraint-based solution is planned for forthcom-
                                                                                     ing releases of the tool and will, probably, use the constraint solver
         Table 1.   6 variables used in the Calpinator implementation.               Choco [20] version 3 as underlying engine.
                                                                                        The result of our work is a Java-based tool that we call Calpinator3 .
                                                                                     It allows the user to input a building specification with an undefined
    Variable   Description               Domain                                      number of facades and throws a solution for each of the facades if
    (px0 ,py0 ) Origin (bottom-left)     x0 ∈ [0, wf ac ], y0 ∈ [0, hf ac ]          there is any. An intuitive view of the process is available by means
                of panel p                                                           of a friendly graphical user interface. In this Section we present the
    (px1 ,py1 ) End (top-right)          x1 ∈ [0, wf ac ], y1 ∈ [0, hf ac ]          internal design of Calpinator, its implemented algorithm, the input
                of panel p                                                           and output formats, and the current options for customization.
    wp          Width of panel p         [0.9, 13.5]                                    It is worth mentioning that currently the user is suppose to be an ar-
    hp          Height of panel p        [0.9, 13.5]                                 chitect, the building owner or a third-party contractor that is in charge
                                                                                     of mapping the building data into the appropriated input format. Nev-
   The algorithm implemented in the tool uses the following param-                   ertheless, the goal, in a different stage of the project, is to automate
eters to set domains and to link variables: Width of facade (wf ac ),                the renovation process in every possible way. Thus, one of the part-
height of facade (hf ac ), environmental property (ef ac ), for each                 ners in the CRIBA project is working on the automatic generation of
frame f its origin point (fx0 ,fy0 ) and its end point (fx1 ,fy1 ) and, a col-       the input for the configurator. In essence, they will use drones with
lection of horizontal and vertical supporting areas each one of them                 pattern and image recognition to obtain most 4 of the facade related
with its origin point (sax0 ,say0 ) and its dimensions (saw ,sah ).                  information.
   In what follows we briefly describe five of the six constraints that
are part of the model and that are constraints in the Calpinator tool,
more details about the model can be found in [2]. The sixth con-
                                                                                     4.1    Design
straint, dealing with weight restrictions, is not presented because it is            Calpinator has a very basic and modular design. The main charac-
not yet included in the implementation.                                              teristic of Calpinator is the implementation of a greedy algorithm for
                                                                                     3 The name Calpinator is the combination of the French word calpinage,
Environmental The width wp and height hp of panels may be con-
  strained because accessibility difficulties to the facade (e.g. trees,               which means layout, and the word configurator. https://bitbucket.
                                                                                       org/anfelbar/calpinageprototype/wiki/Home
  water sources, high voltage lines, etc), transportation issues (e.g.               4 Some aspects can not be managed by drones. This is the case of the sup-
  only small trucks available) or even climatological aspects (e.g.                    porting areas maximum load, which is data that is recorded by the building
  wind speed more than a given threshold).                                             constructors.


                                                                                 3
finding panels and facades configuration. Besides, we have enhanced               Step 1-: It begins by retrieving an available origin point and finding
the tool with an intuitive graphical user interface and provide a stan-                    an end point given the heuristic for panel orientation. At this
dard storage format (JSON) to allow a transparent communication                            point, consistent with dimensions upper bounds, the panel
with other software. Figure 3 presents the internal design of calpina-                     is as big as possible.
tor at first glance.                                                              Step 2-: It proceeds by generating a new valid point by means of
                                                                                           solving conflicts between panels and frames. If dimensions
                                                                                           of the panel violate dimensions constraints then it fails at
                                                                                           positioning the panel.
                                                                                  Step 3-: It checks whether it is possible to install it using an hori-
                                                                                           zontal or vertical supporting areas.
                                                                                  Step 4-: To install the panel, either in an horizontal or a vertical sup-
                                                                                           porting area, it checks if the corners of the panel match sup-
                                                                                           porting areas. This ensures that the panel can be installed as
                                                                                           well as panels above it and at its right.
                                                                                  Step 5-: In the case it is not possible given the absence of support-
                                                                                           ing areas, it reduces the dimensions of the panel until the
                                                                                           corners are matched with supporting areas.
                                                                                  Step 6-: Finally, if the panel is well positioned, it proceeds by com-
                                                                                           puting new origin points and adding the next panel recur-
                                                                                           sively.
                                                                                  Step 7-: If the next panel can not be placed, dimensions for current
                                                                                           panel are reduced and another check is run. Otherwise we
                  Figure 3. Calpinator internal design.
                                                                                           have found a solution so add it to the solution list and return.


                                                                                  4.3     Profiles and solutions
   Let us explain further the execution and interaction between ob-
jects in the figure. Initially, the user inputs its building profile speci-       In order to use Calpinator, the user must know how to input the infor-
fication as a JSON file (Step 1). As expected, if the input file is not           mation and how to retrieve solutions. In this section we present the
well formed, an exception is thrown (Step 2a). Alternatively, the sys-            formats used by the tool.
tem creates a data base (Step 2b) that stores all objects of the build-
ing, i.e., facades, frames, etc. Once the parsing is done, it informs the
control it can enable the solving process (Step 3). The first task of the         4.3.1    Input
Control (Step 4) is to send the Painter object to draw the facades and
                                                                                  At the current state of development, Calpinator tool receives as in-
its elements. Afterwards, (Step 5) the user may customize the solving
                                                                                  put a building description that we call a profile. A building profile
process as explained in Section 4.4. If no user-parameters are given,
                                                                                  is, in essence, a table with alphanumeric values describing each of
Calpinator uses the default options (see Section 4.4). Next, when the
                                                                                  the facades in the building. In order to input this data into the tool,
user asks for the solution (Step 6), the Control calls the Solver (Step
                                                                                  we have adopted a well-known format called JSON which is a com-
7) which executes the greedy-recursive algorithm presented in Sec-
                                                                                  position of entries in the form key:value. This decision is attractive
tion 4.2. If a solution is found, the Control tells the Painter (Step 8),
                                                                                  given that many formats (such as excel sheets and XML files) can be
by user’s demand, to draw one panel of the solution at a time. Finally,
                                                                                  mapped to JSON files and vice versa. For instance, a simple excel
the user may save the solution to another JSON file (Steps 9-10).
                                                                                  sheet can be easily mapped into a JSON file using the open source
   Take into account that each time the user opens a new building
                                                                                  program Mr. Data Converter5 . Support for other formats, such as ex-
profile, the data base with the profile objects is re-instantiated. This is
                                                                                  cel sheets and XML files, will be provided in forthcoming versions
done in order to avoid conflicts between elements of different build-
                                                                                  of the tool.
ing profiles.
                                                                                     In order to avoid ambiguity, Calpinator is able to read only a par-
                                                                                  ticular set of values stored in a JSON file. The JSON input file for
4.2    Algorithm internals                                                        Calpinator is described in what follows.
Using the elements description in Section 3, we have developed an
                                                                                  • type: This key represents the type of element described by the
algorithm that solves the layout configuration in a greedy fashion
                                                                                    entry. Allowed values are: ‘facade’ which informs that there is
[2]. This means that the algorithm makes local decisions for posi-
                                                                                    a new facade in the building: ‘floor end’ which is an horizontal
tioning panels following a well-known approach in layout synthesis
                                                                                    supporting area: ‘cross wall’ which is a vertical supporting area:
field called constructive [12, 16]. Such decision making process is
                                                                                    ‘crossing’ which describes the place in which an horizontal and
opposite to previous works where a search space is explored using
                                                                                    vertical supporting areas meet: ‘window’ a new window in the fa-
backtracking search (see [6, 25] for instance). The implemented al-
                                                                                    cade: ‘door’ a new door in the facade and: ‘out’ a zone out of con-
gorithm exploits recursion, simulating backtracking, when position-
                                                                                    figuration. There can be any number of elements in the building
ing a panel is not possible due to constraint conflicts. In what follows,
                                                                                    profile. Furthermore, elements do not follow any particular order
we present the algorithm which an adaptation of the original one pre-
                                                                                    inside the JSON file.
sented by the authors in [2]. The difference between this algorithm
and the original one resides in the non-implementation of the weight              5 The program is available online at http://shancarter.github.

constraint (postponed for further releases of the tool).                            io/mr-data-converter/


                                                                              4
• id: Each element is associated with an unique alphanumeric value             frame (e.g., window or door) covered by a panel has a relative posi-
  that distinguishes the element from any other.                               tion w.r.t. the origin of the panel. This is necessary for the fabrication
• ref: Each element, except from facades, belongs to another ele-              of the panel. i.e., each panel must be fabricated with the correspond-
  ment. The key ‘ref’ is an alphanumeric value referring to the ele-           ing holes for frames. Thus, for each panel or frame the output specify:
  ment that the current element belongs to.                                    type: Type of element(‘panel’ or ‘frame’), id: Panel or frame identi-
• x: Origin coordinate in x-axis.                                              fier, ref: Facade id or panel id that the element belongs to, x: Origin
• z: Origin coordinate in z-axis.                                              x-coordinate (relative to facade origin or the panel origin), z: Origin
• width: Width of the element (in meters).                                     z-coordinate (relative to facade origin or the panel origin), width:
• height: Height of the element (in meters).                                   Width of the element, height: Height of the element.
   It is worth mentioning that Calpinator makes a distinction of all
elements in a building profile. To do so, it uses the element identifier       4.3.3    Facades with no solution
and the reference the element belongs to. Simply stated, all elements
in a given facade must have different identifiers. However, elements           Calpinator tool allows for any kind of facade to be used as input.
of different facades may have the same identifiers provided they have          Nonetheless, it is not the case that any facade has a valid configura-
different references. A given element will be part of the facade refer-        tion given the constraints in our model or given the user preferences.
enced by the field ‘ref’ regardless the ‘id’ value of the element.             For instance, literal (a) in Figure 4 does no have supporting areas
   Given that most users are used to excel sheets, we present an in-           in necessary places (no supporting areas at meter 15). Or perhaps,
put example using an excel table and show its corresponding JSON               a given facade has no possible configuration because there is not
translation. Table 2 presents a building with one facade, one window,          enough distance between frames and supporting areas which is the
one door, one zone out of configuration and three different support-           case of literal (b) in Figure 4. Lastly, a facade may not be configured
ing areas. Table 3 shows the corresponding translation into JSON.              with Calpinator because an ill definition of zones out of configura-
                                                                               tion, as presented in literal (c) of Figure 4: No supporting areas at the
          Table 2.   Building profile example using excel sheet.               top of the zone. As a workaround, the user should extend the zone
                                                                               out of configuration until the next horizontal supporting area. In the
                                                                               figure, the doted square shows the result of extending the zone.
        type         id     ref    x      z       width     height
        facade       fac1          0      0       18,95     10,64
        floor end    1      fac1   0,16   0       18,79     0,16
        cross wall   1      fac1   0      0       0,16      10,64
        crossing     1      fac1   0      0       0,16      0,16
        window       1      fac1   0,92   1,11    1,4       1,3
        door         1      fac1   9,69   0,16    0,8       2,25
        out          1      fac1   5,88   0       2         2



         Table 3. Building profile example using JSON format.


[
{’type’:’facade’, ’id’:fac1, ’ref’:’’, ’x’:0, ’z’:0,
                         ’width’:18.95,’height’:10.64},
{’type’:’floor end’,’id’:1,’ref’:’fac1’,’x’:0.16,’z’:0,
                          ’width’:18.79,’height’:0.16},                                       Figure 4. Three facades with no solution.
{’type’:’cross wall’,’id’:1,’ref’:’fac1’, ’x’:0, ’z’:0,
                          ’width’:0.16,’height’:10.64},
{’type’:’crossing’,’id’:1,’ref’:’fac1’, ’x’:0, ’z’:0,
                           ’width’:0.16,’height’:0.16},
{’type’:’window’,’id’:1,’ref’:’fac1’,’x’:0.92,’z’:1.11,
                             ’width’:1.4,’height’:1.3},
{’type’:’door’,’id’:1,’ref’:’fac1’, ’x’:9.69, ’z’:0.16,
                            ’width’:0.8,’height’:2.25},
{’type’:’out’,’id’:1, ’ref’:’fac1’, ’x’:5.88, ’z’:0,
]
                                  ’width’:2,’height’:2}                        4.4     Parameterization
                                                                               In its current state, our configurator is customizable in two ways. On
                                                                               the first hand, the user may choose an heuristic that defines a pref-
   Recall that this is the first version of the Calpinator tool and thus
                                                                               erence in the orientation of panels. On the other hand, the user may
the input data is limited to that used by the greedy-recursive algo-
                                                                               change the lower and/or upper bound for panel dimensions. As a con-
rithm. In consequence, important data as the y-coordinate (for a 3D
                                                                               sequence of such parameterization, the tool finds different solutions
model), facade adjacency and facade inclination have been currently
                                                                               for the same facade. Nevertheless, as the implemented algorithm is
left out of the configurator’s input. Forthcoming developments will
                                                                               deterministic, any given customization will result in the same config-
take into account these values but will have, necessarily, to be imple-
                                                                               uration for a given input.
mented with other versions or algorithms of that presented in Section
4.2.
                                                                               4.4.1    Orientation heuristic
4.3.2    Output
                                                                               When we talk about orientation we refer to relation between width
The output of a configuration is another JSON file containing the              and height which have an impact on the internal structure of the
information of each one of the panels. Additionally, the output con-           panel. In essence, if the width of the panel is bigger than its height,
tains all information concerning frames inside panels. In short, each          we consider the panel as horizontally oriented. Conversely, if the

                                                                           5
panel height is bigger than its width, we consider it as vertically ori-
ented. The user, for instance, may prefer to use horizontal panels in
its facade. Calpinator will try then to put each panel horizontally, i.e.,
wp ∈ [0.9, 13.5]∧hp ∈ [0.9, 3.5] (see the constraint Dimensions in
Section 3). If a given panel can not be placed in the preferred ori-
entation due to constraints conflicts, calpinator tries to place it using
                                                                                           (Initial State)            (State 1)                (State 2)
the other orientation. At the model level we consider the heuristic as
a soft constraint, i.e., it can be violated without causing failure. This
is why we do not include soft constraints in the core of our model.

4.4.2     Dimensions range
Recall that given the environmental aspects of the facades, the dimen-                       (State 3)                (State 4)                (State 5)
sions for panels may be reduced to a given interval. In addition, the
user may, optionally, further constrain the dimensions for all panels
in the facade according to its preferences. This is done by changing
the lower and upper bound of the panel dimensions. As expected, the
tool will respect the consistency between environmental constraints
and the user preference. For instance, if the environmental properties
constrain the width of a panel to be in the interval [0.9, 8] and the                        (State 6)                (State 7)                (State 8)
user preferred upper bound is 9.5, the tool will set the upper bound                              Figure 5. View of the configuration evolution.
in 8. This is due to the monotonic properties of CSPs. For this cus-
tomization the tool presents three options:
                                                                                        Next, a customization may be done by changing the panels di-
• Manually: The user may change either the lower bound, the upper                    mensions and choosing an heuristic as explained in Section 4.4. Af-
  bound or both values.                                                              terwards, selecting the solve entry in the menu bar, the tool will
• Random: The system chooses a random value for the upper                            try to find one feasible configuration for the facade in the current
  bound. This constraints only one dimensions, the width for hori-                   selected tab. For instance, Figure 5 presents a configuration solu-
  zontal orientation and the height for vertical orientation. Note that              tion for a facade with wf ac equals 12.59 meters and height equals
  the random strategy is applied for each panel in the facade. Thus,                 10.907. The customization for this facade is horizontal panels with
  it is likely that most of the panels have different dimensions. This               maximum width of 13.5 meters for each panel. Each of the states in
  is interesting because, on the one hand, each time the user runs                   the figure presents different views reached by making left click on
  the algorithm it will find a different configuration of panels. On                 the canvas of Calpinator. Additionally, if the user wants to go back
  the other hand, it is more likely that the algorithm finds a valid                 and see a partial configuration he may do so by using the right click
  configuration because it will try new values until exhaustion.                     on the canvas. Ultimately, the tool allows to save the configuration
• Square: Try square panels only, i.e., constraints the upper both of                solutions by choosing save in the menu bar. Note that only those
  vertical and horizontal orientation to be in the range of [0.9, 3.5]               solved facades will be saved in the output. Given that this is work in
   Keep in mind that a given facade may have no configuration solu-                  progress and that the greedy algorithm is a deterministic one, the tool
tion given its properties. Thus, constraining dimensions may reduce                  will only find one solution (if there exist) that satisfies the four condi-
the number of chances to find one feasible facade configuration.                     tions presented in Section 2.2. In consequence, the potentially many
                                                                                     solutions for the facade layout are not found by Calpinator and thus
                                                                                     no heuristic or criteria for choosing the best one is necessary. On-
5     USING CALPINATOR                                                               going investigation is looking into the possibility of finding different
In this section we present a brief description of how Calpinator works               solutions by combining the greedy approach and search trees.
in practice using some examples in real-world scenarios. As Calpina-
tor is implemented in Java, the user needs to count with an updated
version of the Java Virtual Machine. In addition, several dependen-                  5.1    Examples
cies are necessary in order to run the application. The libraries6 used              In this section we present some examples with different panel orien-
by the tool are Oracle Commons libraries (beanutils, collections, io,                tation and panel dimensions. The illustrated facades are part of the
lang and logging) and Maven libraries (ezmorph and json-lib).                        working site La Pince in the commune Saint Paul-lès-Dax in the de-
   After launching the application, the user opens a JSON file spec-                 partment of Landes, France. Each of the columns of Figure 6 presents
ifying a building profile with any number of facades and elements                    one facade of La Pince. The original facades, i.e., its frames, doors
(see Section 4.3.1). Then, all facades inside the building profiles                  and supporting areas, are presented in literals (1a) and (2a).
are shown in the application, each facade in one tab. For instance,                     Literals (1b) and (1c) in Figure 6, for the facade on the left, show
a building with two facades will be visualized as presented in the                   configurations thrown by Calpinator using horizontal panels, with 3
Initial State of Figure 5.                                                           meters as width upper bound for literal (1b) and 9.5 meters for literal
                                                                                     (1c). Next, in literal (1d) and (1e) we present the configurations of
6 For simplicity, these libraries are included in the distribution of Calpina-
                                                                                     the same facade using vertical orientation, with 6 meters as height
    tor. Recall that these libraries are free software but each may have its
    own License agreement. Calpinator is distributed under General Public
                                                                                     upper bound for literal (1d) and 13.5 meters for literal (1e).
    License version 3 and can be fount at https://bitbucket.org/                        Conversely, the right column of Figure 6 presents some configura-
    anfelbar/calpinageprototype/wiki/Home                                            tion configurations for the facade in literal (2a). The first two config-

                                                                                 6
                                                                             tools and industrial methods rather than artisanal ones.
                                                                                We presented in this paper a tool dedicated to the definition of lay-
                                                                             out configuration for building facades. The novelty of the tool lies on
                                                                             the implementation of a greedy-recursive algorithm that takes into
                                                                             account the many constraints inherited by facades in order to find
                                                                             a feasible configuration of panels. This work falls under the project
                                                                             CRIBA which aims to industrialize the renovation from the outside
                                                                             of buildings of residential housing in order to achieve an energy per-
               (1a)                                 (2a)                     formance close to 25kW h/m2 /year.
                                                                                We have presented our first problem of layout configuration de-
                                                                             scribing the specifics details related to the insulation of facades out-
                                                                             side. In a second step, we have brefly described the knowledge model
                                                                             supporting this configuration problem based on constraints. The set
                                                                             of constraints was formalized by CSP in [2]. These formalize both
                                                                             manufacturing constraints and transportation, but also constraints re-
                                                                             lating to the geometry and structure of building and the internal struc-
                                                                             ture of rectangular panels. The first version of the layout configura-
               (1b)                                 (2b)
                                                                             tion tool incorporating all of these constraints is then presented and
                                                                             illustrated on an example from the pilot project site. The solutions
                                                                             proposed by our algorithm are all consistent with the constraints of
                                                                             the layout problem.
                                                                                However, not the algorithm nor the tool take into account aesthet-
                                                                             ics preferences of users (e.g. architects’ preferences). To avoid the
                                                                             generation of non-compliant solutions, additional “business” knowl-
                                                                             edge should be added to the (constraint) knowledge model. They are
               (1c)                                 (2c)                     mainly related to the building after aesthetic renovation, such as an
                                                                             alignment constraint of connection joints between panels.


                                                                             6.1    Future work

                                                                             We acknowledge that our work is still in its infancy. Different efforts
                                                                             in crucial aspects will improve results in the model, algorithms and
               (1d)                                 (2d)                     the tool. On this regard, the following objectives are strategic direc-
                                                                             tions within the project.

                                                                             a. Implement the constraint-based algorithm introduced in [3] is a
                                                                                priority. The algorithm is conceived to throw all possible panel
                                                                                configurations for the facade. This goal includes finding a con-
                                                                                straint solver with appropriated filtering and search capabilities.
                                                                             b. Improve greedy-algorithm with pre-processing and post-
                                                                                processing capabilities. Intuitively, a human configuration takes
               (1e)                                 (2e)                        advantages of the facade dimensions and positions of frames
                                                                                to find a solution. Thus, it is adequated to add new constraints
         Figure 6. La Pince facade 1 (right) and facade 2 (left).               consequence of previous structural analysis of the facade.
                                                                             c. Add more variables, hence constraints, to the model and improve
                                                                                or create new algorithms. For instance, there exists a constraint
                                                                                for fasteners and panel’s edges distances which is important for
urations present an horizontal orientation of panels and width upper
                                                                                the panel’s stability. Also, there are some constraints over incli-
bound of 8 and 13.5 meters for literals (2b) and (2c), respectively.
                                                                                nation of the facade, or the building itself, and panels positions.
Finally, in literals (2d) and (2e) of Figure 6 we present the configu-
                                                                                These and other relations will increase both the detail and the
rations with vertical panels and height upper bound of 8 meters and
                                                                                complexity of the problem, but are mandatory steps for the indus-
13.5 meters, respectively.
                                                                                trialization of the renovation.
                                                                             d. Implement in Calpinator tool the weight constraint. The weight
6   CONCLUDING REMARKS                                                          constraint to be implemented involves a new constraint variable,
                                                                                faiload : Maximum weight load of fastener which is in the range
Controlling energy consumption in buildings is one of the major                 of [0, 500] kilograms. The constraint is is defined as follows.
challenges of the 21t h century. Reducing energy consumption in
buildings is now focused on the renovation of existing buildings. To            Weight Constraint A given fastener in a supporting area is
achieve renovation goals set by the French Government in 2009 and                defined by its coordinates and its maximum weight load.
2013, it is essential to assist massive renovation with technological            Let ATPi be the panels attached to the fastener fai and let

                                                                         7
      computeW eight(p) be a function7 that returns the weight of                      [3] A. F. Barco, E. Vareilles, M. Aldanondo, P. Gaborit, and M. Falcon,
                                                                                           ‘Constraint-based decision support system: Designing and manufactur-
      panel p. Constraint over panels weight is defined by
                                                                                           ing building facades’, in Join Conference on Mechanical, Design En-
                                                                                           gineering and Advanced Manufacturing. To appear. Springer-Verlag,
      |AT Pi |
        X                                                                                  (June 2014).
                 computeW eight(AT Pi [j]) ≤ f aiload                                  [4] Can A. Baykan and Mark S. Fox, ‘Artificial intelligence in engineering
        j=1
                                                                                           design (volume i)’, chapter WRIGHT: A Constraint Based Spatial Lay-
                                                                                           out System, 395–432, Academic Press Professional, Inc., San Diego,
                                                                                           CA, USA, (1992).
   This constraint is not implemented yet because we have not ex-
                                                                                       [5] The Energy Conservation Center, Energy Conservation Handbook, The
   tracted and validated knowledge on how to distribute the panel’s                        Energy Conservation Center, Japan, 2011.
   weight in the supporting areas. Up-to-now, we know that half of                     [6] P. Charman. Solving space planning problems using constraint technol-
   the panel’s weight have an impact on a supporting area if there                         ogy, 1993.
   is only one fastener interacting between the panel and the sup-                     [7] U.S. Green Building Council, New Construction Reference Guide,
                                                                                           2013.
   porting area. Otherwise all the panel’s weight will be supported                    [8] M. Falcon and F. Fontanili, ‘Process modelling of industrialized ther-
   in area. Figure 7 shows some examples of this knowledge.                                mal renovation of apartment buildings’, eWork and eBusiness in Archi-
                                                                                           tecture, Engineering and Construction, 363–368, (2010).
                                                                                       [9] U. Flemming, ‘Knowledge representation and acquisition in the LOOS
                                                                                           system’, Building and Environment, 25(3), 209 – 219, (1990).
                                                                                      [10] U. Flemming, C.A. Baykan, R.F. Coyne, and M.S. Fox, ‘Hierarchi-
                                                                                           cal generate-and-test vs constraint-directed search’, in Artificial Intel-
                                                                                           ligence in Design ’92, eds., J.S. Gero and Fay Sudweeks, 817–838,
                                                                                           Springer Netherlands, (1992).
                                                                                      [11] U. Flemming and R. Woodbury, ‘Software environment to support early
                                                                                           phases in building design (seed): Overview’, Journal of Architectural
                                                                                           Engineering, 1(4), 147–152, (1995).
                                                                                      [12] 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).
                                                                                      [13] Y. Juan, P. Gao, and J. Wang, ‘A hybrid decision support system for sus-
                                                                                           tainable office building renovation and energy performance improve-
                                                                                           ment’, Energy and Buildings, 42(3), 290 – 297, (2010).
                                                                                      [14] U. Junker, Configuration., Chapter 24 of Handbook of Constraint Pro-
                                                                                           gramming (Foundations of Artificial Intelligence). Elsevier Science
           Figure 7. Distribution of weight in supporting areas.                           Inc., New York, NY, USA, 2006.
                                                                                      [15] 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).
e. Finally, a big challenge is to model and implement the concur-                     [16] R. S. Liggett, ‘Automated facilities layout: past, present and future’,
   rent renovation of multiple-adjacent facades. This particular sce-                      Automation in Construction, 9(2), pp. 197 – 215, (2000).
   nario introduce different problems. Consider, for instance, a ver-                 [17] B. Medjdoub and B. Yannou, ‘Separating topology and geometry in
   tical supporting area at the right edge of a facade which is, in fact,                  space planning’, Computer-Aided Design, 32(1), 39 – 61, (2000).
                                                                                      [18] U. Montanari, ‘Networks of constraints: Fundamental properties and
   the first vertical supporting area in the next facade. A given con-                     applications to picture processing’, Information Sciences, 7(0), 95 –
   figuration has to take into account the weight in both facades over                     132, (1974).
   the same supporting area. Another issue is the angle between two                   [19] L. Pérez-Lombard, J. Ortiz, and C. Pout, ‘A review on buildings en-
   adjacent facades and its implications for the width of panels.                          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,
ACKNOWLEDGEMENTS                                                                           Applications, Integration, and Standardization. International work-
                                                                                           shop., Uppsala Sweden, (2013).
The authors wish to acknowledge the TBC Générateur d’Innovation                     [21] D. Sabin and R. Weigel, ‘Product configuration frameworks-a survey’,
company, the Millet and SyBois companies and all partners in the                           IEEE Intelligent Systems, 13(4), 42–49, (July 1998).
CRIBA project, for their contributions to the CSP model. Special                      [22] S Shikder, A Price, and M Mourshed, ‘Interactive constraint-based
thanks to the referees for their comments and to Philippe Chantry                          space layout planning’, W070-Special Track 18th CIB World Building
from École des Mines d’Albi for his contribution to the tool’s GUI                        Congress May 2010 Salford, United Kingdom, 112, (2010).
                                                                                      [23] E. Vareilles, A. F. Barco, M. Falcon, M. Aldanondo, and P. Gaborit,
and some graphics in the paper.                                                            ‘Configuration of high performance apartment buildings renovation: a
                                                                                           constraint based approach’, in Conference of Industrial Engineering
                                                                                           and Engineering Management (IEEM). IEEE., (2013).
REFERENCES                                                                            [24] E. Vareilles, C. Thuesen, M. Falcon, and M. Aldanondo, ‘Interactive
                                                                                           configuration of high performance renovation of apartment buildings
[1] Ö. Akin, B. Dave, and S. Pithavadian, ‘Heuristic generation of layouts                by the use of csp’, in 15th International Configuration Workshop, pp.
    (hegel): based on a paradigm for problem structuring’, Environment and                 pp. 29 – 34. CEUR Workshop Proceedings, (aug 2013).
    Planning B: Planning and Design, 19(1), pp. 33 – 59, (1992).                      [25] M. Zawidzki, K. Tateyama, and I. Nishikawa, ‘The constraints satis-
[2] A. F. Barco, E. Vareilles, M. Aldanondo, and P. Gaborit, ‘A recur-                     faction problem approach in the design of an architectural functional
    sive algorithm for building renovation in smart cities’, in 21st Interna-              layout’, Engineering Optimization, 43(9), pp. 943–966, (2011).
    tional Symposium on Methodologies for Intelligent Systems. To appear.
    Springer-Verlag, (June 2014).

7 This function uses the next values to calculate the weight of a panel: dimen-
  sions of the panel, insulation type of the panel, weight of the frames within
  the panel (if any) and weight of any other component (e.g. solar modules).


                                                                                  8