Other Techniques

There are many techniques that can be used to tackle a Computational Design problem.

In addition to the genetic algorithm, other examples include:

  • solving with pen and paper

  • manual guess and check

  • set packing or partitioning algorithms

  • gradient descent

  • stochastic (or, random) local search and filtering results to find a desired maximum, minimum, or median values.

  • linear, integer, or quadratic programming

Some of these techniques are quite basic and easy to implement (see the 'Optioneering section'); others are far more sophisticated. Choosing the right technique for your application is tricky and much more of an art than a science. Often, it comes down to the precise design question you are tackling and your familiarity with a given technique.