An algorithm for optimizing origami design based on Genetic Algorithm and Lang's Tree Theory