The main problem in the project is finding an algorithm that gives the set of feasible
journeys between two cities under multiple constrains (multi-constrained graph search
problem). We have to get the optimal solution for the problem given an objective
function and a set of constraints. In this chapter we are going analyze the railway
network and solve the problem of choosing the metrics of optimizing the journeys and
the metrics that will be constrains on the proposed journeys. Finally, we present the
system architecture and the implementation environment.
3.1 Railway network
The railway network includes a set of railway lines, trains, stations and time schedules.
This network is not represented by a simple graph. A simple graph is a set of nodes and
edges without self loops or multiple edges between two given nodes. In the railway
network there are self loops, which represent waiting in a station for another train to
continue a journey. Also there are multiple edges which represent multiple direct trains
between two given stations at different times.
Although the railway lines represent a static simple graph, the set of stations, train trips
and their schedules do not. At a certain time or date some trains are available, others
are not. Thus the corresponding graph is a dynamic one (time variant).
To represent the railway network with a single-edged graph, each station is represented
by many hubs. A hub is a train at a certain station at a certain time. This approach
eliminates the multi-edged property and the self loops, but there is still the problem of
the time constraint, which adds the difficulty that not all these edges are valid at any
time. Also, each edge of these edges can not be assigned a cost because some of the
constraints do not depend only on an edge between two stations, but also depend on the
previous choices of edges, as it will be declared in the next section.
UPDATE TRAIN
INFO.
REPORT GENERATION
(ADMIN)
LOGIN
VIEW RESERVATION
STATUS
VIEW TRAIN
SCHEDULES (PASSENGER)
(CLERK)
RESERVE SEATS
CACELLATIONS