Evolving Complex Design Genes Using a Hierarchical Approach

Implementation Example — House Design Example

 

The following example takes the reader through a short implementation of the generation of house designs through a hierarchical composition of space units into rooms, rooms into zones and zones into a house.

THE INTERFACE

Three Tcl-Tk windows form the interface for the implementation. The LH-Top window, the Current Selections window, is for selections as they are made, the LH-Bottom window, the Graph Window, monitors the evolution process, showing both the evolution of the best solution and the population average. The large window, the Drawing Window, is for the display of the populations of houses, zones and houses. During the display of populations (apart from the initial randomly generated population), the solution with the best score to date is always shown as solution No 1.

EVOLUTIONARY PROCEDURES

Simple one-point crossover is used. Roulette wheel selection is used to determine which solutions are selected for mating. Once a child population is generated, a hybrid elitist strategy is used to select the next generation. Given a required population of n members, the best solution to date is always kept and the remaining n-1 solutions are selected from the 2n-1 solutions using roulette wheel selection. At present, clones are allowed.

GENERATION OF ZONES - LIVING ZONE

Initially a dialog window asks the user to select a zone from three possible zone types: Living Zone, Bedroom Zone or Utility Zone, Figure 1.

Figure 1. Selecting a Zone

Upon selecting the Living Zone, the user is asked to select a room from 6 possible room types: Living Room, Kitchen, Dining Room, Entrance, Hall or Study, Figure 2.

Figure 2. Selecting a Room in the Living Zone

Generation of Living Zone Rooms - Living Room