Inverse Maximum Capacity Path Problems Under Sum-Type and Max-Type Distances and Their Practical Application to Transportation Networks

The maximum capacity path problem is to find a path connecting two given nodes in a network such that the minimum arc capacity on this path is maximized. The inverse maximum capacity path problem (IMCP) is to modify the capacities of the arcs as little as possible so that a given path becomes maximum capacity path in the modified network. Two cases of IMCP are considered: the capacity of the given path is preserved or not. IMCP is studied and solved both, under any sum-type (e.g., weighted l norms and sum-type Hamming distance) and max-type distance (e.g., weighted l∞ norm or bottleneck Hamming distance). The obtained algorithms for IMCP are applied to solve a real road transportation network optimization problem. INDEX TERMS maximum capacity path; inverse optimization; minimum cut; Hamming distance


I. INTRODUCTION
The maximum capacity path problem (MCP) is an earliest combinatorial optimization problem. It is to find a path connecting two given nodes in a network, such that the minimum arc capacity on this path is maximized. There are many practical applications of MCP. For instance, in a network that represents connections between routers in the Internet, the capacity of an arc represents the bandwidth of the corresponding connection between two routers, the maximum capacity path problem is to find the path between two Internet nodes (source and sink) that has the maximum possible bandwidth [1]. Besides this well-known network routing problem, MCP is also an important component of the Schulze method for deciding the winner of a multiway election [2]. It is applied to digital compositing [3], metabolic pathway analysis [4], the computation of maximum flow [5], etc. Most shortest path algorithms can be adapted to compute the maximum capacity path, by modifying them to use the bottleneck distance, instead of path length. There is also a very fast algorithm proposed in [6] to solve MCP in linear time. Inverse optimization is a relatively new research domain and it has been intensively studied [7,8,9,10,11,12,13]. Many papers have recently been published in this domain and are still being published nowadays. Inverse problems have lately found a lot of applications in modern areas, such as mathematical biology, materials science, remote sensing, medical imaging, seismology, geophysics, oceanography, mathematical finance, etc. An inverse network optimization problem consists of modifying some parameters of a network, such as capacities or costs, so that a given feasible solution of the direct optimization problem becomes an optimal solution and the distance between the initial vector and the modified vector of parameters is minimized. Different norms, such as , ∞ , or even , or Hamming distances are considered to measure this distance. VOLUME XX, 2020 The inverse maximum capacity path problem (IMCP) is to modify the capacities of the arcs as little as possible so that a given path becomes maximum capacity path in the modified network. IMCP was for the first time studied under norm in [14]. In this paper, a O(mQ) time algorithm was obtained, where m is the number of arcs and is the complexity of finding the minimum weight cut set. Later, IMCP was studied and solved under weighted and ∞ norms [15]. Similar time complexity under weighted norm was obtained in [15]. In the case of weighted ∞ norm, a strongly polynomial algorithm was obtained in [15]. In [16], IMCP under weighted norm and sum-type Hamming distance was reduced to (m) minimum cut problems, while IMCP under bottleneck-Hamming distance was reduced to (log( )) cut feasibility problems. In previous papers, IMCP was only studied under very particular distances: weighted l 1 , weighted l ∞ , and Hamming distances (Please see references cited in the paper). Our paper considers IMCP in the most general case: under any sum-type or max-type distances. Specially, IMCP under weighted l k norms (k > 0) is also a particular case of our work and it was not studied before because this case is much more complicated than the others. In general, there are very few papers concerning inverse problems under l k norms in the literature [17,18]. For the first time in literature, our paper focuses on a special case of IMCP in which the capacity of the given path is preserved. This case has two major advantages: 1) It permits some real-world applications. For instance in Section VII, we showed how a transportation optimization problem can be modeled and solved using this newly introduced case.
2) It can be solved by polynomial-time algorithms whose worst-case complexity is better than the algorithms of classical IMCPs (see Table 1). Let us state an application of IMCP in transportation networks. A convenient criterion used in selecting routes is the distance between public rest areas containing gas pumps, restaurants, and service centers. Due to the safety and comfort of trip, a driver may choose a route, which its public rest areas are near together. Therefore, we can assign any route to a distance, which is the maximum distance of rest areas within the route. Now suppose that a path is so crowded, and we would like to shunt traffic flow toward parallel paths. To achieve this goal, we may vacate some rest centers to maximize the distance of , and on the other hand, we can construct new rest centers and equip available rest areas to minimize the distance in other parallel paths. This is a typical example of IMCPs. It is remarkable that this application has a special characteristic: it does not seem to be reasonable that we vacate some rest centers in P. This motivates us to think the problem in the special case that the capacity of P is preserved. For this problem, there is a cost that must be minimized. The total cost of modification or the maximum cost of modification on a portion of road could be considered for minimization. Also, the cost per unit of modification or the cost calculated per each portion of road is involved. Depending on the chosen objective minimization, different IMCP problem is obtained. This is the reason why IMCP is studied in this paper under different sum-type and max-type distances. This paper is organized as follows. In Section 2, MCP is briefly introduced. In the next four sections the inverse counterpart of MCP (IMCP) is studied in two cases: the capacity of the given path is preserved or not. In each of these cases we show how IMCP can be solved under both, sum-type and max-type distances. In Chapter 7, a road transportation network optimization in a region of Iran is performed using an algorithm for special case of IMCP. Conclusions are drawn in the end of the paper.
II. MAXIMUM CAPACITY PATH PROBLEM Let G = (N, A, c, s, t) be a directed and connected network, where is the set of nodes, is the set of arcs which is a subset of × (an arc = ( , ) starts from node and terminates at node ), : → is the capacity function, and are two special nodes of , is called the source node and is referred to as the sink node. We denote by the number of nodes and by the number of arcs, i.e., = | | and = | |. (1) A path from a node ∈ to a node ∈ in the network G is given by a sequence of nodes: = ( = , , … , = ), where ≥ 1, and ( , ) ∈ , = 1,2, … , − 1. For simplifying, hereafter, a path from to is called an − path. The capacity of an − path is denoted by ( ) and is given by the minimum of its capacities, that is, The maximum capacity path problem (MCP) in the network G is to find an − path having the maximum capacity among all − paths:

