Mechanism for solving systems of linear algebraic equations

This text is an announcement of a recent performance.
It’s not really useful to make use of the content material of this text to grasp the brand new performance.
A full description of the brand new performance might be supplied within the documentation for the corresponding model.
An entire listing of adjustments within the new model is supplied within the v8Update.htm file.

Applied in model

In complicated utilized options of Enterprise, there’s a utilized performance for calculating the price of items. It is a relatively tough process, and we determined to make a mechanism constructed into the platform that will be as easy to make use of as attainable and, at the identical time, very productive.

After analyzing the work of utilized options, we got here to the conclusion that some of the labour-intensive phases are, in truth, the answer of a system of linear algebraic equations (SLE). Because of this, within the platform, within the embedded language, we have now applied a brand new object that permits us to discover an answer to the SLN.

There are classical algorithms for fixing SLNs, however, within the platform, we used our personal algorithm with extra optimization. Within the case of a sparse SLN matrix, which precisely corresponds to the issue of calculating the associated fee value, our algorithm works a lot sooner than classical algorithms. Within the case of a dense SLN matrix, it reveals outcomes that might be near classical ones (assured not worse).

In accordance with our estimates, the usage of this new object within the process of calculating the associated fee value will improve productiveness tenfold.

Along with this process, you should use the brand new object in different software areas which might be automated by 1C: Enterprise options:

  • Planning duties;
  • Settlements between various authorized entities, enterprises or industries;
  • Steadiness fashions;
  • Forecasting;
  • Issues of trying to find extrema, together with conditional extrema.

The issue of fixing a system of linear algebraic equations

On the whole, the system of linear algebraic equations seems like this:

the place these are the identified coefficients of the equations.

The answer to the system of linear equations consists to find such values for which all equalities are happy.

New Object CalculationSystemsLinearEquations

An object CalculationSystemsLinearEquations possesses various properties that permit versatile adjustment of the required accuracy of the answer by way of the numerical values ​​and the variety of iterations of the algorithm. As well as, they will let you set the boundary of the answer algorithm change so as to receive the optimum computation velocity.

The thing accommodates a constructor and two strategies:

  • CalculateSystemLinearEquations () – solves a system of linear equations and returns the answer within the type of a Desk of Values ​​object;
  • GetComponentsConnections () – finds connectivity parts and returns the end result as a valuable object. You should utilize this technique to isolate a number of subsets of knowledge and work with them in a distributed method.

A characteristic of the brand new performance is that it helps the parallel use of computing assets. You’ll be able to modify the variety of computation threads used. The performance is on the market on the server, within the thick shopper, and within the COM connection.

The scheme of utilizing the mechanism

To unravel a system of linear equations, it’s obligatory to arrange two tables with the coefficients of the system of linear equations – DataSourceNodes and DataSourceLinks… These tables will be objects like TableValues or Results of Request.

  • DataSourceNodes – should comprise a column with numbers of equations and a set of columns storing free coefficients of equations;
  • DataSourceLinks – additionally accommodates a column with numbers of equations, a column of numbers of variables and a set of columns storing the coefficients with which the variables are included within the equations.

Subsequent, that you must give an outline of those tables by setting sure properties of the thing CalculationSystemsLinearEquations: ColumnEquationsInNodes, ColumnEquationsInRelations, ColumnVariablesIn Relationship.

The following step is to explain the programs of linear equations that should be solved. For this, there’s a particular object Description of Linear Equation Programs… That you must specify properties in it Column of CoefficientsInRelations and ColumnFeaturesInNodesakin to this method.

The ensuing descriptions need to be added to the gathering Linear Equation Programs Descriptions (property System Descriptions object CalculationSystemsLinearEquations). To work accurately, you must add no less than one to the gathering. Description of Linear Equation Programs.

Subsequent, you may specify extra (non-compulsory) properties of the thing CalculationSystemsLinearEquationsthat will let you fine-tune the answer mechanism.

The ultimate stage is the tactic name CalculateSystemLinearEquations ().

Notice that the machine lets you calculate a number of programs of linear equations without delay in a single name of the tactic CalculateSystemLinearEquations ().


Related Articles

Latest Articles