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 (aka Random) Local Search and then filtering results to desired maximum, minimum, or median values.

  • Linear, Integer, or Quadratic programming

Some of these techniques are quite basic and easy to implement (see Optioneering section), others are far more sophisticated. Choosing the right technique for your application is a tricky question 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.