III. INVERSE MAX. CAPACITY PATH PROBLEM
In this section, we introduce the inverse version of maximum capacity path problem, and we provide some initial results. Let be a given − path in the network G = (N, A, c, s, t). The inverse maximum capacity path problem (IMCP) is to modify the arc capacities as little as possible so that becomes a maximum capacity path in the modified network. First, we study the special case that the capacity of the given path must be preserved. In this case, in order to solve IMCP, it is no need to increase any arc capacity. So, IMCP is to find a new capacity vector ̅ : → as a solution of the following optimization problem: VOLUME XX, 2020 In (4), ( ) is a given upper bound on the modification of the capacity of (namely, the capacity of cannot be decreased more than ( ) units), where ( ) ≥ ( ) ≥ 0 and is a distance function to measure the distance between ̅ and . Due to the existence of bound constraints in (4), we construct the following set of arcs: The following result justifies the reason of constructing . Proof. To prove the necessity part, we suppose that IMCP has a feasible solution ̅ : → . By assumption, the modified capacity ̅ of each arc is not greater than the initial capacity . We suppose that there is a path in from to . In ̅ = ( , , ̅ , , ) we have: From (6) it is clear that is not a maximum capacity path in ̅ . This is a contradiction with the last condition from (4). Now, to prove the sufficiency, we suppose that there is no − path in the directed graph = ( , ). We construct ′: → as follows: We and so, the second constraint of (4) is satisfied by ′ . From the fact that there is no − path in = ( , ) and all the arcs of − have the same capacities ( ), it results that any − path in ′ = (N, A, ′, s, t) has the capacity equal to ( ) and so, the last condition in (4) is fulfilled. So, the last two constraints in (4) are satisfied by ′. It means that the set of feasible solutions is not empty. □ To solve IMCP, we now introduce the following notation: The following result clarifies the reason of defining .
Theorem 2. If IMCP has an optimal solution, then there exists an optimal solution ̃ to (4) so that 1. the capacities remain unchanged on the arcs of and , i.e., 2. if the capacities of some arcs are changed, then they are equal to the fixed value ( ), i.e., Proof. Consider an optimal solution ̅ of IMCP. Proof of part 1: Let us take an arc ∈ ∪ so that ̅ ( ) < ( ). Of course, there are two different situations, either ∈ or ∈ : On the other hand, we know that any − path has the capacity ̅ ( ) ≤ ̅ ( ). So, it is obvious that the modification of the capacity of is useless since ̅ ( ) > ̅ ( ). The capacity vector ̃ defined as is also an optimal solution to IMCP.
So, when the solution ̅ of IMCP is built, it is no need to change the capacity of .
Proof of part 2: Let us take an arc ∈ of which capacity is modified, i.e., ̅ ( ) < ( ) and let us suppose that ̅ ( ) ≠ ( ). There are 2 cases: So, in both cases, modifying the capacity of is useless. □ From theorem 2, it results that only the arcs belonging to the set are the only candidates for modification to solve IMCP. Based on theorem 2, it results that if the capacity of an arc ∈ has to be modified, then its capacity becomes ̅ ( ) = ( ). Using the last two observations, the problem (4) is rewritten as follows: Depending on the formula used in (10) to measure the distance between the two capacity vectors, it yields two different problems with different approaches. We distinguish between two categories of distance formulas commonly applied to two m-dimensional vectors: sum-type and max-type. The first one is a sum of distances applied to each component and the second one is given by the maximum of the distances on components. We use a distance function satisfying to measure the distance between i-th components of the two capacity vectors.
In the case of sum-type distance, the objective function of (10) is In the case of max-type distance, we have: Hereafter, we associate the cost ( ) to every arc ∈ : Let us now introduce an auxiliary network = ( , ,, , ). This network is the key idea to solve IMCP since it contains only the arcs of for which the capacities can be modified. Moreover, if the capacity of an arc ∈ is modified then the cost of modifying the capacity is ( ). In order to solve IMCP, a set ⊆ has to be found so that if the arcs belonging to are eliminated from , no longer communicates with through a directed path and the distance , obtained from (12) or (13), is minimized. So, the following theorem is immediate.
Theorem 3. The solution of IMCP is obtained as follows: where is the set of arcs eliminated from to minimize the objective function.
The corresponding optimization problem (10) under this distance is as follows: For instance, in (16) we can consider the weighted norm which is defined for two vectors and as follows: Here, the value > 0 is the given per unit cost of modification on the i-th component. Notice that the root of order > 0 in (17) will be ignored since it has no influence in optimizing the objective function of (16). It is obvious that we have ̅ ( ), ( ) = | ̅ ( ) − ( )| in this case. The sum-type Hamming distance is another well-known sum-type distance in the literature that can be used in (16): In formula (18), the value > 0 is the fixed cost of modification of the i-th component and ( , ) is the Hamming distance between and which is defined as When considering problem (16) under the sum-type Hamming distance, we have ̅ ( ), ( ) = • ( ̅ ( ), ( )). Now let us focus on solving problem (16). For this purpose, we need to define the notion of − cut [5]. Before doing that, we first introduce some notations. For two non-empty node sets and , the set ( , ) contains the arcs that connects nodes from to the nodes from , i.e., ( , ) = { = ( , ) ∈ | ∈ , ∈ }.
We define ℎ( , ) = ∑ ( , )∈( , ) ℎ( , ) for an arbitrary function ℎ: → . For a non-empty set ⊂ , we denote − by . The set of arcs [ , ] = ( , ) ∪ ( , ) is called a cut in the network . ( , ) is called the set of forward arcs of the cut and ( , ) is called the set of its backward arcs. In the special case that ∈ and ∈ , [ , ] is called an − cut. The capacity or cost of a cut [ , ] is denoted by [ , ] and is defined as follows: An − cut is called minimum − cut if its cost is minimum among all − cuts.
In IMCPS, the sum of costs ( ) on components must be minimized (see Theorem 3). Noting the notion of minimum − cuts, it is easy to see that the set in Theorem 3 is a minimum − cut in . So, we have the following result: is an optimal solution of (16), where ( , ) is a minimum − cut in .
Now we are able to present our proposed algorithm to solve IMCPS.
Let us study now the time complexity of AIMCPS.
Theorem 5. AIMCPS has a strongly polynomial time complexity of ( • ) in which and are defined as in (1).
Proof. Verifying the existence of a directed − path can be done in ( ) time using a depth search algorithm in [5]. The minimum − cut can be found in ( ) time after a maximum flow is computed in [5]. The bestknown algorithm for determining the maximum flow has a time complexity of ( • ) [19]. So , the time complexity of AIMCPS is ( • ). □

