DOI: 10.17323/2587-814X.2020.2.21.35
Modeling and optimization of plans for railway freight transport performed by a transport operator
Fedor A. Belousov
E-mail: sky_tt@list.ru
Ivan V. Nevolin
E-mail: i.nevolin@cemi.rssi.ru
Nerses K. Khachatryan ©
E-mail: nerses@cemi.rssi.ru
Central Economics and Mathematics Institute, Russian Academy of Sciences Address: 47, Nakhimovsky Prospect, Moscow 117418, Russia
Abstract
This paper offers an approach for solving a problem that arises for railway transport operators. The task is to manage the fleet of freight railcars optimally in terms of profit maximization. The source data for the transport operator is a list of requests received from customers, as well as the location of railcars at the beginning of the planning period. The request formed by each customer consists of departure station, destination station, name and volume of cargo that the customer would like to transport. The request also contains the rate that the customer has to pay to the transport operator for each loaded wagon transported. Planning is carried out for a month in advance and consists, on the one hand, in selecting the most profitable requests for execution, on the other hand - in building a sequence of cargo and empty runs that will fulfill the selected requests with the greatest efficiency. Direct transportation of loaded and empty railway cars is carried out by Russian Railways with pre-known tariffs and time standards for each of the routes. At the same time, tariffs for driving loaded wagons are additional costs for the customer of the route specified in the request (customers pay both the transport operator for the use of wagons and Russian Railways); transportation of empty wagons is paid by transport operators. To solve this problem, one of the possible ways to reduce it to a large-dimensional linear programming problem is proposed. An algorithm is proposed, the result of which is a problem written in the format of a linear programming problem. To demonstrate the approach clearly, a simplified problem statement is considered that takes into account only the main factors of the modeled process. The paper also shows an example of a numerical solution of the problem based on simple model data.
Key words: railway cargo transportation; planning of railway cargo transportation; optimal plan of railway cargo transportation; optimal management of railway car fleet; linear programming; schedule theory; operations research; unmanned vehicles.
Citation: Belousov F.A., Nevolin I.V., Khachatryan N.K. (2020) Modeling and optimization of plans for railway freight transport performed by a transport operator. Business Informatics, vol. 14, no 2, pp. 21-35. DOI: 10.17323/2587-814X.2020.2.21.35
Introduction
In the mathematical field called operations research, and in its subsection called schedule theory, there are many problems related to optimizing railway management. A whole series of such problems, as well as their classification, can be found in [1—5]. Among the problems of drawing up railway transport schedules, a class of problems related to drawing up schedules for passenger transport can be considered separately. One can find examples of such models in [6—9].
This article deals with railway freight transport. One of the urgent tasks that arise in this area is the organization of the cargo transportation process. In particular, works [10—13] are dedicated to this subject. In these articles, dynamic models of organization of railway freight transportation both between two junction stations and on a closed chain of stations are described and investigated.
This study is devoted to the no less important task which is management of the freight wagon fleet. This problem arises for railway transport operators (hereinafter, transport operators), which manage a fleet of freight rail cars for commercial purposes. Depending on the specifics of regulation and market features, different models can be built for each specific region, taking into account this or that specificity. As an example, one can consider the article [14], which presents a model used by one of the largest railway transport operators in Latin America. Another example is work [15], which examines several models for optimizing cargo
delivery by the Swiss railway freight company Cargo Express Service of Swiss Federal Railways. In [16, 17] models designed with the features of the freight transport market in Italy are considered. In [18, 19] models are presented for cost minimization of transporting goods through a railway network that covers several European countries.
There are also models created for the Russian rail transport market; an example of such a model is presented in [20, 21]. In this paper, the problem statement is similar to the statement from [20, 21], the main differences are in the methods of solving the problem. If in [20, 21] solutions are sought using the column generation method [22], as well as using the modified column generation method [23], in this paper the solution is sought based on the search for optimal flows in a network covering all possible routes, by reducing it to a large-dimensional linear programming problem.
In other words, if the column generation method and the generalized column generation method search for solutions iteratively, and each iteration solves a linear programming problem on a subset of all possible routes, then in this paper the search for solution is performed using a single linear programming problem of a sufficiently large dimension on the set of all possible routes. But before getting such large-dimensional linear programming problem, one first needs to build a network of all possible routes (in this case, a wider network that includes a network of all possible routes is built), after that this task can be formalized as a linear programming problem.
The network of all possible routes is an oriented space-time graph without loops. This graph is built with a fixed time step, and one day is taken as a step. Each vertex of the graph contains information about the number of cars at a certain station on a certain day of the planning period. Each edge of this graph characterizes the route by leaving some station on day and arriving at another station on day . In this case, the difference between and corresponds to the number of days it takes to transfer cars from station to station in accordance with the known time standards for transportation by rail. In this interpretation, the task is to search for flows in the constructed graph that provide the maximum gain in total. The flow refers to a chain of cargo and empty runs, and the resulting gain corresponds to the profit for the planning period. For more information about building such models and reducing them to linear programming problems see [24—26].
This approach, which consists in solving the problem of linear programming of large dimensions, in comparison with the approach associated with column generation method, requires more time to find solutions. The advantage of the approach proposed here is the search for an optimal transportation plan on a set of all possible routes, while methods related to column generation solve a series of linear programming problems on subsets of the set of all routes. As a result, the solution obtained using the column generation method may differ from the optimal plan. In practice, in this case the lost profit for the transport operator can be measured in tens of millions of rubles per month.
1. General statement of the problem
The problem of managing a fleet of freight wagons by a transport operator is considered. The goal of the transport operator is to maximize profit. Drawing up a plan is carried out for a month in advance at a time when all the necessary information is known. For planning,
one needs information about the initial location of cars in the next month, as well as a ready list of requests for cargo transportation in the next month. The initial position of wagons in the planning month implies information about day and station, in which each of the wagons arrived after being sent in previous month. The list of requests consists of requests from customers, each of which specifies the cargo, its volume (in wagons), stations of departure and destination. Each request also specifies the rate that the customer has to pay for each railway car of the transported cargo. A situation is allowed in which the start of request execution will be in the planning month, but its completion will be in the next month after the planning one. In this case, all profit for the execution of such request will be taken into account in the planning month. It is assumed that customers do not care what day of the planning month his order will be fulfilled; if the operator undertakes to execute this order, it will be executed on the most convenient day for the transport operator (or on several days if the request will be executed by several routes). The transport operator is not required to execute all incoming requests — as a rule, it is physically impossible to do this in the allotted month. Therefore, the operator can either execute the request completely or partially, or reject it. Thus, when creating a plan for the upcoming month, the task of the transport operator is, first, to select those requests that are most profitable to execute, and secondly, to select such chains of cargo and empty runs that will most effectively ensure the implementation of the selected requests.
Direct transportation of wagons is carried out by Russian Railways (JSC "RZD"), which set their own tariffs for both empty and cargo runs. Also time standards for all possible routes are known in advance. In the model, it is assumed that tariffs do not depend on the number of wagons transported on each of the routes. Each customer, if his request is executed, in addition to paying the operator the specified rate for
the use of its wagons, pays separately to Russian Railways for the transportation of these wagons. Moving empty railway cars by Russian Railways is an expense item for the transport operator. Since Russian Railways tariffs for transporting loaded wagons are costs for customers and transport operators have nothing to do with them, these tariffs are not considered in the model. In this paper, a simplified statement of the problem is considered. This means that the transport operator manages one type of freight wagons, and the planning horizon in the model is one month. In addition, it will be assumed that direct transportation by Russian Railways is carried out largely by unmanned vehicles, i.e. unmanned locomotives. Their use will reduce the impact of the human factor, the occurrence of which often leads to certain emergencies, which in turn leads to failures in schedules. This assumption about the use of unmanned vehicles makes it possible to consider a deterministic model, without taking into account stochastic components. Otherwise, the model must take into account random factors, which would inevitably lead to a significant complication of the model.
2. Mathematical statement of the problem
This section provides a mathematical statement of the problem in some intermediate format, which is converted to the format of a linear programming problem in explicit form at the next stage. The advantage of this intermediate format is that it is much more visual and convenient for understanding the essence of the proposed approach. A similar format for the mathematical statement of this problem can be found in [3, 4], but in these works the mathematical statement has a rather cumbersome form and can hardly be applied directly in practice. In this paper, to facilitate the presentation, the simplest version of the problem statement is presented.
Let's enter a number of notations.
N - number of stations involved in planning;
T - planning horizon, measured in days, for simplicity one month is taken as the length of the planning horizon in this work (i.e. T= 30 or 31). In practice, however, it is more correct to consider a longer planning horizon, such as two or more months, but for simplicity in this work a short and plausible interval is taken;
t - the discrete parameter responsible for time is measured in days and takes values t = 1, 2, ... T;
C = {C&.}iV._i - (N x N)-matrix, which elements characterize the tariff set by Russian Railways for an empty run of one wagon from station i to station j; t
©l = |©lyJ - (Nx N)-matrix, which elements characterize the time (in days) of movement of loaded wagons from station i to station j in accordance with Russian Railways standards (time is rounded to a larger integer); t ^N
02 - - (Nx N)-matrix, which ele-
ments characterize the time (in days) of movement of empty wagons from station i to station j in accordance with Russian Railways standards (time is rounded to a larger integer). Separately, we note that the diagonal elements of this matrix are taken to be equal to one, which means that if a wagon remains at the station until the next day, it is equivalent to the fact that it goes on a loop trip lasting one day, where the departure and destination stations coincide; i }N
P = \PjjY - (Nx N)-matrix, which elements characterize the rate specified by the customer in the request for transportation of one loaded wagon from station i to station j;
Q = \QHf. - (N x N)-matrix, which elements characterize the number of loaded wagons specified in the corresponding request for cargo transportation from station i to station j. All elements of the matrix take non-negative integer values;
(0 = (0} ! - vector of dimension N that characterizes the initial location of wagons
on day t, the i-th element of this vector equals to the number of wagons that arrived at station i at time t e {1, ..., T}, which were dispatched in the previous month. All values of this vector take non-negative integer values.
The transport plan is characterized by the following matrices:
^l(f) = {K\ (f)}^ - (Nx N)-matrix, which elements characterize the number of loaded wagons sent from station i to station j at time t g {1, ..., T}. All elements of the matrix take non-negative integer values;
K2(t) = {K2V - (Nx N)-matrix, ijele-ment of which characterizes number of empty wagons sent from station i to station j at time t g {1, ..., T}. All elements of the matrix take non-negative integer values;
Denote by K1 and K2 the set of corresponding matrices for all moments of time t g {1, ..., T}, in other words K\ = {^1(0}^, K1 = {^(O}«.
Also of interest is the final distribution of wagons by stations and time in the planning month in accordance with the proposed plan K1, K2.
S{t,K\,K2) = {5, (t,Kl,K2)}^ - vector of length N, each element of which characterizes the number of wagons at station i at time t g {1, ..., T}, which is implemented in accordance with the proposed plan K1 and K2 and the initial distribution of wagons S0 (i). It is easy to see that for all t g {1, ..., T} and any station i g {1, ..., N} , the value of the element S, {t,K\,K2) is determined by the formula below:
S,(t,Kl, K2) = S?(t) +
+£{ipAr)I(t-T~*lJ>)+ (1)
+ ±K2Ji(r)l(t-r-02Ji)
m .
where the function /(•) is defined by the rule: 1, if x = 0;
0, othewise.
In other words, the number of wagons that is observed at station i at time t is equal to the number of wagons that arrived from the previous month in accordance with the value ^"(O, as well as the number of wagons that were sent to station i by empty or loaded runs on the days t preceding the current day t (t g {1, ..., t — 1 }), and that arrive at station i on this day t.
Now the mathematical statement of this problem can be written. Profit is the criterion of maximization
N
I l№,(0-
t=i v»7=i
N
(2)
-» max
{Kl^Kl^t)}
The following restrictions must be satisfied:
Si{t,K\,K2)^[K\ij{t) + K2ij{t)),
j=i
i = ÏN, t = \J-
(3)
YKl^Q,, i = \,N,j = l,N; (4)
(5)
i = l,N,j = \,N, t = \,T.
The target function (2) represents the profit from all freight runs after deduction of the costs associated with empty wagons runs. Optimization is performed by managing amount of loaded runs KL (t ) and empty runs KL^ (t ). Restriction (3) is a balance restriction and means that the number of wagons sent from station i on day t g {1, ..., T} is exactly equal to the number of wagons that arrived there on that day. The number of arriving wagons St (t, K\, K2) is determined in accordance with formula (1). Restriction (4) means that the number of loaded wagons sent from station i to station j on all days of the planning period must not exceed the number specified in the relevant request.
Problem (2)-(5) can be solved directly using Mixed-Integer Programming. However, due to the large dimension, the task of finding an integer solution may be impossible within a reasonable time. Therefore, instead of the original problem, linear relaxation is considered. This means that the following weaker condition is considered instead of condition
(5):
JQ..(0 > 0, KL.(t)>0, / = UV, t = lj (6)
Thus, instead of problem (2)-(5), the following problem is considered (2), (3), (4),
(6). The result of solving such a problem may be a fractional solution, which obviously cannot be applied in practice. In this case, to get an integer solution, you must apply rounding methods to the resulting fractional solution. At the next stage, this statement of the problem will be rewritten in the format of linear programming.
3. Reducing the original problem to a linear programming problem
In order to solve the formulated problem by computer, the above designations must be presented in a different format. To do this, the matrices P, C, Q, as well as the matrix system ^(t ) and ^(t ), t e {1, ..., T} must be converted to long vectors. The system of vectors S° and S(t,K\, K2), t e {1, ..., T} also must be converted into two single vectors. On the one hand, the matrices P and C are transformed into one PC vector by a special rule; on the other hand, by a similar rule, the matrices ^(t ) and ^(t ), t e {1, ..., T} are also combined into a vector К of the same dimension consistent with the PC vector. This is done so that the profit of the transport operator, which calculation formula is used in (2), completely coincides with the scalar product of the two new vectors PC and K.
Vector K
Since the number of elements in all matrices ^(t ) and n.(t ), t e {1, ..., T} is equal to 2TN2, the dimensions of the vectors PC and K also have to coincide with this value. When forming vector K, the question is in what order to place all the elements of the matrices ^(t ) and ^(t ), t e {1, ..., T}. After this order is defined, the PC vector is compiled accordingly and in the appropriate order. Let the first TN2 elements of the vector K correspond to all elements of matrices ^(t ), t e {1, ..., T}. In this case, the first N2 elements are taken from the matrix ^1(1 ): the first N elements coincide with the first row of this matrix (the first row element is placed at the first position of the vector, the second row element - at the second position, etc.), the next N elements correspond to the second row, and so on. The next N2 elements of the vector K are written using a similar ordering of the elements of the matrix ^1(2 ). By the same principle, the vector K is filled with elements of the other matrices ^(t), t = 3, ..., T. The second half of the vector K, also consisting of TN2 elements, is filled in the same way only by elements of the matrices E2(t ), t = 1, ..., T.
Vectors PC
In order to match the vector PC with the vector K, the first TN2 of its elements are taken from the matrix P, the remaining TN2 are filled from matrix C. The first N elements of the PC vector correspond to the first row of the P matrix (the first row element is placed in the first position of the vector, the second row element - in the second position, etc.), the next N elements correspond to the second row of the P matrix, and so on. After the first N2 elements of the PC vector are defined by the specified procedure, this part of the vector is copied and put in place of the next N2 elements. Repeating this operation T - 1 times completes the formation of the first half of the PC vector, consisting of
TN2 elements. The second half of this vector is filled in similarly with elements of the matrix C. The only difference in the fill-in rule is that each element of the second half of the PC vector is additionally multiplied by minus one. Thus, the first TN2 elements of the PC vector are non-negative, and the next TN2 elements of this vector are non-positive.
Vector Q, S0, S
Vector Q is formed from the matrix Q by a similar rule (the first N elements of the vector correspond to the first row of the matrix, the next N elements correspond to the second row, and so on). The dimension of the new vector is N2.
Systems of vectors S0(t) and S{t,K\,K2), t e {1, ..., T} are transformed into two vectors by sequential concatenation of the vectors corresponding to each moment of time (the first N elements of each of the new vectors correspond to the vector S0(1) and S(1, K1, K2), respectively, and so on). In the end, we get two new vectors of size TN. The first one is denoted by through S 0, the second - through S.
With vectors PC and K, the optimization criterion (2) and condition (6) can be written in the new format. However, in order to write conditions (3) and (4), it is necessary to introduce special matrices.
Matrix Aq
Let's construct a matrix AQ, which allows us to rewrite the condition (4). It is easy to see that the dimension of this matrix is equal to (N2 x 2TN2). This is due to the fact that this matrix on the right is multiplied by the vector K, and the result of this multiplication is compared with the vector Q of dimension N2. Based on the fact that the elements of the matrix K2 (correspond to the last TN2 elements of the vector K) do not participate in this restriction, all the elements of the matrix A
located in the last TN2 columns, are equal to zero. Now the first TN2 columns of this matrix are necessary to define. Condition (4) means that for each route from station i to station j, the total number of loaded wagons sent on all days of the planning period cannot exceed the amount specified in the request - Q... Based on this, it is easy to see that the first element of the first row is equal to one (it corresponds to the element K111(1)). The next element equal to one located in the first row of matrix AQ is at position N2 + 1 (it corresponds to the element K112(2)) and so on - all elements equal to one occur in the first row T times with a period of N2 elements. Further, in the second row of the matrix AQ, the element equal to one is in the second position (it corresponds to the element K112(1) ), the next element equal to one in the second row is at the position N2 + 2 (it corresponds to the element K112(2) ) and so on: also, with a frequency of N2 elements, all elements equal to one occur in the second row T times. For other rows of the AQ matrix, the filling algorithm is similar. Thus, if one divides matrix A into Tblocks, each of size N2 by N2 elements, not considering the zero part (the last TN2 columns), then each block is equal to the identity matrix. After defining the matrix AQ in the new format, condition (4) takes the form of Aq ■ K< Q, where the sign < implies a component-by-component comparison of elements of both vectors.
Matrix A. and A „
in out
It remains to rewrite condition (3). To do this in matrix form, one needs to define two matrices, denoted by A and A . The A matrix
' J in out in
is used to calculate the number of incoming wagons to each of the stations at any time t e {1, ..., T}. The Aout matrix is used to calculate the number of outgoing wagons from each station at any time t e {1, ..., T}. The dimension of each of the matrices is (TNx 2TN2). This is due to the fact that these matrices are multiplied on the right by the vector K. The result
Q
of the product of the vector K on any of these matrices is related to the distribution of wagons by stations and time, so the number of rows in these matrices and the dimension of the resulting product of the vector must be TN. The first N elements of the resulting vector correspond to the distribution of wagons at all stations in the first period, the next N elements correspond to the distribution of wagons at all stations in the second period, and so on until the period T. The matrix Ain allows us to represent the formula (1) as S = A ■ K.
v 7 in
Let's write the Aout matrix. As already mentioned, this matrix is designed to count the number of wagons sent from an each station i at any time t e {1, ..., T}. Where exactly these wagons are sent, in this case, is of no interest. Taking into account the order of elements of the vector K, it is easy to see that the first N elements of the first row of the A matrix are
out
responsible for the loaded wagons sent from the first station in the first period of time. So all these elements are equal to one. Then, all elements, starting from the element N+ 1, up to the element TN2 inclusive, are equal to zero. The elements, starting from TN2 + 1, before the element TN2 + N, are equal to one. These elements are responsible for outgoing empty wagons. Other elements of the first row of the A , matrix are zero. The second row of
out
the A matrix has a similar structure, with
out
the difference that everything is shifted by N elements to the right. In other words, the first N elements of the second row are equal to zero, the next N elements are equal to one, then, starting from TN2 + N + 1, up to TN2 + 2N, all elements are equal to one, and the remaining elements of the second row are equal to zero. And so on, in each subsequent row, the coordinates of elements equal to one are shifted by N elements. Repeating this operation for all rows of the Aout matrix completes its formation.
It remains to define the matrix. For
in
each of the loaded and empty runs from sta-
tion / to station j, the duration of such a run is known. It is equal to 1 for cargo and 2 for empty runs. Let's see how this information is reflected in the A matrix. To do
in
this, consider an arbitrary transfer of loaded wagons in the amount of K1j.(t) from station i to station j on day t of the planning period. This transfer corresponds to vector K element located at the position TN2 + (i — 1)N + j. Travel time on this route equals &1ir This means that after leaving on day t, the dispatched wagons will end up at stationj on day t + 01 . In terms of equation (1), it can be stated that as a result of this loaded trip, the value of the element Sj{t + 0lv, Kl, Kl) will increase by K1j(t) units. Therefore, if
t + 6>1.. does not exceed T, then the result of
ii '
multiplying Ain by Kis the increase in the coordinates (t + 01,j - 1)N +j of the vector S by K1j(t) units. In order for this multiplication to give such a result, it is necessary that the element of the matrix A. with the coordinates
in
((f + ei,-l)jv + j,tN2+(i-\)N + j) be equal to one. An arbitrary empty run in the amount of K2,j(t) wagons from station i to station j on day t of the planning period, in case when t + 02,. does not exceed T, corresponds to the matrix Ain element equals to one with coordinates ((t"+02t-l)N + j,tN2+(i-1 )N + j). It can be seen that in the case of empty runs, the value TN2 is additionally added to the second component of the coordinate of the matrix A. element equals to one. This is due
in A
to the fact that the empty runs in the vector K correspond to the second half of this vector, which begins with the coordinate TN2 + 1 and ends with the last element with the coordinate 2T#2. Thus, the algorithm for constructing the Ain matrix consists of taking a null matrix of size TN by 2TN2 and placing elements equal to one in it, iterating over all the elements of the vector K (or, what is the same, iterating over all the elements of the matrices K1(t) and K2(t),t e {1, ..., T}).
After the A. and A t matrices are defined, the
in out 1
constraint (3) can be rewritten as A. ■ K+ Sn =
v ' in 0
= AoUt ■ K 0r, similarlУ, as (AoUt - AJ • K = S0.
Linear programming problem
After all vectors and matrices are defined in the new format, the problem (2), (3), (4), (6) may be rewritten in a new format:
Subject to
PC ■ K -> max,
K
(A>ut - so'
Aq ■ K < Q; K> 0.
(7)
(8) (9)
(10)
The problem statement (7)—(10) is absolutely identical to the task (2), (3), (4), (6), but its advantage is that it is written in the format of a classical linear programming problem, which allows one to solve it using appropriate methods and software tools.
4. Solving transport problem using artificial data as an example
As an illustrative example of solving the transport problem, a simple model example with a
small number of stations and a short planning horizon is considered.
Let the number of stations be 4 (N = 4), and the planning horizon is 3 days (T = 3). The list of received requests consists of five items. We present these requests in Table 1.
Based on the list of requests, one needs to create two matrices — the matrix of tariffs P, elements of which are written in conditional units, and the matrix of the volume of requests Q:
P =
0 0 2.9 0
1.1 0 2.3 0
0 1.9 0 2.1
0 0 0 0
; Q =
0 0 3 0
5 0 4 0
0 7 0 6
0 0 0 0
Travel time of both loaded and empty wagons are given in matrices 01 and 02 bellow:
' 0 2 1 2 '1 1 1 f
01 = 1 0 2 1 ; 02 = 1 1 1 1
1 2 0 2 1 1 1 2
1 V 2 1 o, 1 2 V 1 1 y
Recall that the diagonal elements of the matrix are taken to be equal to one. This is due to the fact that if the wagons are left at the station until the next day, it is equivalent to their being sent from this station to itself on a trip lasting one day.
Table 1.
List of requests for cargo transportation in the model example
Departure station Destination station Volume of requests (in wagons) Rate (in conditional units)
1 3 3 2.9
2 1 5 1.1
2 3 4 2.3
3 2 7 1.9
3 4 6 2.1
The values of Russian Railways tariffs for empty runs, as well as rates expressed in conditional units, are characterized by the values of matrix elements C:
C =
0 1.2 1.1 1.3
1.9 0 1.2 1.5
1.3 1.8 0 1.2
1.9 0.9 1.6 0
It is assumed that wagons can stay at stations until the next day for free, so the diagonal elements of the matrix C are zero.
The initial distribution of wagons is characterized by the following vectors:
During the period t = 3, wagons do not arrive, which is equivalent to the zero vector <S'0(3).
Let's rewrite this problem in the new notation. The PC vector has a dimension of 2TN2 = =2 • 3 • 16 = 96. The representation of such a vector in explicit form will not fit on the page, so let's consider the intermediate vectorsp and c of length N2 = 16, made up on the basis of matrices P and C:
f \ 0 / \ 5
2 ;s°(2) = 0
1 0
J,
' 0 N ' 0 ^
0 1.9
2.9 1.3
0 1.9
1.1 1.2
0 0
2.3 1.8
0 0.9
0 c = 1.1
1.9 1.2
0 0
2.1 1.4
0 1.3
0 1.5
0 1.2
I 0 J I 0 J
The PC vector is obtained by successive concatenation of these vectors, namely:
PC = (pT,pT,pT,cT,cT,cT)T.
The vector Q, obtained from the matrix Q and having dimension N2 =16, takes the following form:
0 0
3 0
5 0
4 0
Q= o
7 0
6 0 0 0
„ 0 ^
The vector S0, which dimension is TN = 3 • 4 = = 12, is constructed on the basis of vectors iS^l ) and S°(2 ) and has the following form:
i'=(0 2 1 3 5 0 0 1 0 0 0 0)r.
It remains to get the matrices A , A , and
^ in 7 out
Aq. Dimension of the matrix AQ equals to (N2 x 2m2 ) = (16 x 96). Let's write it in the sparse matrix format, i.e. specify the coordinates of non-zero elements equal to one. The list of coordinates of elements equal to one of the Aq matrix is as follows (here and everywhere else, the numbering of rows and columns begins with one):
(1,1),(2,2),(3,3), (4, 4),(5,5),(6,6),(7,7),(8,8), (9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16, 16), (1, 17), (2, 18), (3, 19), (4, 20), (5, 21), (6, 22), (7, 23), (8, 24), (9, 25), (10, 26), (11, 27), (12, 28), (13, 29), (14, 30), (15, 31), (16, 32), (1, 33), (2, 34), (3, 35), (4, 36), (5, 37), (6, 38), (7, 39), (8, 40),
(9, 41), (10, 42), (11, 43), (12, 44), (13, 45), (14, 46), (15, 47), (16, 48).
The same format is used for the A and A ,
in out
matrices, which dimension is (TN x 2TN2 = = (12 x 96). The list of coordinates of elements equal to one of the A. matrix:
in
(5, 1), (7, 3), (12,4), (5, 5), (6, 6), (8, 8), (5, 9), (10, 10), (7, 11), (5, 13), (10, 14), (7, 15), (8, 16), (9, 17), (11, 19), (9, 21), (10, 22), (12, 24), (9, 25), (11, 27), (9, 25), (11, 27), (9, 29), (11, 31), (12, 32), (5, 49), (7, 51), (5, 53), (6, 54), (8, 56), (5, 57), (10, 58), (7, 59), (5, 61), (10, 62), (7, 63), (8, 64), (9, 65), (10, 70), (12, 72), (9, 73), (11, 75), (9, 77), (11, 79), (12, 80).
List of coordinates of elements equal to one of the A , matrix:
out
(1, 1), (1, 2), (1, 3), (1, 4), (2, 5), (2, 6) (2, 7), (2, 8), (3, 9), (3, 10), (3, 11), (3, 12) (4, 13), (4, 14), (4, 15), (4, 16), (5, 17), (5, 18) (5, 19), (5, 20), (6, 21), (6, 22), (6, 23), (6, 24) (7, 25), (7, 26), (7, 27), (7, 28), (8, 29), (8, 30) (8, 31), (8, 32), (9, 33), (9, 34), (9, 35), (9, 36) (10, 37), (10, 38), (10, 39), (10, 40), (11, 41) (11, 42), (11, 43), (11, 44), (12, 45), (12, 46) (12, 47), (12, 48), (1, 49), (1, 50), (1, 51) (1, 52), (2, 53), (2, 54), (2, 55), (2, 56), (3, 57) (3, 58), (3, 59), (3, 60), (4, 61), (4, 62) (4, 63), (4, 64), (5, 65), (5, 66), (5, 67), (5, 68) (6, 69), (6, 70), (6, 71), (6, 72), (7, 73), (7, 74) (7, 75), (7, 76), (8, 77), (8, 78), (8, 79), (8, 80) (9, 81), (9, 82), (9, 83), (9, 84), (10, 85) (10, 86), (10, 87), (10, 88), (11, 89), (11, 90) (11, 91), (11, 92), (12, 93), (12, 94), (12, 95) (12, 96).
After all vectors and matrices are defined, problem (7)—(10) can be solved. The result of solving this problem is vector K, which dimension is 2TN2 = 96. Let's give one of the solutions found, writing out the values of only nonzero elements of vector K:
K7 = 2; K10 = 1; K19 = 2; K„ = 2; K42 = 4; K44 = 2;
K62 = 3; K65 = 2; K67 = 1; K79 = 1; K81 = 2.
This solution may be rewritten in the format of matrices R1(t ) and X2(t ):
JO(l):
K\{ 3) =
*2(1) =
0 0 0 3
0 0 2 0 ; *1(2) = 0 0 0 0
0 0 0 5
0 1 0 0 2
0 0 0, 0 0 0,
'0 0 0 0s (11)
0 0 2 0
0 2 0 6 5
0 0 0,
'0 0 0 '0 0 2
0 0 0 0 0 0 0 0
0 0 0 0 ;K2(2) = 0 0 0 0
1 2 ,0 0 1 0;
f° 0 0 ox (12)
0 0 0 0
0 0 0 0
,0 0 0 0,
K2($) =
The resulting solution (11), (12), due to the small scale of the problem, can also be represented by diagram shown in Figure 1. The profit of the resulting solution can be calculated in two equivalent ways — either based on the formula used in (2), or as the product of the vectors PCT• K. For this problem, its value, expressed in conditional units, is equal to 32.3.
Let's analyze the resulting solution. It can be seen that one of the requests for the transportation of 5 wagons from station 2 to station 1 remained unfulfilled. The request for transportation of 7 wagons from station 3 to station 2 must be partially fulfilled in the amount of 5 wagons. All other requests according to the plan are going to be fulfilled wholly. In accordance with the plan requests from station 1 to station 3, as well as from station 3 to station 4, are going to be executed completely by using one run. Requests from station 2 to station 3 and from station 3 to station 2 have to be executed in stages — two
Day 1
Day 2
Day 3
Station 4 (arrive in next time window)
Station2 (arrive in next time window)
Station 3 (arrive in next time window)
I I Arrivals from I I Loaded runs T I Empty runs previous month
Fig. 1. Schematic representation of the solution (11), (12)
runs for the first request and three runs for the second one. Also, the plan found offers execution of several empty runs. So, on the first day, one empty wagon is sent from station 4 to station 2, and two empty wagons are sent from station 4 to station 3. The duration of the first empty run is 2 days (the wagon will arrive at station 2 by the third period), the duration of the second empty run is one day. Similarly, on the second day there are two empty runs: one wagon from station 4 to station 3 and two wagons from station 1 to station 3, the duration of both runs is one day. There are no empty runs scheduled for the final third period.
Conclusion
This paper considers the transport problem that arises for transport operators when managing a fleet of freight rail cars. The approach proposed in this paper allows us to find the optimal plan on the entire set of possible routes, while the methods asso-
ciated with the column generation method search for optimal plans on subsets of all possible routes. The significant disadvantage of the proposed approach is that it requires significantly more time for calculation then methods associated with generating columns approach. Therefore, it is important to suggest ways to modify this approach, which will lead to acceleration of computing processes.
The large dimension of the problem is mainly due to the fact that statement (2)— (4), (6) takes into account all possible routes, including those that do not actually exist. In particular, this applies to cargo routes. In this statement, all cargo routes are considered, although only a small percentage of them are relevant (only those specified in the requests are relevant).
When solving the problem based on real data, the number of stations can be equal to about 1000, the dimension of the vector K in this case will be about 2TN2 = 1.2 ■ 108, in the case when planning horizon is T = 60. It is clear that in practice, the linear program-
ming problem with such a dimension cannot be solved in a reasonable time.
Vector K consists of two parts, the first part is based on matrices K1(t); the second part is based on matrices K1(t). If for empty routes it is not known in advance which of them will be used and which will not, then in the case of cargo routes it is known that only those specified in the requests will be in use, so the remaining routes may be removed from consideration. This means that it is more rational to take into account only those elements of the matrices K1(t), t e {1, ..., T} that correspond to the cargo routes specified in the submitted requests. Only these cargo routes should also be taken into account in the K vector, as there is no sense to take into account other cargo routes. Thus, the dimension of the vector K can be significantly reduced. Obviously, it is necessary to exclude such routes not only from the K vector: the PC vector generation algorithm, as well as the A , A and A matrix gener-
Q ' in out °
ation algorithms, also must be modified. In this paper, to simplify the presentation, the specified algorithms for forming vectors and matrices are not considered.
To assess how much the size of the problem can be reduced, let's look at the data of a real problem, in which N = 1126, and the number of requests equal to the number of demanded cargo routes is 1616. Under these conditions, the first part of the modified vector K, which is responsible for cargo runs, at T = 60 has the dimension T ■ 1616 = 96960 instead of nf1 =76072560. It is easy to see that the dimension of the first part of the vector K is reduced by almost 800 times. If the algorithm for forming the second part of the vector K responsible for empty runs is left unchanged, then the dimension of the vector K in the modified algorithm will be T ■ 1616 + TN2 = 76169520 instead of 2W = = 152145120, i.e. it will be reduced by almost half.
Separately, it can be noted that the planning horizon of one month is too short to solve real problems. This is due to the fact that with such a planning horizon, the result of optimization may be a plan in which a large number of requests with the maximum rate, as well as the maximum distance and duration of routes will be planned for the last days of the planned month. The implementation of this plan will lead to the maximum possible profit in the planning month; however, this is fraught with the fact that in the month following the planning month, the wagons may be distributed in a manner extremely inconvenient both in space and in time of arrival at destination stations. Obviously, this may lead to a noticeable decrease in profit in the next month. Based on this, the planning horizon in the optimization model should be increased. However, if one increases the planning horizon to several months, then each of these months should be planned for its own separate list of requests. Generally speaking, the lists of requests for different months should not coincide, but since only the current list of requests is known for sure and the requests for the following months are unknown, within the model it can be assumed that the lists of requests expected in the future months coincides with the current list. We consider it reasonable to take two months as the planning horizon, such an expansion of the planning horizon will lead to a twofold increase in the dimension of the problem.
Further work on the model should be done in the direction of taking into account more factors, as well as in the direction of optimizing computational processes by reducing the dimension of the problem. All of the above is expected to be taken into account in future works. ■
Acknowledgments
The reported study was funded by RFBR, project number 19-29-06003.
References
1. Lazarev A.A., Musatova E.G., Gafarov E.R., Kvaratskheliya A.G. (2012) Schedule Theory. Problems of railway planning. Moscow: IPU RAS (in Russian)
2. Lazarev A.A., Musatova E.G., Kvaratskheliya A.G., Gafarov E.R. (2012) Schedule Theory. Problems of transport system management. Moscow: MSU (in Russian).
3. Lusba R., Larsen J., Ehrgott M., Ryan D. (2011) Railway track allocation: models and methods. OR Spectrum, vol. 33, no 4, pp. 843-883. DOI: 10.1007/s00291-009-0189-0.
4. Cordean J.-F., Toth P., Vigo V. (1988) A survey of optimization models for train routing and scheduling. Transportation Science, vol. 32, no 4, pp. 380-404. DOI: 10.1287/trsc.32.4.380.
5. Ravindra K., Mohring R.H., Zaroliagis C.D., eds. (2009) Robust and online large-scale optimization: Models and techniques for transportation systems. Berlin, Heidelberg: Springer.
DOI: 10.1007/978-3-642-05465-5.
6. Brucker P., Hurink J., Rolfes T. (1999) Routing of railway carriages: A case study. Technical Report 1498. Netherlands: University of Twente.
7. Brucker P., Hurink J., Rolfes T. (2003) Routing of railway carriages. JournalofGlobal Optimization, no 27, pp. 313-332. DOI: https://doi.org/10.1023/A1024843208074.
8. Cordean J.F., Soumis F., Desrosiers J. (2001) Simultaneous assignment of locomotives and cars to passenger trains. Operations Research, vol. 49, no 4, pp. 531-548. DOI: 10.1287/ opre.49.4.531.11226.
9. Eidenbenz S., Pagourtzis A., Widmayer P. (2003) Flexible train rostering. Algorithms and Computation. ISAAC 2003. Lecture Notes in Computer Science, vol. 2906, pp. 615-624. DOI: https://doi.org/10.1007/978-3-540-24587-2_63.
10. Beklaryan L.A., Khachatryan N.K. (2013) On one class of dynamic transportation models. Computational Mathematics and Mathematical Physics, vol. 53, no 10, pp. 1649-1667 (in Russian). DOI: 10.7868/S0044466913100037.
11. Khachatryan N.K., Akopov A.S. (2017) Model for organizing cargo transportation with an initial station of departure and a final station of cargo distribution. Business Informatics, no 1, pp. 25-35. DOI: 10.17323/1998-0663.2017.1.25.35.
12. Khachatryan N.K., Akopov A.S., Belousov F.A. (2018) About quasi-solutions of traveling wave type in models for organizing cargo transportation. Business Informatics, no 1, pp. 61-70.
DOI: 10.17323/1998-0663.2018.1.61.70.
13. Beklaryan L.A., Khachatryan N.K. (2019) Dynamic models of cargo flow organization
on Railway Transport. Economics and Mathematical Methods, vol. 55, no 3, pp. 62-73 (in Russian). DOI: 10.31857/S042473880005780-7.
14. Fukasawa R., Aragio M.P., Porto O., Uchoa E. (2002) Solving the freight car flow problem to optimality. Electronic Notes in Theoretical Computer Science, vol. 66, no 6, pp. 42-52.
DOI: 10.1016/S1571-0661(04)80528-0.
15. Ceselli A., Gatto M., Lubbecke M., Nunkesser M., Schilling H. (2008) Optimizing the cargo express service of Swiss Federal Railways. Transportation Science, vol. 42, no 4, pp. 450-465. DOI: 10.1287/trsc.1080.0246.
16. Lulli G., Pietropaoli U., Ricciardi N. (2011) Service network design for freight railway transportation: the Italian case. Journal of the Operational Research Society, vol. 62, no 12, pp. 2107-2119. DOI: 10.1057/jors.2010.190.
17. Campetella M., Lulli G., Pietropaoli U., Ricciardi N. Fright service design for the Italian railways company. Proceedings of the 6th Workshop on Algorithmic Approach for Transportation Modelling, Optimization, and Systems (ATMOS 2006), Zurich, Switzerland, 14 September 2006, pp. 1-13. DOI: 10.4230/OASIcs.ATMOS.2006.685.
18. Andersen J., Christiansen M. (2009) Designing new European rail freight services. Journal of the Operational Research Society, no 60, pp. 348—360. DOI: 10.1057/palgrave.jors.2602559.
19. Jeong S.-J., Lee C.-G., Bookbinder J. (2007) The European freight railway system as a hub-and-spoke network. Transportation Research, Part A: Policy and Practice, vol. 41, no 6, pp. 523—536. DOI: 10.1016/j.tra.2006.11.005.
20. Sadykov R., Lazarev A., Shiryaev V., Stratonnikov A. (2013) Solving a freight railcar flow problem arising in Russia. Proceedings of the 13th Workshop on Algorithmic Approach for Transportation Modelling, Optimization, and Systems (ATMOS'13), Sophia Antipolis, France, 5September 2013, pp. 55-67. DOI: 10.4230/0ASIcs.ATM0S.2013.55.
21. Lazarev A.A., Sadykov R.R. (2014) Management problem of railway cars fleet. Proceedings of the XII All-Russian Meeting on Management Issues (VSPU 2014), Moscow, IPU RAS, Russia, 16-19 June 2014, pp. 5083-5093 (in Russian).
22. Desaulniers J., Desrosiers J., Solomon M. (2005) Column generation. New York: Springer.
23. Sadykov R., Vanderbeck F. (2013) Column generation for extended formulations. EURO Journal on Computational Optimization, vol. 1, no 1-2, pp. 81-115. DOI: 10.1007/s13675-013-0009-9.
24. Ahuja R., Magnanti T., Orlin J. (1993) Network flows: Theory, algorithms, and applications. Prentice Hall.
25. Williamson D. (2019) Network flow algorithms. Cambridge: Cambridge University Press. DOI: 10.1017/9781316888568.
26. Evans J.R., Minieka E. (1992) Optimization algorithmsfor networks and graphs. New York: Marcel Dekker.
About the authors
Fedor A. Belousov
Cand. Sci. (Econ.);
Researcher, Laboratory of Dynamic Models of Economy and Optimization, Central Economics and Mathematics Institute, Russian Academy of Sciences, 47, Nakhimovsky Prospect, Moscow 117418, Russia; E-mail: sky_tt@list.ru ORCID: 0000-0002-3040-3148
Ivan V. Nevolin
Cand. Sci. (Econ.);
Leading Researcher, Laboratory of Experimental Economics, Central Economics and Mathematics Institute, Russian Academy of Sciences, 47, Nakhimovsky Prospect, Moscow 117418, Russia; E-mail: i.nevolin@cemi.rssi.ru
Nerses K. Khachatryan
Cand. Sci. (Phys.-Math.);
Senior Researcher, Laboratory of Dynamic Models of Economy and Optimization, Central Economics and Mathematics Institute, Russian Academy of Sciences, 47, Nakhimovsky Prospect, Moscow 117418, Russia; E-mail: nerses@cemi.rssi.ru ORCID: 0000-0003-2495-5736