“…A variety of different numerical techniques can be applied. These include the "traditional" direct search and gradient methods [5,6,7,8], as well as adaptive computing methods such as genetic algorithms [9,10,11,12,13], and methods based around constraint programming [14].…”