V. IMCP UNDER MAX-TYPE DISTANCES
In this section, we present a polynomial-time algorithm to solve IMCP under max-type distance. This problem is denoted by IMCPM. In this case, problem (10) In (22), we can consider the weighted ∞ norm which measures the distance between vectors and as Here, the value > 0 is the given per unit cost of modification on the i-th component. So, we have ̅ ( ), ( ) = | ̅ ( ) − ( )|. As another max-type distance, we can also consider the bottleneck Hamming distance where the value > 0 is the given fixed cost of modification on the i-th component and ( , ) is defined as in (19). In this case, we have ̅ ( ), ( ) = • ( ̅ ( ), ( )). We propose the following algorithm to solve IMCPM.
Theorem 6. The capacity vector ̅ constructed by AIMCPM is an optimal solution of (22).
Proof. If IMCPM is feasible and there is no path from to in , then it is easy to see that there is no path from to in with the capacity greater than ( ). It means that is the maximum capacity path in . So, ̅ = is an optimal solution to IMCPM. Now, let us concentrate on the situation when IMCPM is feasible and there is at least one path from to in . In this case, all − paths in must be interrupted by eliminating arcs from . We recall that the set of eliminated arcs was denoted in Theorem 3 by . To solve IMCPM, the maximum of costs ( ) on the arcs of must be minimized. This means that the minimum capacity arcs on the maximum capacity path in must be eliminated. Fortunately, the elimination of all arcs with ( ) ≤( ) interrupts all possible − paths in and it does not change the value of the max-type distance. So, for solving IMCPM, we can set = { ∈ |( ) ≤( )}. Based on Theorem 3, it follows that ̅ calculated using (15) is an optimal solution of IMCPM. □ Let us study the time complexity of AIMCPM.
Theorem 7. AIMCPM has a linear time complexity of ( ) in which is defined in (1).
Proof. Verifying the existence of a directed path from to in and can be done in ( ) time using a depth search algorithm [5]. The maximum capacity path in can be found in ( ) time [7]. So, the time complexity of AIMCPM is ( ). □

