You are on page 1of 5

Question 1: Write a summary of the article:

“A Novel Dynamic Programming Approach to the Train Marshalling Problem”

Rearrangement of the rail cars in a specific order is known as Train Marshalling Problem. TMP
is responsible for rearranging rail cars on their arrival in a certain order. Rail cars arrive in
different destinations, so the objective of TMP is to rearrange the rail cars approaching to the
similar destinations in the final order. The rail is divided into many tracks known as
classification tracks. Sorting of the rail cars is performed by putting each car into the
classification track and the pullout of each car from the classification track is performed
according to track and the final train is formed in which all rail cars with similar destinations
appear consecutively. It is recommended to use fewer classification tracks for each train because
there is a possibility of having several trains at the station to be arranged at the same time. TMP
is a problem in which computation of an optimal consumes a lot of time.
The techniques involved in solving NP-hard problems are classified into exact and inexact
methods. The exact methods are useful in finding the optimal solution regarding NP Hard
problem but use exponential time in worst case scenario to solve NP Hard problem. Contrary to
that, inexact methods are useful in finding suboptimal in polynomial time. These methods can be
divided into two sub classes/approaches approximation algorithms and heuristic/metaheuristic.
Approximation algorithms provide sub optimal solution for any problem and the second
approach don’t offer any guarantee of performance.
Many methods are present in the literature to find the optimal solution for the NP-hard problem
with complexities O(2O(k)poly(n)) time and O(n2k28k) space. State of the art algorithm has
been proposed by Rinaldi and Rizzi and was based on a dynamic programming approach to solve
TMP. This algorithm has time complexity O(nkt22t) and space complexity O(nkt).
The paper under discussion has proposed a novel exact dynamic programming algorithm for
TMP and has developed to directly solve the optimization version of the TMP as previous
algorithms are designed for both polynomial-time and exponential-time. The advantage of the
proposed algorithm is its ability to find not only the minimum number of required classification
tracks, but also the classification track that each rail car is assigned to, in an optimal solution, as
well. In worst case scenarios, the time complexity of an algorithm is O(nt2t) and space
complexity is O(n2t).
The authors formulated the TMP with the help of four different examples with different size of n,
t, and B. these three parameters are called the TMP instance and can be described by a triple (n;
t; B), where n is the number of rail cars of the train, t is the number of destinations, and B is the
set of all blocks.
The problem can be formulated as the proposed algorithm can be capable to find the smallest
number of classification tracks by which the inbound train can be rearranged according to the
destinations. The authors proposed the following notations for TMP:
(n; t; B)
(n; t; B; i)
‘+n’
By considering the above notations author first proposed the BOTTOM-UP-DP-TMP, the
proposed algorithm has three loops first loop the middle loop and the last loop. The complexity
of the loop is nt(2t-1-1): the time complexity of the BOTTOM-UP-DP-TMP is O(nt2t) and the
space complexity is O(n2t). The time complexity of the BOTTOM-UP-DP-TMP algorithm is
better than the inclusion-exclusion, method, the BOTTOM-UP-DP-TMP has been improved by
introducing the lemma 1 and lemma 2. By using lemma 1 and lemma 2 the author has proposed a
new algorithm which is enhanced from the BOTTOM-UP-DP-TMP called MEMOIZED-DP-
TMP. The MEMOIZED-DP-TMP required less computation time as compared to the previous
one.
The improved version, the procedure MEMOIZEDDP-TMP has been proposed in algorithm. The
MEMOIZEDDP-TMP is the top-down (recursive) memorized version of the procedure
BOTTOM-UP-DP-TMP that takes advantage of the results stated in Lemmas 1 and 2. In a
bottom-up dynamic programming algorithm, the author fills a table with solutions to all smaller
sub instances.
The algorithms have been implemented in Maple 18.00, and the experiments have been carried
out on an Intel Core i5-3330 CPU at 3.0– 3.2 GHz desktop computer with 4.00 GB of RAM,
running Microsoft Windows 8.1 operating system.
For all run, the author imposes the time limit of 5000 seconds.
The baseline method and the proposed algorithms have been analyzed (for TLE time exceed
limit and DTMP and the MEMOIZED-DP-TMP ) the different values of n and t, for instance, the
values of n (50, 75, 100, 200, 300, 400, 500, 750, 1000) and t(5, 7, 9, 11, 13, 15) for LTE and n
(50, 500, 1000) and t (5, 7, 9) for the DTMP and the MEMOIZED-DP-TMP.
The experimental results present in the article are the evidence of the fact that the proposed
method outperforms as compared to the previous well known dynamic programming methods.
Given a TMP instance (n; t; B) and given k 2 N, for deciding whether or not the railcars can be
rearranged in an appropriate order by using at most k classification tracks, the algorithm
described in inclusion-exclusion algorithm requires O(nkt 22t) time and O(nkt) space. On the
other hand, the proposed approach, in its worst-case behavior, requires O(nt2t) time and O(n2t)
space for making such a decision. The proposed method can optimality, instances involving 1000
railcars, and 15 destinations in about 1(1/4) hours.
Question 2: Write a critical review of the research article:

“A Novel Dynamic Programming Approach to the Train Marshalling Problem”.

