Algorithmic Provision of System of Optimal Distribution of Tender Projects between Executors by Types of Work in Mining Industry

Today, in order to manage a mining and industrial enterprise, it is necessary to ensure the planning and management of the project activities of the company at all its stages. During the implementation of the project, at the initial phase of its life cycle, a significant impact on further success is provided by the resource and procurement management subsystem in particular. This subsystem is responsible for the material and technical support of the project, including the processes of acquiring goods, products and services from external supplier organizations: selection of suppliers and contractors and conclusion of contracts with them. In a market economy, the best solution to the problem of selecting performers is possible only in free competition. For this reason, the most commonly used form of selection of contractors for work put forward by the customer is the competitive form. This selection form is implemented in the form of contract bidding, or tender. Due to the breadth of the spread of the competitive form of selection of proposals for work on pre- announced conditions, the problem of selecting performers for a particular project from the number of applicants for the tender becomes urgent. In this case, it is necessary to take into account the requirements for the work execution process and for counterparties with whom contracts are concluded based on the results of tenders. The solution of the problem of the optimal assignment of contractors applying for projects on a competitive basis significantly increases the efficiency of financing distribution, reduces the time frame for the implementation of the work package and produces a general positive economic effect, which determines the relevance of the research topic.


Introduction
The object of research in this work is a system for planning the optimal distribution of tender projects between performers by type of work.
The subject of the research is a model, algorithm and an optimal distribution system for tender projects The aim of this work is to develop a system for the optimal distribution of tender projects between performers by type of work.
To achieve the goal, the following tasks are set: -analysis of the subject area; -the construction and formalization of the mathematical model of the system; -analysis of approaches to solving the optimal distribution problem and development of a research methodology; -decision algorithmization; -selection of practical tools and development of software implementation; -checking the software model and conducting experimental calculations; -analysis of the results.
In carrying out the work, general logical methods, formalization methods, and analytical and experimental methods were widely used.
To solve the mathematical optimization problem, we used the apparatus of the theory of operations research and decision making, in particular, indirect search methods: analysis and screening of options, the branch and bound method. The greatest attention in the development of the algorithm and the presentation of data is given to combinatorial algorithms belonging to the class of exact methods and graph theory [1].
The reliability of the results obtained is determined by the correct application of the research methods used and the application of algorithms that have mathematical proof and is confirmed by computational experiments on control data sets.
In the theory of project management -project management -the following key categories are distinguished: project and project management (PM).
Project management is the management of the process of its implementation. In turn, the implementation of the project is a set of measures, deeds and actions aimed at achieving the objectives of the project [2].
Project management allows you to determine the objectives of the project and carry out its justification, identify the structure and highlight the main stages of work. In the management process, the necessary volumes and sources of financing are determined, as well as the selection of performers, in particular using the bidding and tendering procedures, after which contracts are prepared and concluded. Important tasks are determining the timing of the project, scheduling its implementation and calculating resources, costing and cost analysis. A separate area is planning and risk accounting. With the help of project management approaches, the project is organized, the selection of the team and the appointment of those responsible are ensured, and control over the progress of the project is ensured [3].
Thus, project management is a methodology of organization, planning, management, coordination of labor, financial and material and technical resources throughout the project cycle, aimed at the effective achievement of its goals by applying modern management methods, techniques and technology to achieve the compositional results defined in the project and the scope of work, cost, time, quality and satisfaction of project participants [4]. The project management system includes such elements as: 1. Project management entities, which include external and internal project participants; 2. Management object, which is considered the project itself; 3. Management processes.
One of the existing concepts of project management is that the complex integrated nature of PM is described through the processes of which it consists and their interconnections [5]. At the same time, processes are understood to mean actions and procedures related to the implementation of management functions. In the theory of project management, the following process groups are distinguished: 1. initiation processes (decision making at the beginning of the project, preparatory work for subsequent planning and design); 2. planning processes (determination of goals and criteria for project success, development of a direction and scope of actions for successful project implementation, development of working schemes for their achievement. Key events are approved, analysis of possible internal and external forces of influence); 3. execution processes (coordination of people and other resources for the implementation of the plan, the planned implementation of work in accordance with the project implementation plan. The project work should be divided between the performers or groups of performers. The distribution structure of the work is a multi-level system consisting of tasks, sub-tasks and complexes works); 4. management and control processes (creation and implementation of a system for measuring, accounting, forecasting and detecting deviations within the boundaries of the project, cost estimates and work schedule for the timely adoption of corrective measures. One of the main requirements for the control system is regular accounting, or monitoring, information so that the project manager can take measures during the project implementation, and not after its completion); 5. completion processes (formalization of the project or phase and bringing them to the final result, transferring the project result to the customer or consumer, final settlement between project participants and closing of contracts) [6,7].
International experience in project management is defined in international and national standards. So, at the USA Institute for Project Management (PMI), the ANSI PMI Standard PMBOOK (Project Management Body of Knowledge) Guide is developed -the main PMI standard that describes all project management processes. The ANSI PMI PMBOOK standard defines nine areas of project management knowledge [8].

