How has a stack of
blocks to be arranged in order to maximize its overhang over a table edge while being stable? This question can be seen as an example application for applied statics and at the same time leads to a challenging optimization problem that was discussed recently in two theoretical studies.
Here, we address this problem by designing an evolutionary algorithm; the proposed method is applied to two instances of the block stacking problem, maximizing the overhang for 20 and 50 block stacks. The study demonstrates that the stacking problem is worthwhile to be investigated in the context of randomized search algorithms: it represents an abstract, but still demanding instance of many real-world applications. Furthermore, the proposed algorithm may become useful in empirically testing the tightness of theoretical upper bounds proposed for this problem.