In train marshalling problem (TMP), provides one of the most classical problems to rearrange the
trains in the yard according to their similar destinations. This problem is considered and proven
as an NP-hard problem and needs to be optimized to Marshall the trains in an efficient and
accurate order.

In this text the authors proposed a new novel algorithm to optimize the Train Marshalling
Problem with less time and space complexity. The proposed algorithm has been developed to
directly solve the optimization version of the TMP as it does not need to make successive calls to
a procedure that solves the decision version of the problem. Previous algorithms were designed
for both polynomial-time and exponential-time. The advantage of the proposed algorithm is its
ability to find not only the minimum number of required classification tracks, but also the
classification track that each rail car is assigned to, in an optimal solution, as well. In worst case
scenarios, the time complexity of an algorithm is O(nt2t) and space complexity is O(n2t).
The article has a well-structured format, and the problem formulation has presented in a good
way. The results are compared with the baseline approach to validate the optimality and
performance.

The major findings are mentioned below:

 The authors give different examples to understand the TMP with various input sizes, for
instance, different values of the number of taring represent by n, the number of destinations
represents by t, and the number of blocks represents by β. These values are helpful to
calculate the number of classification tracks required to Marshall the trains in the correct
order.
 The author proposed that the TMP instance can be described by a triple (n; t; B), where n is
the number of railcars of the train, t is the number of destinations and B is the set of all
blocks. At the end of the section, the author proposed new notations for the n, t, and β that is
For instance tripe (n, t, β) let i €[n], this imposes the condition that none of the element of

could be placed before the ith position of the first segment of A(n). By introducing
this condition with triple author proposed a new notation (n, t, β, i) this instance is also
referring to TMP instance that is triple can be expressed in terms of (n, t, β, i), by using these
notations authors proposed new notation +n. this notation is symbolized as modulo-n
addition, except that if the result is 0, it is replaced by n.
 In the third section, the author proposed three novel algorithms to optimize the TMP, A
(bottom-up table-based) dynamic programming algorithm, the algorithm to construct an
optimal solution for a given TMP instance, using the table T returned by the procedure
BOTTOM-UP-DP-TMP.
 BOTTOM-UP-DP-TMP, the proposed algorithm has three loops. The first, the middle and
the last loop. The complexity of the loop is nt(2t-1-1): the time complexity of the BOTTOM-
UP-DP-TMP is O(nt2t) and the space complexity is O(n2t). The time complexity of the
BOTTOM-UP-DP-TMP algorithm is better than the inclusion-exclusion method.
 The BOTTOM-UP-DP-TMP has been improved by introducing the lemma 1 and lemma 2.
By using lemma 1 and lemma 2 the author has proposed a new algorithm which is enhanced
from the BOTTOM-UP-DP-TMP called MEMOIZED-DP-TMP. The MEMOIZED-DP-TMP
required less computation time as compared to the previous one.
 The improved version, the procedure MEMOIZEDDP-TMP has been proposed in algorithm
3, the MEMOIZEDDP-TMP is the top-down (recursive) memoized version of the procedure
BOTTOM-UP-DP-TMP that takes advantage of the results stated in Lemmas 1 and 2. In a
bottom-up dynamic programming algorithm, the author fills a table with solutions to all
smaller sub instances.
 In previous algorithms regarding inclusion-exclusion based dynamic programming algorithm
no practical implementation has presented to validate the performance and the optimality of
the proposed algorithms. The major contribution of this paper is to present the practical
implementation of not only the proposed algorithms but the previous algorithms as well to
validate the performance.
 The algorithms have been implemented in Maple 18.00, and the experiments have been
carried out on an Intel Core i5-3330 CPU at 3.0– 3.2 GHz desktop computer with 4.00 GB of
RAM, running Microsoft Windows 8.1 operating system.
 The baseline method and the proposed algorithms have been analyzed (for TLE time exceed
limit and DTMP and the MEMOIZED-DP-TMP ) the different values of n and t, for instance,
the values of n (50, 75, 100, 200, 300, 400, 500, 750, 1000) and t(5, 7, 9, 11, 13, 15) for LTE
and n (50, 500, 1000) and t (5, 7, 9) for the DTMP and the MEMOIZED-DP-TMP.
 Given a TMP instance (n; t; B) and given k 2 N, for deciding whether or not the railcars can
be rearranged in an appropriate order by using at most k classification tracks, the algorithm
described in inclusion-exclusion algorithm requires O(nkt22t) time and O(nkt) space. On the
other hand, the proposed approach, in its worst-case behavior, requires O(nt2 t) time and
O(n2t) space for making such a decision. The proposed method can optimality, instances
involving 1000 railcars, and 15 destinations in about 1(1/4) hours.

However, the text is good for the selection of the best sorting algorithms in different applications
while the article has some limitations. These limitations are listed bellow

 The results analyzed in this article are based on a single machine. The performance and
optimality may change if the machine has changed. In order the make the results
consistent the experiment should be performed on different machines. The change in
performance with a different machine should be analyzed.
 As the baseline method has not presented the practical results so there may be a biasing
factor to validate the performance of the proposed algorithm.

You might also like