Constructing a database structure in the problem of the assignment of air transport operators to commissioned tasks

The article defines the database structure used in the issue of the assignment of air transport operators to commissioned transport tasks. The purpose of the work is to develop a database structure that fulfills the function of recording information, presenting results and processing calculated data. Presenting the database in a modular manner is a new concept of data flow management in the problem of the assignment of air transport operators to tasks. The issue of the assignment of air service operators to tasks is a complex optimization problem. The complexity of the database architecture used in the assignment of operators to tasks depends on the number of modules responsible for individual functions implemented in the process of determining the assignment of operators to tasks. In addition, the paper presents a mathematical model of the assignment of operators to tasks, includes basic data entered into the model and collected in the database, describes the assignment restrictions and the criterion function. In order to solve the problem, an optimization algorithm concept has been proposed to solve the analyzed problem. The problem of the assignment has been presented in the multi-criteria aspect.


Introduction
In general, the problem of assigning performers, e.g. vehicles, employees, to tasks is a known issue in the literature and widely discussed [12], [16], [2], [5], [6], [15]. According to the literature, the classic issue of assignment consists in assigning available resources, e.g. vehicles, employees, to assigned tasks. The assumption of the assignment is that each task, if it is possible, is assigned to exactly one performer and each performer is assigned to only one task. The measures for assessing the correctly generated assignment are usually the minimum time of completing all tasks or the minimum cost of completing the tasks. The issue is often modified by introducing different combinations of the number of tasks assigned to resources, e.g. equal number of tasks and resources, more tasks than resources, less tasks than resources. In the literature, the assignment problem referring to air transport describes only the assignment of airplanes or crews to routes [14], [17], [13], [11], [10], [3]. The assignment problem of air transport operator to transport tasks is not analyzed in the literature therefore constructing the database structure for this problem as well as the problem itself broadens the topics of assignment problems in air transport.
In the issue of the assignment of air transport operators to commissioned tasks, the problem is to assign all tasks commissioned by individual clients to a specific operator operating on a given transport market. The task is defined as transporting cargo by air between two transhipment terminals. Each operator is able to perform a transport task at different times and according to its own transport rate depending on the amount of transported cargo. The main limitation is the time limit for completing tasks. The problem is analyzed in a multi-criteria aspect, where the duration of tasks and the total cost of transport play a decisive role. A graphic interpretation of the assignment issue in the context of air services is presented in Fig. 1. Connections between the operator and a given task mean that a given operator can perform a given task.
The final effect of the assignment is the selection of operators providing air transport services (service providers) for the service commissioned by the given client -the buyer of the transport service. The complexity of the discussed problem of the assignment of air transport operators to commissioned tasks requires the development of a database capable of processing various types of information both entered by the user of this database and information resulting from complex computational operations. The purpose of this work is to propose a database structure adequate to the discussed issue of the allocation of operators to tasks. Presenting the database structure in a modular manner is a new concept of data flow management in the problem of the assignment of air transport operators to tasks. The complexity of the database architecture used in the assignment of operators to tasks depends on the number of modules responsible for individual functions implemented in the process of determining the assignment of operators to tasks.