VI. GENERAL CASE
In this section, we consider the case when the capacity of the given path can be modified. We denote this problem by GIMCP. It is to find a new capacity vector ̅ : → in a way that min{ ( ̅ , )}, ( ) + ℎ( ) ≥ ̅ ( ) ≥ ( ) − ( ), ∈ , is a maximum capacity path in ̅ = (N, A, ̅ , s, t).
In (25), the capacity of every arc cannot be decreased more than ( ) units, where ( ) ≥ ( ) ≥ 0, and the capacity of every arc cannot be increased more than ℎ( ) units, where ℎ( ) ≥ 0. It is obvious that the capacities of arcs belonging to may be either fixed or increased, while the capacities of the other arcs may be either fixed or decreased. Of course, at the end, all the modified capacities are the same. To solve GIMCP, we successively increase the capacity of and apply our proposed algorithms for every new capacity of . If the value of the capacity of the path is increased to the network ′ = ( , , ′, , ) is obtained, where Absolutely, the above increasing is possible only if the modified capacity vector ′ satisfies the constraints of (25): So, it results that the upper bound for increasing the capacity of is where is the maximum capacity path in the initial network . The idea of our proposed algorithm is to find a value ∈ [ ( ), ℎ( )] so that if we increase the capacity of to and decrease the capacity of other paths to , then the cost of these modifications is minimized. The following algorithm is presented to solve GIMCP under any general distance when the capacities are required to be integer:

