An Evolver program for weighted Steiner trees
Henrique Botelho, Francisco Zampirolli, Valério Ramos Batista
aa r X i v : . [ c s . C G ] A ug An Evolver program for weighted Steiner trees
Henrique Botelho, Francisco Zampirolli, Val´erio Ramos Batista Abstract
We present an algorithm to find near-optimal weighted Steinerminimal trees in the plane. The algorithm is implemented in Evolverprogramming language, which already contains many built-in energyminimisation routines. Some are invoked in the program, which enableit to consist of only 183 lines of source code. Our algorithm reproducesthe physical experiment of a soap film detaching from connected pinstowards a stable configuration. In the non-weighted case comparisonswith GeoSteiner are drawn for terminals that form a pattern.
Keywords : Weighted Steiner Minimal Trees; Surface Evolver.
MSC[2010]:
It is hard to track back the history involving lab experiments and theoreticalknowledge. Regarding soap films the first documented results are due to thephysicist J. Plateau in the 19th century [1]. Among others he worked withwire structures dipped in soapy water and described the resulting films asarea-minimising surfaces, which characterises local equilibrium states.Many of such equilibrium states are found in Nature. For instance, in [2]the authors show the importance of these surfaces in crystallography, and astill incomplete geometrical classification of crystal structures was later givenin [3]. See a further contribution to this classification in [4].Also there are theories of Steiner trees that arose from soap film experi-ments. Take two parallel plates connected by pins and dip them into soapywater. The resulting film adjusts to an equilibrium state constituted by stripsthat together connect all of the pins. When looked from above and perpen-dicularly to the plates, the film represents a graph whose edges and verticesare the strips and their meetings, respectively. Email: [email protected], https://sites.google.com/site/vramos1970 ,Federal University of ABC, av. dos Estados 5001, St Andr´e-SP, 09210-580, Brazil relatively minimal tree , and also a
Steiner tree providing the pins havenegligible thickness. It is known that such a tree is an equilibrium state andtherefore a local minimum of total length. See [6] for nice discussion andpictures, three of which are reproduced in Fig. 1.Figure 1: Soap Steiner trees of length L for types (a) hexagon; (b) cog; (c)zigzag [6, Fig.2].Of course, it is not always feasible to resort to lab experiments. Forarbitrary number and position of pins one would have to spend hours ineach case just to observe the resulting Steiner trees. Physical experimentsin virtual environment are therefore much easier to perform, and this is oneof the objectives of our present paper. Here we consider ideal pins of zerothickness but treat other particularities. For instance, when the plates aredipped the configuration of the film will depend on the manner in whichthey are removed from the soapy water, and later we shall explain how tocustomise this procedure with our program.In our setting the pins belong to the vertices of a tree T = ( V, E ), andeach edge works as a film strip. However, for any given V our program also2eeks the weighted Steiner minimal T as defined in [7, Sect.2]. There theauthors prove that any such T is a Steiner tree, which only coincides withthe Steiner minimal tree in very special cases (for instance, when all weightsare equal).Now we are going to use the abbreviations summarised in Table 1 for thesake of concision: Table 1: List of abbreviations Name Initials
Steiner Tree STMinimal Spanning Tree MSTSteiner Minimal Tree SMTWeighted Minimal Spanning Tree WMSTWeighted Steiner Minimal Tree WSMTOur program runs with the
Surface Evolver [8], which is a general-purposesimulator. With Evolver physical experiments can be performed in a com-pletely virtual environment, and one can easily add complexity to the model,or even adapt it for further developments. Firstly introduced in 1989, nowEvolver’s most recent version is 2.70 [8] with several applications in manyAreas of Knowledge like Aerodynamics [9], Fluid Dynamics [10, 11, 12] andMedicine [13]. Furthermore, Evolver is endowed with several built-in energyminimisation routines which enable saving a lot of programming by just in-voking them. Hence we were able to implement our program with only 183lines of source code. This makes both adaptation and maintenance mucheasier, as we shall explain in the last section.This work is organised as follows: Sect. 2 gives some basic notations,definitions and results used throughout the paper. Sect. 3 shows quite sim-ple examples that are however essential to understand our strategies. Ofcourse, any heuristic has limitations and ours are discussed in Sect. 4. ThenSect. 5 is devoted to explaining our method, which in fact consists not onlyof the Evolver script but also includes a short graphical input and a prepro-cessing written in MATLAB/Octave. Finally we show our results and drawconclusions in Sects. 6 and 7, respectively.3
Preliminaries
Definition 1.
Consider a graph G = ( V, E ) in R with a weight function w : V → R ∗ + and 0-1 adjacency matrix a jk . The weighted total length of G is || G || = X j 6∈ { A, B, C } , and this processcan be repeated at most ♯V − § Definition 2. Let G = T be a tree in Definition 1 with ||T || as a globalminimum. Namely, there is no other graph connecting its vertices that canreduce ||T || . In this case we say that T is a WSMT.Notice that we could have S ∈ { A, B, C } as shown in Fig. 2, in whichcase S is called inherent Steiner point. B DCA B DCA Figure 2: Detachment from an initial configuration by sliding to inherent B and C .As explained in the Introduction our simulation reproduces the physicalexperiment of getting a soap film after dipping two parallel plates connectedby pins in soapy water. Immediately after the plates are taken out the filmdetaches from an initial configuration in which the pins behave as the verticesof a plane graph G = ( V, E ), and each edge works as a film strip connecting4wo pins. The detachment from this initial configuration will result in anotherplane graph G ′ = ( V ′ , E ′ ) where V ′ ⊃ V and the elements of V ′ \ V are called(non-inherent) Steiner points. Notice that one might flick some strips for G ′ to become a tree.Detachment is due to a physical phenomenon called Marangoni effect .The forces at a vertex are each parallel to its corresponding incident edge.The intensity of such a force does not depend on the edge length, and there-fore we can study the local behaviour at a pin by truncating all of its incidentstrips to the same length (see Fig. 3(a)). We refer the reader to [14] for moredetails about the Marangoni effect.Hence G ′ corresponds to a local minimum of surface tension , which isdirectly proportional to | G ′ | . The following proposition gives the geometricalequivalence of this physical fact (see Fig. 3(b) for an illustration): v η r αα t η x rO=v (a) (b)Figure 3: Initial configuration (a) 3d view; (b) view from above. Proposition 1. Let G = ( V, E ) be a plane tree T and take v ∈ V such thatdeg ( v ) > . Hence |T | can be reduced if and only if v has two adjacent edgesthat make an angle less than ◦ .Proof. Place a Euclidean coordinate system with origin O = v and Ox thebisector of the two adjacent edges. Up to re-scaling the shortest edge mea-sures 1 and it makes an angle α with Ox . Fig. 3(b) shows that the initiallength 2 turns out to be f ( t ) = t + 2 x , where 0 < t < cos α . By the law ofcosines we compute f ′ as f ( t ) = t + 2(1 + t − t cos α ) = ⇒ f ′ ( t ) = 1 + 2( t − cos α )(1 + t − t cos α ) . f ′ (0) = 1 − α < ⇐⇒ α < ◦ . Notice that f ′ (0) is positivefor α > ◦ . Since f ′′ (0) > f is also increasing for α = 60 ◦ .If | G | > | G ′ | then this local minimum G ′ is the nearest to G . We get thefollowing result: Corollary 1. The soap film starts detaching from the most acute angles ofeach v ∈ V , all less than ◦ .Proof. In the demonstration of Proposition 1 we saw that f ′ (0) = 1 − α ,hence the smaller α the faster | G | decreases to | G ′ | .As we have mentioned at the Introduction the detachment of a soap film G from pins is a physical phenomenon that can be performed in a completelyvirtual environment, and we chose the Surface Evolver for this purpose. Ofcourse, our program considers not only Corollary 1 but also further resultsthat we shall present in the next sections.Because of Proposition 1 up to flicking the odd small film strip of G ′ one gets an ST that we call T . Even if T is not an SMT a suitable weightfunction in Definition 2 will turn it into a WSMT. Conversely, any WSMTin the metric (1) is an ST (see [7] for details).Given a set of terminals V = { V , · · · , V n } and w : V → R ∗ + , in order tofind a WSMT that minimises (1) we resort to the following strategy: firstcompute the WMST of V by an adaptation of Prim’s algorithm and get aninitial tree P , then use Evolver to add and detach vertices from P accordingto Proposition 1. As we shall see in the next section this heuristic leadsto a T that will not always be a WSMT. However, if the Gilbert-Pollakconjecture were also valid for weighted trees then a WSMT could be at most1 − √ / ∼ = 13 . 4% shorter than the WMST, for any set V , and then ourheuristic would still give a tree close to the true WSMT in total length.But we shall see in Sects. 5 and 6 that the Steiner ratio √ / Background Let C denote the standard complex plane R × i R with real and imaginaryaxes as vertical and horizontal, respectively. The points ± i √ G is generatedby reflection in i R and 120 ◦ -rotation around i/ √ 3. For s ∈ (0 , / 2) considerthe group orbit G (1 − s ). This orbit has six points indicated with bullets inany item of Fig. 4.Let us start with s < − √ 3, for instance s = 1 / 8. Now enumeratethe elements of G (1 − s ) as V k , 1 ≤ k ≤ 6, so that Fig. 4(a) shows theircorresponding MST with V = 1 − s counterclockwise. We call it P but forthis set of terminals it is Fig. 4(b) that depicts their SMT, which we call Q .Their total lengths are 4 − s and 2 √ 3, respectively. Hence P and Q areboth SMTs for s = 2 − √ 3, illustrated in Figs. 4(c,d). Now P remains theSMT until P ∪ V V becomes a regular hexagon at s = 1 / 3. For s > / √ 3. For s > √ P \ V V ) ∪ V V , whosetotal length is 6 − s but just before Q collapses at s = 1 / A , B , C , D of a rectangle R where AB = CD = 2 and BC = ℓ , √ < ℓ ≤ 2. The weight function isgiven by w ( A ) = w ( D ) = ω ≥ w ( B ) = w ( C ) = 1.Since ℓ > / R \ AD , though either R \ AB or R \ CD stand for the MST. Hence the soap film detaches from R \ AD , as depicted inFig. 5(b). But in our setting w ( S ) = w ( S ) = 1, and therefore it is Fig. 5(c)that shows the WSMT, which is also the SMT.Of course, the soap film in Fig. 5(b) will change to the one in Fig. 5(c)if we softly blow in the direction of S S . Our algorithm considers theseschanges under the following: Assumption 1. Let T = ( V ′ , E ′ ) be the detachment from G = ( V, E ) , inwhich there exists S , S ∈ V ′ \ V , S S ∈ E ′ with S S P S j < √ − for at leastthree segments P S j ∈ E ′ , j = 1 , . Then T is not the WSMT and so itstopology must be changed in order to reduce ||T || . The upper bound √ − P (left) and Q (right) for increasing values of s .between Result [5, § T will cease to be an SMT inFig. 4(d) for s & − √ S S P S j ≥ s = − √ .Evolver seeks for minimisation, hence as a first step we are going to have8 S S S AB DC A DCBCDSS AB (a) (b) (c)Figure 5: STs for (a) ℓ = 2; (b) ℓ & √ with initial topology; (c) same ℓ withanother topology. S = S in Fig. 5(b) for any ℓ ≤ √ . But the case S S = 0 is comprised byAssumption 1 and therefore we do not need to implement changes of topologyby collision of Steiner points separately.In Assumption 1 we stated “at least three segments” because of the fol-lowing example: suppose A were much closer to S in Fig. 5(b) so that S S AS ≥ √ − S against S will make this latter collide with A , and the new topology is depictedin Fig. 6(a). According to our convention w ( A ) will take the same value as w ( S ), and therefore we reduce ||T || . S CBB CD DAAS B DC=A B DA C (a) (b) (c) (d)Figure 6: Towards the WSMT with (a) script-intervention; (b) g -automatic;(c,d) without intervention.This would not work if we had stated “at least two segments”, as illus-trated in Fig. 6(b). There the segment S S is tilted clockwise by an imper-ceptible angle of 1 . ◦ , which Evolver automatically does with its g -command(see [8] for details). A possible improvement in Assumption 1 could be about9he position of these two segments: take ℓ = δ + 2 / √ A , D sufficientlyclose to S , S and δ ∼ = 0. Then Figs. 6(c,d) depict the WMST in dottedline, so that ||T || can be reduced by the same “blowing” if we use the givenweights. However, with ω = 7 consider that w ( B ) and w ( C ) change to 8and 6, respectively. Then first S detaches with weight 7, then afterwards S with weight 6. In this case Fig. 6(d) still leads to a reduction in ||T || butnot as expressive as for w ( S ) = w ( S ) = 6.Namely, the sequence of detachment should be swapped, which in practicechanges the way the plates are taken out from the soapy water. However,it is pointless to strengthen Assumption 1 since we have no formal proof ofits formulation yet. Therefore, in this present version we have decided toskip this improvement, which searches for a WSMT, and content ourselveswith reproducing the physical experiment with less intervention of blowingto reduce the total length of the soap film.The next two sections explain that we always work with plane graphs.The reader could be curious about the algorithm giving a WSMT with in-tersections, so that they should be further treated. For instance, supposewe could attribute weights to the bullets in Fig. 7 such that the resultingWMST is marked there in black with the detachments in blue.Figure 7: Two mirrored equilateral triangles with resizing and slightly apart.However, according to our tests apparently there is no function w : V → R ∗ + in Definition 1 that produces a WMST as in Fig. 7. Furthermore, inSect. 6 we discuss several tests with our algorithm, for arbitrary randomnumber and position of vertices with random w , and curiously no intersec-tions ever occur to the heuristic WSMT. Therefore we consider: Assumption 2. The heuristic WSMT obtained through our method is always lane. Both Assumptions 1 and 2 still lack a formal proof, though they havealways shown to be true in our simulations. Our algorithm aims at reproducing a physical experiment and also direct it inorder to find the WSMT for certain weights attributed to a set of vertices. InSect. 5 we shall explain how the user can enter points according to a sequencethat will determine the way the plates are removed from the soap solution.This can also be defined by weights but one can give priority to finding theWSMT, which is the main purpose of our algorithm. The sought after soapfilm with the same configuration will in general need some intervention asexplained in Sects. 2 and 3.There we saw that P ∪ V V is a regular hexagon for s = 1 / 3, and P is also the SMT with |P| = 10 / 3. Small variations in V can drasticallychange the topology of the SMT. For instance, if V is rotated inwards by10 ◦ we get P and Q as depicted in Figs. 8(a,b), respectively. There we have |P| ∼ = 3 . 325 and |Q| ∼ = 3 . P is still the SMT. Our method isbased on detachment of Steiner points from an initial configuration, and inthis example we see that it works. But here of course the heuristic fails for s ∼ = 0. (a) (b)Figure 8: ST after rotating V inwards by 10 ◦ at s = 1 / P and (b) Q . 11nother limitation is that our algorithm is sequential, whereas slidingsand detachments as in Figs. 2 and 3(b) all occur simultaneously, and alsotogether with the action of taking out the plates from the soapy water. Inparticular, when this is done two film strips never cross at any moment.Our program uses a preprocessing that gives a plane WMST, while thereal WMST does allow crossings as we shall see in Sect.5. By turning suchcrossings into Steiner points the resulting heuristical WSMT would surely beshorter than the one obtained from the plane WMST. But according to ouranalysis the cost of implementing this approach is too high for little benefit,even if considering that the Gilbert-Pollak conjecture does not hold for theweighted case. Now we explain our method with an example. The first part consists in giv-ing a set of points with coordinates ( x, y ) inside the square [0 , , and eachwill have an integer weight w ∈ [1 , wmst at the prompt and you will get the message Please adjust terminal window to show full picture.Give a filename to open or press Enter to choose points. A graphical window appears by pressing the Enter key, and wherever youhover the mouse cursor a coordinate pair ( x, y ) can be marked by hittingany character key. The corresponding weight is given by its ASCII number minus 48. Then the character keys to really mean these numbers asweights, whereas other keys will give weights up to 77 (for the character } ). Either mouse button or characters under w = 1, and non-integer weights must be edited in datafile. Namely, you cansave your weighted points and change them manually afterwards. Please see https://theasciicode.com.ar for the ASCII numbers.The Enter key terminates your graphical input and readily gives the planeWMST, though the actual tree is in general non-embedded. Fig 9(a) showsthe set of terminals in sample.txt , which you can also input to our program(without the extension txt ). The total weighted length is 5199 . P , the plane WMST, by allowing a greater connection cost. Namely,our adaptation of Prim’s algorithm looks for edges of lowest cost that donot intersect the already existing ones. In our example Fig. 9(b) shows P with ||P|| = 5498 . |P| = 589 . w ≡ (a) (b)Figure 9: Terminal points and (a) the non-embedded WMST; (b) the planeWMST.The Octave program wmst will store the plane WMST in the Evolver file st.fe , and now we must invoke it at the shell prompt by typing evolverh , where h stands for heuristic . Its first step is depicted in Fig 9(b), andfrom that point on each vertex B with acutest angle A b BC is checked to seewhether max { B b CA, C b AB } ≥ ◦ . If so, then either A or C is an intrinsicSteiner point, and the red side is replaced with the missing edge of ∆ ABC .This process is repeated until exhausting the number of intrinsic Steinerpoints. Figs. 10(a,b) show the first and last iterations, respectively.13a) (b)Figure 10: Sliding process at (a) the beginning; (b) the conclusion.In this example the sliding has not started from the most acute angle inFig. 9(b). As explained in Sect. 4 the soap film configuration will alwaysdepend on the way the plates are removed from the soapy water. Actuallyvertices are checked in the order they were entered by the user.The next step is to detach Steiner points according to Sect. 2. In practicethis happens simultaneously with the sliding process but our approach issequential. Fig. 11(a) show the first iteration of detachment, and there weleft the replaced edges in cyan for visualisation. The last iteration is shownin Fig. 11(b), where we marked in red the segments S S ∈ E ′ to see whetherthey satisfy the hypothesis of Assumption 1. Finally in Fig. 12 we see thelast steps to get the soap film.Fig. 12(b) shows T , our heuristic WSMT, in black and also P in cyan forcomparisons. The program gives ||T || = 3065 . |T | = 406 . 6, with ratios ||T || / ||P|| = 0 . 56 and |T | / |P| = 0 . 69, namely both below √ / ◦ . Namely, in an ideal ST adjacentedges must always make an angle of at least 120 ◦ but the closer we want toapproach it the longer becomes the computational time. Fig. 13(a) showsthat there is little change when we set the tolerance to 1.1% but now ||T || jumps to 3775.8 (all other values remain the same).The reason for this jump is explained by the blue segments in Fig. 13(a)and part of Fig. 9(a) zoomed in Fig. 13(b). One of the Steiner points inFig. 12(b) now collided with a terminal that weighs 59, hence what was a14a) (b)Figure 11: Detachment from Steiner points at (a) the beginning; (b) theconclusion. (a) (b)Figure 12: The soap film (a) after applying Assumption 1; (b) comparedwith the WMST.local weighted connection of approximately 14 . / . / . / . / . 25. Their difference of679.25 is 95.7% the actual rise of 710.2 in ||T || (do not forget that nearbysegments also changed and one Steiner point collapsed to a terminal). Noticethat this rise is a significant 23.2%.The next section is devoted to some tests and comparisons performedwith our algorithm. 15a) (b)Figure 13: (a) 120 ◦ angles now with 1.1% error margin; (b) zoomed detail ofthe initial WMST. As already explained in Sect. 5 our preprocessing with MATLAB/Octaveobtains the plane WMST for a given set of vertices, and we gave an examplein Fig. 9. Indeed, if we improve our heuristic by working with the actualWMST this will increase the complexity of the algorithm for very little gain.But Sect. 3 shows an example for which intersections could happen in theheuristic WSMT, so that a postprocessing would then be necessary. How-ever, in Computational Geometry we can perform tests in order to introduceassumptions under which the algorithm is implemented. This is very impor-tant because otherwise we take the risk of elaborating additional source codein vain.As commented on Fig. 7 our tests have never shown a WMST as depictedthere, and some of the outputs are shown in Fig. 14.That is why we introduced Assumption 2, which one fine day will beeither proved or disproved, and in this last case we shall complete what ismissing in the algorithm. If the reader is willing to check some outputs ofthe preprocessing that generated Fig. 14, here is the code in Fig. 15. Noticethat its actual algorithm has only 15 lines, whereas the rest just standsfor initialisation and formatting. Several pictures, say 12, come by simplyentering the command for count=1:12 test;end at the prompt.Of course, we shall be grateful to whoever forwards us some clue about16igure 14: Six of the several tests on WMST with the vertices in Fig. 7.Figure 15: Algorithm for test on the WMSTs of the seven vertices in Fig. 7.either Assumption 2 or 1, which was also submitted to tests but here we shallomit them for the sake of concision.Now we draw some comparisons with GeoSteiner [15], which dates backfrom 1997 and had its most recent version 5.1 launched in 2017. To the bestof our knowledge GeoSteiner is the only exact and open-source algorithm tofind non-weighted Steiner minimal trees. At the reader can download its C-code, instructions and manual. However,17t heavily uses Linear Programming methods and they are known to be fastonly for random distributions. For instance, poor convergence of the SimplexMethod is given by the classical Klee-Minty cube [16, 17]. That is whyGeoSteiner will converge very slowly if ♯V ∼ = 40 with elements that form apattern.For tests our platform is 7GB of RAM, 960G of HD, microprocessor IntelCore i5 2.5GHz, and operating system Linux Ubuntu 16.04. With this settingGeoSteiner takes 68.84s to generate Fig. 16(a). By choosing adequate weightsfor P as shown in Fig. 16(b) we get T , the heuristic WSMT in 0.01367s. 10 20 30 40 50 60101520253035404550 3 3 32 33 3 3 22 2 23 2 1.52 344 4 4 55 54 3 54 4 (a) (b)(c)Figure 16: Results of (a) SMT by GeoSteiner; (b) WMST by our preprocess-ing; (c) WSMT by our heuristic.Though Fig. 16(c) shows a WSMT our program also outputs the Eu-clidean total length |T | = 277 . 2, which is the minimum as printed by GeoSteiner.By the way, our program also gives |P| = 318 . ||P|| = 841 . ||T || =626 . 2, both with ratios above √ / 2. 18 Conclusion It is known that Steiner trees can also be treated in 3d, for instance to min-imise costs of underground mining [18], and also in the periodic approach tomodel crystalline and molecular connections [19]. But 2d Steiner trees can-not be doubly periodic, only quasi-periodic instead. For instance, Fig. 17(a)shows a generator taken from https://people.eng.unimelb.edu.au/brazil ,and it consists of copies of two fundamental sub-trees: with yellow and rednodes, represented as black and grey squares in Fig. 17(b), respectively. Fromthe diagram of Fig. 17(b) one easily understands how to continue the quasi-periodic ST: take four copies and connect then with a black square, thenrepeat the process indefinitely.(a) (b)Figure 17: (a) a detail of a quasi-periodic ST; (b) explanatory diagram.We can also consider STs in non-Euclidean 2d and 3d spaces. For in-stance, in [7] we showed a practical application of WSMTs as in Definition 2for cities of a flat land whose soil is free from barriers like groundwater androcky earth. Besides their simple physical interconnection weights were takenas extra costs like land taxes and local maintenance expenses. However, amore realistic approach should consider relief and barriers, namely the citiestaken as points in the graph of a function f : D → R , D ⊂ R . Any short-est connection between two points becomes a geodesic segment on graph( f ),which in many cases can fail to be unique.Even in Euclidean spaces we can take a non-standard metric, as for the19ectilinear 2d and 3d STs, which are useful in VLSI-design with millions ofnodes. But already just hundreds of nodes represent an important approach(e.g. in sound and video card design) [20, 21].For all these variations the greatest advantage of Evolver is its portabil-ity. In this work we have presented our algorithms already implemented inMATLAB/Octave (preprocessing) and Evolver (main program). Of course,we aimed at both reproducing the classical soap film experiment and findingthe WSMT. But another important contribution is the use of Evolver withits built-in minimisation routines, which enabled us to obtain a very shortcode. Future works will start from this source code and take advantage ofEvolver’s facilities in adapting it to many other contexts. Acknowledgement The first author has been supported by CAPES through his master’s schol-arship No. 88882.451694/2019-01. References [1] J. Plateau, Statique exp´erimentale et th´eorique des liquides soumis auxseules forces mol´eculaires , vol. 2. Gauthier-Villars, 1873.[2] E. Koch and W. Fischer, “A crystallographic approach to 3-periodicminimal surfaces,” in Statistical thermodynamics and differential geom-etry of microstructured materials , pp. 15–48, Springer, 1993.[3] G. L. Hart, “Where are natures missing structures?,” Nature Materials ,vol. 6, no. 12, pp. 941–945, 2007.[4] M. F. da Silva, G. A. Lobos, and V. Ramos Batista, “Minimal surfaceswith only horizontal symmetries,” ISRN Geometry , vol. 2011, 2011.[5] E. N. Gilbert and H. O. Pollak, “Steiner minimal trees,” SIAM Journalon Applied Mathematics , vol. 16, no. 1, pp. 1–29, 1968.[6] P. Dutta, S. P. Khastgir, and A. Roy, “Steiner trees and spanning trees insix-pin soap films,” American Journal of Physics , vol. 78, no. 2, pp. 215–221, 2010. 207] W. R. Coimbra, M. Z. do Nascimento, and V. Ramos Batista, “Stree:An interactive program for weighted Steiner trees,” JSW , vol. 11, no. 10,pp. 1062–1072, 2016.[8] K. Brakke, “The Surface Evolver,” Susquehanna University , 2013.[9] F. Baginski and K. A. Brakke, “Deployment analysis of pneumatic en-velopes including ascending balloons and inflatable aerodynamic decel-erators,” Journal of Spacecraft and Rockets , vol. 49, no. 2, pp. 413–421,2012.[10] C. Chen, P. Duru, M. Prat, P. Joseph, and S. Geoffroy, “Towards thecomputation of viscous flow resistance of a liquid bridge,” InternationalJournal of Computational Methods and Experimental Measurements ,vol. 4, no. 1, pp. 42–49, 2016.[11] S. Cunsolo, D. Baillis, N. Bianco, V. Naso, M. Oliviero, R. Lewis, andN. Massarotti, “Effects of ligaments shape on radiative heat transfer inmetal foams,” International Journal of Numerical Methods for Heat &Fluid Flow , vol. 26, no. 2, 2016.[12] C. H. Rondon and V. Ramos Batista, “Computational modelling of aspanning drop in a wedge with variable angle,” International Journal ofUndergraduate Research and Creative Activities , vol. 6, p. 3, 2016.[13] A. E. Fabris, M. Z. do Nascimento, and V. R. Batista, “A softwaretool based on the Surface Evolver for precise location of tumours as apreoperative procedure to partial mastectomy,” in Journal of Physics:Conference Series , vol. 633, p. 012132, IOP Publishing, 2015.[14] C. Isenberg, The science of soap films and soap bubbles . Courier Corpo-ration, 1992.[15] P. Winter and M. Zachariasen, “Euclidean Steiner minimum trees: Animproved exact algorithm,” Networks: An International Journal , vol. 30,no. 3, pp. 149–166, 1997.[16] V. Klee and G. J. Minty, “How good is the simplex algorithm,” tech.rep., Washington Univ Seattle Dept of Mathematics, 1970.2117] H. J. Greenberg, “Klee-minty polytope shows exponential time com-plexity of simplex method,” University of Colorado at Denver, Denver ,1997.[18] C. Alford, M. Brazil, and D. H. Lee, “Optimisation in underground min-ing,” in Handbook of operations research in natural resources , pp. 561–577, Springer, 2007.[19] J. Alex and K. Grosse-Brauckmann, “Periodic Steiner networks mini-mizing length,” arXiv preprint arXiv:1705.02471 , 2017.[20] U. F¨oßmeier and M. Kaufmann, “Solving rectilinear Steiner tree prob-lems exactly in theory and practice,” in European Symposium on Algo-rithms , pp. 171–185, Springer, 1997.[21] M. Zachariasen, “Rectilinear full Steiner tree generation,”