The database structure in the problem of allocation of air transport operators to tasks
Each database record intended for information management in the problem of the allocation of air transport operators to tasks consists of the following elements: record name, type of input data, and source of input data. The names of the records identify both individual operators of air services existing on a given transport market as well as clients and tasks commissioned for implementation. In addition, the database stores information about the types of aircraft available to the operator, the cost of transporting cargo, the duration of tasks, the size of tasks to be realized. The type of input data entered determines the type of data stored in the record, e.g. text or number type.
The developed database is adapted to the mathematical model, which requires defined input data necessary to determine the allocation of operators to tasks. In addition, the modular structure allows database to combine with an optimization algorithm developed to determine the decision variables of the mathematical model.
The source of input data informs about the method of entering data into the database, e.g. manually or automatically by using other databases. The developed database operates on both data entered by the user and data generated in calculation processes or uploaded from other databases. An example of the record structure in the database regarding the air transport operator is presented in Table 1. The database consists of the following modules: -Module of fixed data -contains database tables about clients, operators, their locations, aircraft types, unit costs of transporting loads at individual operators, customer characteristics, customer preferences, transport tasks, transport costs, -Module of dynamic data -is designed to handle data that can be added, modified and removed by users during the system's operation, e.g. characteristics of new customers, volume of transport tasks, in addition, the module contains data that is the result of computational operations, -Archive module -is a part of the database intended for storing analysis reports, results of assigning tasks to operators, -Module of entry data -is designed to support the process of direct data input by the user, additional data about customers, operators, -Module of data presentation -mediates the process of sharing data collected in the database for authorized users, -Optimization module -the module stores reports and data summaries regarding the assignment of operators to tasks, the module is based on a built-in optimization algorithm, -Calibration module -saves the test settings of the optimization algorithm regarding its input parameters, -Verification module -checking the correctness of the results generated by the optimization algorithm, -Data exchange module -is the interface between applications based on different base systems. The database structure is updated via the dynamic data entry module. The optimization module, calibration parameters of the optimization algorithm and verification of results operate independently of the other database modules. The correctness of database structure is measured by the speed of generated solution, saving data and modification. Graphic presentation of the database structure is shown in Fig. 2.

The mathematical model of assigning operators to tasks
The complexity of the mathematical model is dictated by a multi-criteria approach to determining the assignment of operators to tasks. The presented database includes both input data entered into the mathematical model in the form of sets, matrices and vectors, as well as stores calculated data related to the designated decision variables.
In order to develop a mathematical model, input data has been defined: -all client's tasks must be realized: The criterion functions minimize the time (4) and the cost of implementing the tasks (5) x(ol,z,nu) y(ol,s,z,nu) c(ol,s,z)

