This website showcases an algorithm to lay out furniture in a given bedroom, as per the requirements set out in the London Housing Design Guide.
Compliance with residential building regulations is a frequent barrier to design. Valuable time is spent measuring clearances and distances, ensuring conformity with multiple conflicting criteria. At the same time, layouts must be flexible, comfortable, efficient and easy to build.
All these factors are very important, but repetitive, painstaking work. Crucially, however, the task is entirely quantifiable; the rules are objective, and a bedroom is either compliant or it isn't. This means the task can be performed by a computer, which is what is represented above.
The grid above represents 60'000, 12m² rectangular and L-shaped bedrooms, with the door and radiator at varying positions. The colour of each pixel represents the handing of the door, and its brightness is the "goodness" of the layout. Bright pixels are compliant, and black pixels have no possible solution. This reveals two facts:
Having done this exercise, how can it be applied to day-to-day design work? What does housing look like, when layouts can stay flexible for longer during the design stages? And how do buildings change, when the cost of drawing changes is null, and it is no more difficult to design three typical units, than forty-five? Is it the end of the design freeze and the typical floorplan?
The graph represents 60'000 furniture configurations in a given 12m², L-shaped bedroom. It is a landscape of five-dimensional points, where each dimension represents a variable in defining a bedroom. Each cluster of three RGB points represents one of the dimensions - the handing of the door - while traversing the graph represents moving in the other four; the X and Y positions of the L-shape, and the door and radiator positions around the perimeter of the room.
The generation of this dataset is broken into three parts.
Firstly, the furniture packer loops through a large number of furniture configurations for each point in the space, discarding those which are blatantly wrong (ie. intersecting furniture, collisions with door swings, etc), and keeping a tree of possible bedroom configurations.
Following from that, the evaluation algorithm gives each configuration a score, based on the London Housing Design Guide. Failing scores are based on how badly the layout breaches regulations, and positive scores are based on how flexible the layout is to a variety of compliant configurations. A passing grade is awarded to layouts with one valid configuration. The best-scoring layouts are kept, and in the end, a large sample size of the space is generated, with a "best possible layout" for each point.
The third step is the graphical representation above. The four-dimensional space is collapsed into two, using a self-organising Kohonen map, for the purpose of representing it on the screen. Each node is given a colour based on the door handing, and a brightness based on the evaluation function's score.
The result is a 2D graph representing the solution landscape to the London Housing Design Guide. In particular, it shows how few peaks there are.