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.