Method used
Solution algorithm. Based on the fact that the task in a formalized form is a task of integer (Boolean) programming and the assignment matrix variables Xij can take only two values -0 and 1, to operate with the provided input data and constraints when implementing decision algorithms, the most effective approach is to represent the set applications for execution in the form of a graph.
The vertices of the graph are the objects of applications of performers for a particular project XijX. The edges of the graph are all possible options for the appointment of performers I to projects Q.
The formed graph G is multi-parted or m-partite, since the set X of its vertices Xij can be divided into m -by the number of projects -disjoint subsets in such a way that there are no edges in the graph G that have both ends lying in the same part, those. the graph generated by one of the subsets m [9]. Indeed, proceeding from condition (4), it is assumed that each project is carried out by a single executor, and proceeding from requirement (3), all projects {Q1, Q2, ... Qj, ... Qm} must be completed. After accepting documents from bidders, reviewing and evaluating them by an expert commission, the characteristics of the applications can be presented in a formalized form, convenient for algorithmizing the solution of the problem.
The application Xij of the bidder Ii for the Qj project is characterized by the following parameters: 1. Cost characteristic Cij -the minimum size of the contract price for which the contractor is ready to undertake the implementation of the project, i.e. the cost of performing work by this contractor. The application is assigned a rating obtained during the normalization of the cost criterion 3. Expert assessment pij of the qualification of the contractor, expressed on a point scale from 0 to 100%. The rating of this assessment must satisfy the requirement (5). 4. Expert assessment rij, evaluating the availability of necessary production capacities and other material and technical, as well as human resources for the implementation of the project, expressed in a point scale from 0 to 100%. The rating of this assessment must satisfy the requirement (5).
A lot of projects placed during the contract bidding Q are presented in the form of a list, where each project Qj is characterized by the parameters:  Such a presentation of the data of a formalized problem allows the most convenient and efficient application of graph and combinatorial algorithms.

Results and Discussion
The developed algorithm for finding the optimal distribution of the project package between the executors by type of work consists of the following steps. Since only the applications that have passed the selection will be allowed to the subsequent stages, the number of candidates for the execution of each Qj project may change. By defining the set of admissible applications, the dimension of the problem can be significantly reduced.
If during the preliminary analysis for at least one project there are no applicants with applications that satisfy the declared conditions, the algorithm stops working due to the lack of possible solutions, i.e. failure to comply with constraint (3).

