LEDAS has released version 0.6b of its Variational Geometric Solver solution (LGS)

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.49
LEDAS 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).