=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==
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