 Perfect. Thank you for joining me. All right, thank you. I decided to entitle this presentation Lighting Design by Genetic Evolution, although a more appropriate title would be this one, Multi-Objective Genetic Algorithm for Interior Lighting Design Optimization. Don't be afraid, it sounds much more complicated than it actually is. All the concepts I'm going to talk about are very straightforward, easy to understand, and no math is involved. So, let's go step by step and start with the concept of interior lighting design. So, the purpose of this project is the automatic realization of a satisfactory lighting system for a given interior environment, be it a room, a building, or even an entire building. Therefore, in this case, the design of interior lighting has nothing to do with the artistic tricks or tricks to be used to improve lights in the renders. This is the case of an architect that has to select lighting equipment and their placement inside a given interior environment that results in a pleasant visual experience. The design process should take into account several aspects, like, for example, the type of occupants and their activities in the interior environment. Okay. Interior lighting design can be seen as an optimization problem that involves more than one objective. The optimal lighting configuration is the result of the best trade-off between multiple conflicting criteria, such as the lighting quality, the energy cost, and so on. For a non-trivial multi-objective optimization problem, no single solution exists that simultaneously optimizes each objective. Instead, there is a set of pareto-optimal solutions. Pareto-optimal solution or dominated solution is that when none of the objective functions can be improved without degrading at the same time some of the other objective functions. For example, in our case, a non-dominated solution is impossible to improve the quality of the lighting without at the same time increasing the energy consumed. Okay. In order to solve this kind of optimization problem, I applied a method called genetic algorithm that belongs to the larger class of natural computation in artificial intelligence. Genetic algorithms have nothing to do with actual genetics or biology. They are just computational techniques that use mechanisms inspired by biological evolution, such as reproduction, mutation, selection, and so on. Another example of natural computing techniques are particles form optimization based on the behavior of animal floccings, like birds and fishes, or ant colony optimization based on the behavior of ants singing a part between the nest and the source of food. Okay. Now, I'm going to describe in broad terms how a genetic algorithm works. So, as I said, there isn't a single best solution to the optimization problem, but there is a set of best optimal solutions. That's why the genetic algorithm works with a population of candidate solutions. Each individual of this population is a feasible solution to the optimization problem. In our case, it's a possible lighting configuration for the given interior environment. Each solution is uniquely represented by a chromosome. In our case, a feasible solution is composed of a set of lump objects. And each lump is described by a set of its features, like the location in the space, the light intensity, the energy efficiency, and the model of light fixture. So, the algorithm execution is called evolution, and it is an iterative process. Each iteration is called a generation and can be roughly divided into four steps. So, the first step of a generation is the selection of mating pool. A portion of the existing population is selected to breed a new generation. The selection process ensures that only the fitter solution has a higher chance to be selected to survive and reproduce. Here we walk into the natural selection metaphor. Individuals, best adapt to the environment are more likely to survive. The next steps is to generate from the mating pool a new population of solutions. It is done by applying two different genetic operators. The first one is the crossover. A pair of parent solutions is selected from the mating pool. And a couple of new child solutions is generated by mixing the chromosomes of the parents. The process selects a cutting point in the parent's chromosomes. All the data beyond that point are swapped between the parents, rendering the new child solutions. In this way, each new solution shares the information of both of his parents. The second genetic operator is the mutation. As in real biological reproduction, a random alteration occurs during the combination of the genetic material of the parents. So, one of more gene values in a chromosome changes from its initial value according to a mutation probability. This process is fundamental to maintain the genetic diversity from one generation to the other. In our specific case, a mutation can add or remove one or more lamp from a solution, or can modify the location and the intensity of one of the lamps. At this point, we have two groups of individuals, the initial population of the generation and the offspring. The final step of the generation is the selection of the best individuals among the unions of these two groups. The result is the new population of the next generation. Generally, the average fitness value of the population will have increased generation by generation. Usually, the evolutionary cycles stop iterating when the maximum number of generation has been produced. I said before, the goodness of a solution is measured by its fitness values. Fitter individuals have a higher chance to survive. But what does it mean in our case? I decided to evaluate how a lighting system is, how good is a lighting system? They find two groups of fitness functions. The first group on the one end, we have the pleasantness of the lighting system that is the compliance to a target level of light intensity together with the uniformity of the overall illumination. On the other hand, I consider the sustainability of the lighting system. It is the amount of electrical power consumption together with the initial installation cost of the electrical wiring. During the implementation of the software, a few difficulties have arisen concerning the representation and the evaluation of the solutions inside Blender. First of all, in order to evaluate the pleasantness of a solution, we need a way to sample to measure the light amount reaching a point. In order to do that, I created some simple structures called samplers that are composed by a simple plain mesh with pure white matte material observed by a camera on top. In this way, when I perform the rendering and storing the result in an HDR file format, the image pixels will contain the information on the illumination level for that point in the environment. Secondly, in order to apply this tool to a real-world problem, the lamps illuminating the environment have to represent some real light fixture, actual commercial light fixture. That's why light sources are generated from IS photometric files provided by the manufacturers. Since Blender still doesn't fully support IS lamps yet, I used the add-on created by Locom. And lastly, in the design process, there are some constraints on the lamp placement. For example, there might be some areas where the lamp placement is not allowed, for example, in places corresponding to windows, doors, pillars, and so on. That's why I decided to place lamps only on a discrete grid of points over the walls and the ceiling using vertex groups. Of course, there is space for improvements on any of these solutions. Any suggestions? Very welcome. Okay, enough with the theory. Let's go to see the results. Okay, this is a visual example of the crossover operator. Here you can see the same room, the same top view of a room illuminated by two different solutions, two different not-so-good solutions, A and B. In black, there are marked lamps and the electrical wiring connecting all the lamps. And the colors represent a contour map representing the distribution of illumination levels, where dark blue corresponds to darkness and green is fully illuminated. So, as I described before, the crossover operator selects a cutting point in both the solutions. So, each parent now has two subsets of lamps. So, the process swaps all the data beyond the crossover point from one parent to the other, rendering two new child solutions. The main advantage of this process is that this solution now on the left is better than both of its parents. That's because it has inherited the best portion from each of these parents. Okay, this is an animation of a simple evolution example with 10 generations. What you are seeing here is not the same solution evolving through the generation, but each time is one of the best solutions among the population of the current generation. Okay. Okay, I evaluated empirically the optimization algorithm on two case studies. The first one is an art color environment of steam temporary exhibitions. The architecture of this room is characterized by a wide open space with high ceilings, and there are two supporting columns, a temporary wall board for hanging painting, and several ground stands for sculpture exhibitions. This is a top view showing how the sampler structure are placed in the environment to evaluate the illumination levels. And this is one of the best solutions generated by the algorithm. And these are two internal renderings of the environment illuminated by that solution. Now you can see the environment is not very detailed, but the main purpose of this rendering is to graphically evaluate, graphically appreciate the quality of the solution. The second case study is an open space office, a typically open space office, is composed by a reception area connected to the long narrow hallway leading to the main office space. There is also a separated lounge room for meetings or something like that. The architecture of the room is complicated by this wall made entirely of windows. Again, this is the distribution of the sampler structure. There are 12 sampler structures in this case. And again, this is one of the best solutions obtained at the end of the evolution of the algorithm. And these are two of the interior renderings showing the same solution. Again, keep in mind that this solution is optimizing at the same time the pleasantness of the lighting system and also the sustainability. Okay. So to sum up, now you all know what is a multi-objective optimization problem, how a genetic algorithm works, and how this technique can be applied to the design of interior lighting. The software you proposed is implemented in Python and integrates the blender API with a genetic algorithm written always in Python with this framework called DAAP. This tool can be applied to interior environment of arbitrary complexity with minimum effort from the user. And thanks to the generality of our approach, other requirements beside the pleasantness and the sustainability can be added by the user like, for example, at the side distribution of color spectra or even grading of evidence. Okay. That's all. Thank you very much. Hope you enjoyed.