To produce a system that will work with input program by computing its components’ position, orientation, size and inter-relationships within an envelope (task domain), and thus to get the most suited/efficient combination for existing conditions.
This software (the program solver) is written based on the Emergent Behavior Algorithms / Evolutionary Algorithms. An idea that all these systems have in common is that they are concentrated on creating the rules for the behavior in general rather than programming the end result. This means that the result is unpredictable in most of the cases, but it always emerges out of the interaction between the components of the system and their personal properties Program Solver is a flexible class library (written in VB.NET) written for the purpose of being able solve program arrangement in a building based on client demands and referenced environmental data.
In a few words, this is a GH definition is useful when you have an initial building envelope and a rather detailed program developed with environmental/area requirements per each program component (say, you know the area that it needs to occupy, should it be in a noisy part of a building or not, how much solar access you need for this space, wind-wise etc). Then you run several analyses for this envelope outside of GH (like ECOTECT, Wind/CFD software etc) and reference these spreadsheets in the GH document. Then you set up your requirements for each program components. Then you run the solver and it starts computing a bunch of appropriate solutions for your requirements and gives you the diagnostics (how much it suites in percentage your “perfect” setting scenario) – then voila – you have a number of solutions with diagnostics for each so you can go ahead and discuss on the one that you will proceed with…