The genetic algorithm for the assignment of the operator to the tasks
The database structure optimization module works based on genetic algorithm. Considering the complexity of the issue of determining the assignment of operators to tasks and the computational speed of generating the result, a genetic algorithm has been chosen that is able to solve the analyzed problem in a sufficiently short time.
Genetic algorithms are algorithms that base their operation on natural selection mechanisms and heredity. The results generated by a genetic algorithm are satisfactory in terms of the quality of the designated solution and the costs of obtaining it. They have found application as a practical optimization tool in complex decision problems determining the location of logistics facilities, the allocation of vehicles to tasks and shaping logistics networks [9], [7], [4], [8]. It should be emphasized that the genetic algorithm belongs to heuristic methods that give solutions close to optimal. Despite these drawbacks, genetic algorithms are successfully used in optimization problems. The genetic algorithm is an iterative algorithm, so the generated solution improves with each transition to the next iteration. Each individual in the population is assessed according to the adaptation function adopted for the problem. The selection process in the genetic algorithm consists in choosing the best individuals (chromosomes) from the initial population for the next generation. The crossing process involves the exchange of genetic material between two individuals. Depending on the structure, the crossing process takes different forms. The classic genetic algorithm is based on structures known as chromosomes. A classic representative of the chromosome are binary strings randomly generated. In the genetic algorithm, other representations of the chromosome structure are also possible, e.g. as a sequence of natural numbers, matrix structure. The mutation consists in randomly repositioning genes, changing their values. The genetic algorithm in the presented problem consists of the following stages: -Step 1. Determining the structure of the input data.  (4), (5). Matrix structure has been used to represent the chromosome in the analyzed assignment problem. This structure of input data works well in complex decision problems, e.g. traveling salesman problem [1]. The algorithm of the reproduction process generates the population according to the principle of the roulette method. The reproduction algorithm requires the use of linear scaling to counteract premature convergence of the algorithm in the initial iterations [7]. The matrix structure has the interpretation of decision variables. The initial population consists of a specific number of matrix structures determined at the beginning of the algorithm.
The matrix structure consists of two parts. In the first part, the allocation of operators to tasks is specified, in the second, the type of aircraft is selected. The number of rows is the number of operators providing air transport services, the number of columns is the number of tasks to be carried out. The process of completing Part I concerning the allocation is a random process. However, it should be remembered that in each column there can be only one value "1", which means that the task is carried out by only one operator, and the sum of all "1" in the entire matrix equals the number of tasks to be carried out. After completing the entire matrix, the restriction for the duration of all tasks is checked (1). If the limit is not met, the process of completing the matrix should be repeated.
The number of structures in Part II depends on the number of aircraft types available to each operator. Aircraft types are assigned to tasks randomly. An example matrix structure for seven operators and six tasks and two types of aircraft included in the transport process is shown in Fig. 3.
The problem of allocation has been shown in the context of a multi-criteria problem, so in order to be able to add values for various criteria functions, the adaptation functions were presented as the sum of quotients, where F1min defines the minimum structure value from the entire population in a given iteration for the criteria function determining the time of task completion, while F1(k,t) determines the values of individual structures in a given population according to this function of criteria. The designations F2min and F2(k,t) relate to the second function of the criterion (cost of carrying out tasks). The function F(k,t) will reach its maximum value when each function e.g. F1(k,t) reaches the value of F1min, or F2(k,t) approaches the value of F2min.
The crossing process consists in randomly selecting matrix structures and then randomly combining two structures in pairs. A sub matrix is randomly generated for each pair. Matrix substructures for two matrix structures are exchanged with each other. The mutation involves swapping the values of randomly selected genes. An example of the process of crossing the structure for part I is presented on Fig. 4, mutation and structure repair on Fig. 5. The processes taking place in Part II are consistent with the changes taking place in Part I of the structure.
The principle of operation of the genetic algorithm developed for the issue of the allocation of air transport operators can be presented in the following steps: -The step 1. First, an initial population consisting of a fixed number of matrix structures is generated. These structures will be processed while the genetic algorithm is running. -The step 2. An adaptation function is determined for each matrix structure. -The step 3. Carrying out the crossing and mutation process. Crossover and mutation occur with a certain probability defined as input data. In the case of an incorrect matrix structure generated after the process of crossing and mutation that does not meet the limitations of the mathematical model, the repair process takes place.
The stages of the process of reproduction, crossing, mutation are repeated a certain number of iterations. After completing all iterations, a matrix structure with the minimum value of the adaptation function is selected from the entire population.

Conclusions
The developed database architecture is an original proprietary concept presenting the database as an integrated modular structure taking into account various types of activities occurring during the process of assigning air transport operators to contracted tasks. The application of the genetic algorithm in the optimization module will minimize the calculation time and accelerate the processes occurring in the database. The computational complexity of the implemented algorithm underlines the important role of developing an appropriate database for implemented computational processes. In order to obtain the correct results generated by the genetic algorithm, first of all the analysis of the sensitivity of this algorithm should be performed. Sensitivity analysis of the proposed genetic algorithm is carried out in order to determine the optimal parameters for which the algorithm generates an optimal result. The parameters of the genetic algorithm to be determined are the probability of crossing, mutation as well as the size of the population and the number of iterations of the algorithm. The calibration module is the module in which the sensitivity analysis is carried out.
The correctness of the results generated by the genetic algorithm is confirmed in the verification process. The verification process is carried out in the results verification module. The algorithm verification process can be carried out based on a comparison of algorithm solutions with solutions obtained using a random algorithm. The number of comparisons is determined at the beginning of the verification. In the case where the genetic algorithm generated a better result in each comparison with the random algorithm, the verification process is completed. In the case where the random algorithm produces a better result than the genetic algorithm, the sensitivity analysis should be repeated. Further research will consist in implementing the database in a programming environment and checking its effectiveness.