Stage 2.
At the second stage of the algorithm, the list of order nodes in each fraction of the mpartite graph is sorted, i.e. for each project. The vertex contains the following data set: -name of the project Ii; -name of artist Qj; -rating by the time of completion of work; -rating of expert assessment rij regarding the resources of the contractor Ii for the implementation of the Qj project; -rating of expert assessment pij regarding the level of qualification of the contractor Ii for performing work on the Qj project.
The list of pre-selected applications is sorted by increasing values of the optimization criterion for each of the projects.
Due to the fact that the task set requires two-criterion optimization -in terms of cost and terms of project implementation, at the formalization stage, an additive convolution of these criteria into one integral one was provided, with corresponding weights for each criterion These weights are assigned at the discretion of the decision maker, and in extreme values the task turns into a single criterion.
Sorting provides a priority view at the subsequent stages of the algorithm of the most optimal assignment options, and only then -applicants with higher declared costs or a late completion date.
Then, in the constructed column, the search for valid routes is carried out -application distributions in ways that satisfy all the requirements of the restrictions.
Search is carried out by graph traversal according to the DFS strategy -depth search [9]. This algorithm allows you to increase the search speed by looking first at the applications that minimize the value of the objective function, and only then moving on to consideration placed at the end of the sorted list, i.e. less priority.
To implement the algorithm, auxiliary structures are used: -a stack for remembering not yet processed vertices of the graph (applications); -a list with the best distribution option currently found; -the current generated list of applications; -a list of found distribution options; -a vector containing the minimum estimates of the objective function at each step of the algorithm without regard to restrictions.
The search is performed as follows: I. a set of starting vertices is set -applications for the first project in the list of projects II. a cycle is organized by the condition of emptying the stack and inside the cycle it is performed: 1. Extract the next peak from the stack (order); 2. replace in the generated list the application for the analyzed project from the list Q with the one extracted from the stack, or add, if the extracted application is the first; 3. Remove from the list of all applications for projects following the analyzed; 4. in the event that the analyzed project is not the last in the Q list, check the potential of the current distribution option to become the new best distribution (based on the minimum estimate vector). If the current option has shown its futility -discard the current vertex and all those options for which it is a parent, go to step 1. Otherwise, step 5; 5. Determine the contractor who submitted the application extracted from the stack; applications for all performers. If funding is not secured, go to step 1, otherwise step 9; 9. Check the value of the objective function for the found solution, if the solution is bettergo to step 10, otherwise step 11; 10. Replace the list with the best distribution option found with the current one, go to step 11; 11. Add the generated list to the list of found distribution options, go to step 1; 12. Put all the vertices (orders) on the stack for the next project from the list Q, i.e. adjacent to the current application, go to step 1.
The basic principles of the search algorithm, taking into account the presentation of data in the form of a graph, are shown in Figure 3. At the end of the search sub-algorithm all possible options are found that ensure the appointment of performers for all given projects within the established restrictions (contained in the list of found distribution options) and the optimal option (list with the best distribution option currently found).
Discrete optimization problems have a finite set of feasible solutions that can theoretically be sorted out and choose the best (giving the minimum or maximum of the objective function). In practice, this is often impracticable even for problems of small dimension [10].
In methods of implicit enumeration, an attempt is made to organize enumeration in such a way using the properties of the problem in question in order to discard part of the acceptable solutions [11]. The most widespread among implicit enumeration schemes is the branch and bound method, which is based on the idea of sequentially partitioning the set of feasible solutions. As mentioned earlier, two procedures are needed for the branch and bound method: branching and finding bounds (bounds).
Branching is ensured by the transition from the top with the application for the first project to the next from the list Q.
The bounds estimation procedure allows one to determine whether the considered subset contains a solution that is obviously better than already found. At each step of the method, the elements of the subset are analyzed whether the given subset contains the optimal solution or not.
In relation to the proposed algorithm, the evaluation procedure is carried out at step 5 as follows.
Initially, the minimum possible costs for the execution of each project are determined without taking into account financial restrictions on the budgets of performers (6). To do this, it is enough to find applications containing optimal offers for each of m projects from among the feasible solutions received at the 1st stage.
If, when choosing an application for the j-th project Qj, the sum of evaluations of applications by the integral selection criterion in the current generated list together with the sum of the estimates of the minimum declared without taking into account the constraints (6) for the remaining projects (which is contained in the vector of the minimum estimate) exceeds the cost of all projects in the best distribution option found at the moment, then further analysis starting from j+1 vertices does not make sense.
The use of the method of sequential analysis and screening of options, as well as the method of branches and boundaries, allows you to reduce the number of searches [12].
To use the method of sequential analysis of solution options (SASO) in solving a problem of this kind, it is necessary to specify the rule for constructing partial solutions to be developed at each step and determine a set of checks that exclude partial solutions that cannot be completed either to feasible solutions or to optimal ones.
In the presented algorithm, the choice (construction) of partial solutions corresponds to the steps in the method of traversing the graph in depth.
As a check at step 7, a check is used for exceeding the maximum amount of funding    m j i ij ij C X C 1 max , further search if it is exceeded along this path is terminated. Thanks to this analysis, a subset of the vertices of the graph is cut off, forming a tree with a root vertex containing the application currently being considered for the algorithm. The investigated path in the graph goes to the neighboring one or returns to the previous vertex and the search continues.
Thus, the presented algorithm based on the branch-and-bound method and the SASO method during the graph traversal using the DFS strategy constructs a decision tree for enumerating assignment options with cutting off partially constructed solutions that cannot lead to admissible ones, and solutions whose integral criterion is greater than or equal to the estimate of the previously found best option, which significantly reduces its working time.
At the end of the search subalgorithm, all possible options are found that ensure the appointment of performers for all given projects within the established restrictions (contained in the list of found distribution options) and the optimal option (list with the best distribution option currently found). combinatorial and exhaustive algorithms (the branch and bound method, the method of sequential analysis and screening of options) and graph theory; 4. The structure of the presentation of the described mathematical model in a form convenient for the application of the chosen research methods was designed and an algorithm for solving the optimal distribution problem for this model was developed; The scientific novelty of the work lies in the development of a methodology for finding the optimal solution to the problem of the distribution of work between performers, based on the proposed mathematical model.
The practical value of this study is to develop a software tool that allows you to find the optimal, from the point of view of the total cost and timing of the work, the distribution of tender projects, to monitor the compliance of proposals with the specified requirements, and to reduce the time spent on deciding on the results of bidding.
Implementation of the results of work in organizations whose activities in one form or another are connected with the distribution of budgetary funds of a private or state nature between third-party companies or their branches will allow to reduce economic costs and direct financing to organizations, taking into account their ability to absorb funds.