Network reduction
4.5.3 Network reduction
Since the real-world instances to be handled are extremely large, a network reduction, if possible, would be extremely beneficial for our solution approach. Observing the network data, we note that there are many nodes with input and output degree equal to one. This yields paths with chains where, once the first arc is selected, also the other arcs in the chain will be necessarily selected. So it is possible to substitute all these chains with a unique arc (see Figure 4-5) in order to simplify the network without cutting-off any path.
European Commission UMD and UOB Sixth Framework Programme
Organization Code:
Figure 4-5. Dropping a node with input degree and output degree equal to 1.
The dropping phase starts by identifying the chains. They are a sequence of nodes in which the two extreme nodes do not have both input and output degree equal to 1, whereas the intermediate ones do. Once we identify a sequence with these characteristics, all the not extreme nodes and all the arcs of the chain are dropped from the network, and a new arc is added with these attributes:
• arc_key is the new arc identifier (note this must be unique); • arc_bwd_node is the backward node of the chain;
• arc_fwd_node is the forward node of the chain; • arc_length is equal to the sum of the lengths of the dropped arcs (i.e. of the arcs
forming the chain);
• arc_f_speed is equal to where j denotes the indices of the dropped arcs, l j
and v j are the length and the speed, respectively, of each dropped arc j ;
• arc_axlewgt60 is the minimum arc_axlewgt60 between the dropped arcs;
Organization Code:
UMD and UOB
European Commission
Classification:
Unclassidied
Sixth Framework Programme
• arc_max_length is the minimum arc_max_length between the dropped arcs; • arc_dir is the direction of the chain;
• arc_type is always 1; • arc_delayed_node is always -1;
• n_dropped_nodes is the number of the dropped nodes (i.e. of the not extreme nodes of the chain);
• dropped_node[1] dropped_node[n_dropped_nodes] is the ordered sequence of the dropped nodes.
This procedure leads to a significant exact reduction of the network size. This is shown in Figure 4-6 where the original and the reduced networks are represented.
(a) Original network (b) Reduced network
Figure 4-6. The original and the reduced network
In order to be able to map back on the original network the paths found by the algorithm, a file is created in which the details of the reduction are stored. This file, called dropnet.txt, has the following structure:
European Commission UMD and UOB Sixth Framework Programme
Organization Code:
arc_key arc_bwd_node arc_fwd_node arc_length arc_f_speed arc_axlewgt60 arc_max_length arc_dir arc_type arc_delayed_node n_dropped_nodes dropped_node[1] dropped_node[n_dropped_nodes]
where the first 8 fields are the same as in the arc input file, arc_type is the arc type (1 if the arc is taken from the original input network -with the exception of the border crossing arcs-, 2 if it is a dummy arc with null transit time - i.e. from the source node to a terminal, from a terminal to the destination node or between two dummy nodes - or 3 if the arc was added to model the delay at a terminal, or is a border crossing arc), arc_delayed_node is the node to
which the arc refers if it is a dummy arc added to model a delay ( − 1 for arcs of type 1 and 2, and for border crossing arcs of type 3), n_dropped_nodes is the number of dropped nodes between the backward and the forward nodes (0 for arcs not corresponding to chains) and dropped_node[1] dropped_node[n_dropped_nodes] are the identifiers of the dropped nodes.