LEDAS Ltd. released Version 0.6 of its Variational Geometric Solver solution (LGS). The release is a part of the LGS Earlier Access Program (EAP).
New computational and decomposition methods were implemented to improve performance of LGS. Part of the LGS API related to rigid sets was simplified. Horizontality, verticality, angle with OX axis, horizontal and vertical distance are supported now in Lege'n'd. This version will be available for the EAP participants only.
Since 24th of April, when LEDAS started the EAP, LGS has made a significant leap forward. Below the short overview of the progress and current state of the project are presented.
For the last 5 months LGS has been developed and improved in all directions: functionality, quality, performance, naturality of behavior, scalability and flexibility. Today, the LGS core combines a flexible internal representation with a number of effective algebraic and computational methods. Total amount of C++ code for the LGS core is about 40.000 lines; some more 30.000 lines constitute the LGS testing infrastructure and the Lege'n'd application.
Since the version of 0.3b (first EAP release) functionality of LGS has been increased drastically.
Let's compare the objects supported:
LGS 0.3 LGS 0.6 --------------------------------- Points Points Lines Lines Fixed circles Variable circles Variable ellipses User-defined curves Rigid sets
Number of constraints supported has grown from 6 to 17 and use of the constraints is widened according to extended set of objects. Now LGS supports almost the same set of constraints as DCM does (exceptions are Pattern and Dependency constraints). New LGS core introduced in LGS 0.4 is capable to effectively handle both pure geometry constraints (like distance, angle, coincidence, tangency, etc.) and constraints with algebraic nature (e.g. equal distance, mid. point). For the first type of constraints many special cases are handled in order to speed up computations, while for the second group powerful and efficient computational methods have been implemented. The performance of LGS is currently estimated as suitable for interactive applications. On our test base we have the following distribution of tests with respect to computational times:
Time Number % of (sec) of tests test base --------------------------------- <0.001 476 8.41 <0.01 3806 67.24 <0.1 996 17.60 <1 232 4.10 <10 122 2.16 >=10 28 0.49LEDAS pays much attention to LGS testing:
Currently, our test base consists of 299 manual synthetic tests, 218 real-world tests, and 5500 generated test with number of constraints ranging from 1 to 200. The next table presents some success rates for these tests:
Tests Number of Number Success Set constraints of tests rate -------------------------------------- Syntetic 2-50 299 97% Real-world 20-200 218 87% Auto-10 10 1000 99.9% Auto-20 20 500 98.6% Auto-50 50 100 96% Auto-100 100 20 90%The next table shows performance of the passed tests on the entire test base depending on test size:
Number of Number Average Avg time constr. of tests Time(sec) per constr -------------------------------------- 1 36 0.003181711 0.0031817 2 1008 0.001667589 0.0008337 3 1008 0.002212368 0.0007374 4 17 0.003113265 0.0007783 5 1010 0.00378488 0.0007569 6 11 0.053263391 0.0088772 7 8 0.002599163 0.0003713 8 4 0.0040485 0.0005060 9 11 0.003351185 0.0003723 10 1001 0.006755731 0.0006755 11--20 549 0.035472195 0.0024392 21--30 314 0.066480264 0.0022421 31--40 300 0.211982974 0.0053366 41--50 106 0.335061077 0.0067048 51--60 103 0.870674761 0.0145298 61--70 44 1.431696523 0.0204571 71--80 44 3.987758818 0.0498525 81--90 21 4.00112819 0.0444913 91--100 23 12.45799961 0.1245895 101--200 38 24.04751297 0.1468013 >200 4 3.2726375 0.0072430
In our testing we also pay much attention to the naturality of models behavior after the computations. The special methods were implemented in LGS 0.4-0.6 to keep solution as natural as possible in most cases and we will continue this development.
We want to thank all the EAP participants, who has contributed much to the LGS development. For the next couple of months remaining to release 1.0 we will concentrate our efforts on quality and performance issues. The LGS real-world test base is constantly extending thanks to the substantial contribution of our partners from the ProPro Group. We plan to constantly increase this base and will appreciate your help in this direction. LEDAS has released version 0.6b of its Variational Geometric Solver solution (LGS).