AGIMCP:
Compute ℎ( ) using (28); for p = ( ) to ℎ( ) do Increase the capacity on to p (see (26)); Apply AIMCPS or AIMCPM in the network ′ = ( , , ′, , ); end for; The optimum solution of GIMCP is given by the minimum cost solution constructed in the above "for" loop. Proof. The result is immediate since AIMCPS and AIMCPM run respectively in ( • ) and ( ) times (see theorems 5 and 7). □ Although AGIMCP has a semi-polynomial time due to the existence of , we can restrict the search region to convert it into a polynomial-time algorithm for solving GIMCPS under some well-known distances. Let us first focus on the case that dist is either the weighted 1 norm or one of bottleneck-type and sum-type Hamming distances. The following result determines that the region search is reduced to a set of ( ) cardinality.
Proof. Let * be an optimal solution so that * ( ) ∉ . Assume that we have sorted the elements of in a nondecreasing order, and the sorted list is as So there is an index ∈ {1,2, … , − 1} so that ≤ * < +1. Let us split the proof into two cases: 1) GIMCP under the bottleneck-type and sum-type Hamming distances; 2) GIMCP under the weighted 1 norm.
It is easy to see that is a feasible solution of (25). On the other hand, by definition, we have * * ( ) ≠ ( ) ⇒ * ( ) ≠ ( ). So the objective value of * * is less than or equal to * . These results show that * * is also an optimal solution satisfying the desired result. In the first situation, it is easy to see that * * defined in (31) is also feasible and has a cost less than or equal to that of * because Consequently, * * satisfies the desired result.
In the second situation, we define the new capacity vector ̅ * * as follows: Similarly, one can prove that the cost of ̅ * * is less than or equal to that of * . This completes the proof because ̅ * * is the desired optimal solution. □ Based on Theorem 9, it suffices that the search region is restricted to the set . So we have the following algorithm. The optimal solution of GIMCP is given by the minimum cost solution constructed in the above "for" loop. Proof. Since | | ≤ 2 + 1, it follows that the algorithm has at most ( ) iterations. Based on the fact that the complexity of AIMCPS is ( • ) (see Theorem 5), it results that the time complexity of AGIMCP2 is ( 2 • ) under the sum-type Hamming distance and the weighted 1 norm. Moreover, the complexity of AIMCPM is ( ) which implies that AGIMCP2 solves the problem under the bottleneck-type Hamming distance in ( 2 ) time. □ We now concentrate on GIMCP under the weighted ∞ norm. VOLUME XX, 2020 Theorem 11: GIMCP under the weighted ∞ norm has an optimal solution * so that * ( ) belongs to the set Proof. Let * be an optimal solution of GIMCP under the weighted ∞ norm and * = * ( ). Assume that: , then the result is immediate. So, we assume now that . By definition, ( ( ) − * ) and * − are not equal, then we can decrease their maximum to reduce the objective value. This causes that the other is increased. So, the optimal state is when both the values are equal: This completes the proof. □ Based on Theorem 11, we can propose the following algorithm to solve GIMCP under the weighted ∞ norm. Increase the capacity on to p (see (26)); Apply AIMCPM in ′ = ( , , ′, , ); end for; The optimum solution of GIMCP is given by the minimum cost solution constructed in the above "for" loop Theorem 12. AGIMCP3 has a time complexity of ( 2 ).
Proof. Since | ̅ | ≤ ( ) and AIMCPM runs in ( ) time (see Theorem 7), it follows that AGIMCP3 solves the problem under the weighted ∞ norm in ( 2 ) time. □ In table 1, a comparative list by time complexities of algorithms for IMCP from this paper and from the known literature is presented. VII. PRACTICAL APPLICATION Figure 1 depicts the roadmap of a seaside zone in Iran. Two major cities in the zone, Mahmood Abad and Behshahr, are marked with red dots on the map. The shortest possible route between the two cities is the coastline route that crosses the cities of Fereydoon Kenar Babolsar -Khazar Abad, and Kenar Darya. Because route is welcomed by many passengers, transportation engineers want to impose traffic solutions on the routes of this zone in order to reduce the volume of traffic on this route. Figure 2 shows the network structure of the routes between Mahmoud Abad and Behshahr. For this purpose, each road is assigned a capacity, which indicates the allowed passage of vehicles according.  Table 2 shows the types of capacity. For example, if we allocate a capacity of 4 to a road, the passage of all types of trucks is prohibited and the passage of the other vehicles is allowed. It is noteworthy that if a route includes several roads, it is natural to consider the minimum capacity of its roads as the capacity of that route. The capacity of a road depends on various factors such as road width, and road infrastructure. Of course, to control traffic, traffic experts can reduce the capacity of a route if they wish to reduce the traffic load on that road, but they are not able to increase the capacity of a route without improving the infrastructure and widening the road. Therefore, reducing the capacity does not cost much, while increasing the capacity is accompanied by exorbitant road construction costs. So natural that we consider only reducing capacity in this example. Figure 1 depicts the roadmap of a seaside zone in Iran. Two major cities in the zone, Mahmood Abad and Behshahr, are Roadmap of a seaside zone in Iran intro) The shortest possible route between the two cities is the coastline route that crosses the cities of Fereydoon Kenar -Because this route is welcomed by many passengers, transportation engineers want to impose traffic solutions on the routes of this zone in order to reduce the volume of traffic on this route. Figure 2 shows the network structure of the routes For this purpose, each road is assigned a capacity, which indicates the The network structure corresponding to Figure 1.
shows the types of capacity. For example, if we allocate a capacity of 4 to a road, the passage of all types of trucks is prohibited and the passage of the other vehicles is allowed. It is noteworthy that if a route includes several o consider the minimum capacity of its roads as the capacity of that route. The capacity of a road depends on various factors such as road width, and road infrastructure. Of course, to control traffic, traffic experts they wish to reduce the traffic load on that road, but they are not able to increase the capacity of a route without improving the infrastructure and widening the road. Therefore, reducing the capacity does not cost much, while increasing the capacity is ccompanied by exorbitant road construction costs. So, it is natural that we consider only reducing capacity in this To reduce traffic on the first route, transport engineers have proposed an alternative route for transportation between the two cities, which passes through the cities of Amol, Bab Sari and Neka. The strategy is that road traffic transferred to the second route. For this purpose, the capacity of all routes between these two cities can be reduced in such a way that the second route has more capacity than any other route. Table capacity of roads. For simplicity, we consider the cost of reducing the capacity of each road by one unit in proportion to the Euclidean distance of its endpoints. Notice the same IMCP with the integer capacities and in a situation where increasing the capacity of the g allowed. Although the underlying networ is easy to see that our proposed algorithms work undirected networks. If we use AIMCPS to solve this instance of IMCP under the weighted minimum cut is obtained which contains edges ('Behshahr', 'Neka'),('Khazar Abad', 'C3'), and ('C3', 'C2'). So we have to reduce the capacities of two edges ('Khazar Abad', 'C3'), and ('C3', 'C2') respectively from 6 and 4 to 3 and 3 with total cost 20. ransport engineers have proposed an alternative route for transportation between the , which passes through the cities of Amol, Babol, road traffic load must be transferred to the second route. For this purpose, the capacity of all routes between these two cities can be reduced in such a way that the second route has more capacity than any other route. Table 3 shows the initial licity, we consider the cost of reducing the capacity of each road by one unit in proportion points. Notice that this is capacities and in a situation where increasing the capacity of the given path is not the underlying network is undirected, it our proposed algorithms work well in If we use AIMCPS to solve this instance of IMCP under the weighted 1 norm, the is obtained which contains edges ('Behshahr', 'Neka'),('Khazar Abad', 'C3'), and ('C3', 'C2'). So we have to reduce the capacities of two edges ('Khazar Abad', 'C3'), and ('C3', 'C2') respectively from 6  VIII. CONCLUSIONS In this paper, two cases of IMCP were considered: when the capacity of the given path is preserved or not. In the first case, an ( ) time algorithm under sum-type distance was proposed and then, an ( ) time algorithm under max-type distance was presented. In the former, the problem is reduced to a minimum cut problem in an auxiliary network and in the later, the problem is reduced to computing a maximum capacity path. In the case of capacity preservation, a practical application of road transportation network optimization in a region of Iran was performed using an algorithm for IMCP. In the case when the value of the maximum capacity path is not preserved, the time complexity is worse. The first two algorithms are adapted resulting into an ( ) time algorithm under sum-type distance and, respectively, an ( ) time algorithm under max-type distance. In the particular cases of weighted 1 norm, sum-type Hamming distance and weighted ∞ norm the time complexity of the algorithm is ( 2 ) which is strongly polynomial and in the particular case of bottleneck Hamming distance, a better ( ) time complexity is obtained. In the particular cases of weighted 1 and ∞ norm, and Hamming distances, algorithms from current paper and from previously known literature have similar efficiencies (see Table 1).