The present invention generally relates to network design, and more particularly to a method and system for designing minimum total cost networks, to a computer program product for performing such methods, and to networks designed according to such methods.
Network design applies to many fields of commercial interest. One example is overnight package delivery, where packages must be delivered between cities over a network of possible air routes that have different costs. Another example is utility design, where a commodity such as electricity or water is to be distributed to geographically separate customers over a network of possible conduits that have different costs. The field of telecommunications contains several examples in which possible transmission elements, with different costs, may be combined in many different ways, between different points, in order to obtain a network of paths between the points. One example arises in the design of a fiber optic transmission network (e.g., one using fiber optic links between routers as part of an ISP network) to join geographically dispersed major cities, with possible alternate routes between cities having different costs (which may be defined in terms of the construction costs of providing the route, for example).
In each of these network examples, it is desirable to be able to employ a method or algorithm which will provide the minimum cost network by selecting, from the possible network elements, those which provide the lowest total cost. A minimum cost network designed according to such a method will allow lower cost services to customers using such a network and give a competitive advantage to the service provider using such a network.
The overall network design context may include additional considerations. For example, the network design criteria may require that the network include pairs of selected points, e.g., certain city pairs. The design problem then is to find the minimum cost network solution that contains paths between each of these paired points.
The network design criteria may further assign penalty costs if a required path between selected points is not included. An example of such a penalty cost in the package delivery context is the cost of leasing another carrier's air transport facilities for a package delivery route segment not covered by the package deliverer's own network. In the telecommunications context, an example of such a penalty cost is the cost of leasing telecommunications transmission capacity from another provider for a route segment not provided by a provider's own network. Allowing penalty costs supplies the opportunity for a lower overall cost network. The network design problem, with this additional consideration, is then to find a network solution that minimizes the total combined costs of selected network elements plus penalties incurred for having any required points unconnected by the selected elements.
Finding a network whose design considerations include a minimization of cost, the selection of elements with assigned costs, the requirement that the solution include pairs of selected points, and the allowance of assigned penalty costs if a required pair of points is not connected by the selected elements, is a design problem corresponding mathematically to the Prize Collecting Steiner Forest (PCSF) problem. Mathematically, the network of possible elements is a graph G=(V,E) where V is the set of vertices vi, vj, . . . , and E is the set of edges eij connecting vertices vi, vj, with a set of required pairs ={(s1,t1), (s2,t2), . . . (st}, a non-negative cost function c: E→Q+ (which means the function maps the set E into a set of positive rational numbers), and a non-negative penalty function π: →Q+. Each edge has a cost cij and each pair has a penalty πk that is incurred if the pair vertices sk, tk are not connected to an edge. The goal is to find a set (or forest) H that minimizes the costs of the edges of H plus the penalties paid for pairs whose vertices are not all connected by H. In other words, the goal is a minimum-cost way of buying a set of edges and paying the penalty for those pairs which are not connected via bought edges.
A simple example of such a network is shown in
A minimal cost solution H to the graph G of
The Prize Collecting Steiner Forest (PCSF) problem has been solved for special cases. In the special case that all sinks are identical, i.e., there is a common root r in every pair in the PCSF problem, the problem reduces to the classic Prize-Collecting Steiner Tree problem. Bienstock, Goemans, Simchi-Levi, and Williamson [D. BIENSTOCK, M. X. GOEMANS, D. SIMCHI-LEVI, AND D. WILLIAMSON, A note on the prize collecting traveling salesman problem, Math. Programming, 59 (1993), pp. 413-420] first considered this tree problem (based on a problem earlier proposed by Balas [E. BALAS, The prize collecting traveling salesman problem, Networks, 19 (1989), pp. 621-636]) for which they gave a 3-approximation algorithm. The current best approximation algorithm for this tree problem is a primal-dual 2−1/(n−1) approximation algorithm (n is the number of vertices of the graph) due to Goemans and Williamson [M. X. GOEMANS AND D. P. WILLIAMSON, A general approximation technique for constrained forest problems, SIAM J. Comput., 24 (1995), pp. 296-317].
The general form of the PCSF problem first was formulated by Hajiaghayi and Jain [M. T. HAJIAGHAYI AND K. JAIN, The prize-collecting generalized Steiner tree problem via a new approach of primal-dual schema, in Proceedings of the Seventeenth Annual ACM-SIAM Symposium on Discrete Algorithms, New York, 2006, ACM, pp. 631-640]. They showed how by a primal-dual algorithm to a novel integer programming formulation of the problem with doubly-exponential variables, it is possible to obtain a 3-approximation algorithm for the problem. In addition, they show that the factor 3 in the analysis of their algorithm is tight. However they show how a direct randomized LP rounding algorithm with approximation factor 2.54 can be obtained for this problem. Their approach has been generalized by Sharma, Swamy, and Williamson [Y. SHARMA, C. SWAMY, AND D. P. WILLIAMSON, Approximation algorithms for prize collecting forest problems with submodular penalty functions, in Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms (SODA '07), Philadelphia, Pa., USA, 2007, Society for Industrial and Applied Mathematics, pp. 1275-1284] for network design problems where violated arbitrary 0-1 connectivity constraints are allowed in exchange for a very general penalty function. The work of Hajiaghayi and Jain has also motivated a game-theoretic version of the problem considered by Gupta et al. [A. GUPTA, J. K{umlaut over ( )}ONEMANN, S. LEONARDI, R. RAVI, AND G. SCH{umlaut over ( )}AFER, An efficient cost-sharing mechanism for the prize-collecting Steiner forest problem, in Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms (SODA '07), Philadelphia, Pa., USA, 2007, Society for Industrial and Applied Mathematics, pp. 1153-1162].
Besides the network design criteria that are able to be considered by the PCSF problem, it may be useful to be able to impose a further network design consideration, namely that of providing a desired redundant connectivity between required points (measured in terms of numbers of required alternate edge disjoint paths between the points). For example, in order to provide for continued service in the event of a failure of a selected network element, such as breakage of a fiber optic cable, it may be required that selected points (vertices) be connected with two or more redundant edge disjoint paths (commonly referred to a k-coverage when the design is to include k redundant paths between points). An example of a method for finding such independent edge disjoint paths in a network context is shown in U.S. Pat. No. 6,928,484.
Finding a network whose design considerations include a minimization of cost, the selection of elements with assigned costs, the requirement that the solution include pairs of selected points, the requirement of multiple connectivity between selected pairs of points and the allowance of assigned penalty costs if a required pair of points is not connected by the required number of elements, is a design problem corresponding mathematically to the Prize Collecting Survivable Steiner Network (PCSSN) problem. Mathematically, the network of possible elements is a graph G=(V,E) where V is the set of vertices vi, vj, . . . and E is the set of edges eij, with a set of required pairs ={(s1,t1), (s2,t2), . . . (st}, a non-negative cost function c: E→Q+, connectivity requirements ruv for all pairs of vertices u and v, and a non-increasing non-negative marginal penalty function π: →Q+ for u and v in case we cannot satisfy all ruv. Each edge has a cost cij and each pair has a penalty πk that is incurred if the pair vertices sk,tk are not all connected by edges in accordance with connectivity requirement ruv. The goal is to find a minimum way of constructing a network (graph) H in which we connect u and v with r′u v≦ruv edge-disjoint paths and pay the marginal penalty for each of the ruv−ruv occurrences of violated connectivity between u and v.
A simple example of such a network is shown in
A minimum cost solution H to the graph G of
When all connectivity requirements ruv are 1, the PCSSN problem reduces to the PCSF problem described above. When all penalties π are ∞, the PCSSN problem reduces to the special case of the classic survivable Steiner network design problem. For this problem, Jain [K. JAIN, A factor 2 approximation algorithm for the generalized Steiner network problem, Combinatorica, 21 (2001), pp. 39-60], using the method of iterative rounding, obtained a 2-approximation algorithm, improving on a long line of earlier research that applied primal-dual methods to this problem.
Jain's iterative rounding approach has been limited to the non-prize collecting context of the classic problem he addresses, with no provision for penalties, and does not provide feasible solutions to the Prize Collecting Survivable Steiner Network problem, which heretofore have not been found.
The chief problem encountered in finding an optimum network design solution in context of PCSF and PCSSN is that for all but trivial configurations, which means that for all configurations actually encountered in the real world of network design, methods providing exact solutions may be devised but they are not feasible because they require too much time to compute. For example, it would be possible to obtain an exact solution by making a brute force comparison of the costs of all possible network element permutations but years of computation time would be needed for routinely complex networks. Accordingly, methods providing approximate solutions have been sought. Approximation methods have, for the most part, used linear program solving techniques to solve optimization problems in which the variables correspond to the physical attributes (locations, connection cost, penalties, connectivity) of the network elements. However, approximation methods often must make limiting assumptions in order to be solvable using known ellipsoidal or flow-based LP-solver techniques. Additionally, approximation algorithms must provide some measure of how closely the approximate solution is to an optimal solution, which means that an approximation solution must be mathematically demonstrated to be within a factor p of the optimum solution (such an algorithm is referred to as a p-approximation algorithm). To prove the approximation has a specified degree of accuracy, limiting assumptions may be made that may reduce the generality of the methods in dealing with actual design applications.
Thus approximation methods must find a suitable balance among three considerations: the computation time needed to perform them, the computational power needed to perform them, and the degree to which the result can be shown to compare to an optimum result. Moreover, techniques that are known to be useful in some situations, such as primal-dual solutions, or randomized rounding solutions, cannot generally be extended in any straightforward manner to more complicated networks' additional variables.
Accordingly, there is a need to provide an approximation algorithm for use in network design methods that can provide solutions when network design criteria correspond to a PCSF or a PCSSN. There is a further need to provide such an approximation algorithm that further has a suitable approximation factor, that can use existing LP-solvers, and that can find solutions using reasonable computational resources in a reasonable time.
Briefly, the present invention is a method for designing minimum cost networks by selecting from a collection of possible network elements those which provide a minimum total cost given further network design constraints. The present invention, for the first time, uses an iterative rounding approach for prize-collecting versions of Steiner forest problems and more generally to survivable Steiner network design. To the best of our knowledge, this method of iterative rounding has not been used in a prize-collecting context, even for the classic prize-collecting Steiner tree.
In a first exemplary embodiment, the iterative rounding algorithm is used in a method to find minimum cost networks by selecting network elements with assigned costs where the design requires either the connection of network elements to required pairs of nodes (vertices) or alternatively the payment of penalty costs for failure to connect any node of a pair to a network element (edge). The first embodiment creates a PCSF problem incorporating the network cost and other constraints, finds an approximate solution to the PCSF problem using the iterative rounding algorithm, and then uses elements in the solution in the network design. In a second embodiment, the iterative rounding algorithm is used in a method to find minimum cost networks by selecting network elements with assigned costs where the design requires a specified connectivity of network elements between pairs of nodes (vertices) or the payment of penalty costs for failure to connect any node pair with network elements to the required degree of connectivity. The second embodiment creates a PCSSN problem incorporating the network cost and other constraints, finds an approximate solution to the PCSSN problem using the iterative rounding algorithm, and then uses elements in the solution in the network design.
In a specific embodiment, the iterative rounding algorithm for finding an approximate solution to a minimum cost network according to the invention puts the network element parameters of edge costs, required pairs, and penalties in linear program form, obtains a first feasible solution to the linear program in terms of element coefficients, sets a threshold α for the coefficients in the solution, pays penalties for pairs with coefficients exceeding the threshold α and includes the paid penalties in the network solution, selects edges with coefficients exceeding the threshold α and includes the edges in the network solution, constructs a residual graph including all the edges and the pairs remaining after removing penalties, sets coefficient values of selected edges to 1 in the residual graph, obtains a feasible solution to a linear program for the residual graph, and repeats these steps until it is determined that all required pairs connectivity requirements have been met either by connection to selected edge elements or by payment of non-connection penalties. The solution obtained by this iterative rounding process can be proven to be a 3-approximation solution and it is preferable to select α=⅓.
In another embodiment of the invention, instead of selecting all pair penalties and edges whose coefficients exceed the threshold α, the method proceeds by choosing in each iteration the pair penalty with the maximum coefficient value and the edge with the maximum coefficient value, and then proceeding as described above. By removing in each iteration only the maximum coefficient valued penalties and edges, the method will find solutions that are nearer to optimal solutions, but at the cost of increased processing time.
The iterative rounding algorithm according to the invention provides a solution to PCSF and PCSSN problems heretofore unavailable. The solution is a 3-approximation algorithm, which means that the solution in the worst case is within a factor of 3 of optimal. In practice, the solutions found by the algorithm can be exact. Thus a number of practical network design problems, such as designing a minimal cost telecommunications fiber optic network, or a minimal cost package delivery network, can be solved using methods that use readily available LP-solvers and steps that are easily put into computer program form, to be executed by standard computer systems. The invention advantageously provides a solution with greater generality than previous solutions, is simple in form and thus easily implemented and able to be performed without exorbitant demands in terms of time and equipment.
In other aspects, the invention includes network design systems operating in accordance with the invention, and computer readable program means for causing a computer to perform the methods of the invention. In a further aspect, the invention includes networks with elements selected according to the methods of the invention.
These and other objects, aspects, advantages and features of the invention are set forth in the attached description.
The foregoing summary of the invention, as well as the following detailed description of the preferred embodiments, is better understood when read in conjunction with the accompanying drawings, which are included by way of example and not by way of limitation with regard to the claimed invention:
As discussed above, the desired network includes elements selected from a set of possible elements corresponding to graph edges, each of which has a cost. In a fiber optic network design, for example, the edge elements will be point-to-point routes (e.g., city to city) and the costs may be construction costs such as those that may be encountered in installing fiber optic cable between city A and city B. In step 110, the method 100 assigns these available network elements costs ce to edges e.
Also as discussed above, the network solution is to include certain required pairs, which correspond to graph vertices. In a fiber optic network design, for example, the required pairs may represent pairs of cities (New York and Washington, New York and Philadelphia, Philadelphia and Richmond, etc,) that must be included in any solution. In step 120, the method identifies each of these required pairs .
In step 130, the method assigns penalty costs π to the required pairs that will be incurred if selected network elements do not connect them. In a fiber optic network design, for example, the penalty costs may represent the cost of leasing transmission capacity from a competing carrier in order to connect the two cities of the required pair.
In step 140, the method constructs a natural LP for the optimization problem. As an example, the traditional LP relaxation for the PCSF problem which can be solved using the Ellipsoid algorithm is as follows:
In this LP xe and zij are variable coefficients of the ce and πij to be solved for in the minimum solution. The notation δ(S)=the set of all edges that are cut by cut (S:
The LP relaxation written as the cut-based LP set forth in line (1) above alternatively may be written as a standard flow-based LP in which case one would use LP-solver algorithms for a polynomial number of variables and constraints. The choice of which form of LP to use will depend on practical considerations, such as which form is easier to solve using available LP-solver software.
Referring again to
Using the optimal basic solution x*, z* to the LP of step 140, in step 160 the method then selects a number α to be used as a threshold, 0<α≦1, and then identifies Eα, as the set of edges whose value in x* is at least the threshold α and identifies as the set of pairs whose value in z* is at least the threshold α. As will be explained below, it can be shown that when α=⅓, an iterative rounding algorithm in accordance with the steps of method 100 will produce a minimum-cost 3-approximation algorithm solution. Accordingly, it is advantageous to select α=⅓. Use of a lower threshold, such as ¼, would produce a 4-approximation algorithm; use of a higher threshold, such as ½, would not assure that all iterations would advance to a solution.
Next in step 162, for the set we pay all the penalties πij of pairs (i, j) whose z*ij≧α and include these penalties in a minimum-cost network final solution SPCSF. (It will be understood that when we say we “pay” the penalties, we do not actually pay the penalty at this design stage of a network but signify that we choose to pay the penalty when the network is realized. For convenience, however, we shall refer to payment of a penalty as including designating a certain penalty to be paid later.) We may now remove these pairs with paid penalties from further consideration in the succeeding steps of method 100 to select other network elements for the solution.
In step 164, for the set Eα we select all edges e whose x*e≧α and include them in the minimum-cost network final solution SPCSF.
In step 170 the method forms another graph Gres as follows: (1) we remove any pairs for which we paid a penalty in step 162, but retain the remaining pairs; (2) we include all edges in E, including the edges Eα; (3) however, we fix all values of xe of edges in Eα to be 1.
In step 172 we then prepare a residual LP for graph Gres, referred to as LPres, with a new OPTres as follows, where we define Eres=E−Eα and =−:
Note in LPres that by including edges in Eα with xe=1 and ignoring further consideration of pairs in we always produce another LP similar in form to that for OPT in step 140. Indeed, the only differences between OPT and OPTres lie in their constraints, which recognize that the new optimization problem concerns a subset of the original graph G. It will be understood by those of skill in the art that the step of constructing a residual graph may include a step of contracting those selected edges whose coefficients are set to 1 in the residual graph. Moreover, if LP were written as a flow-based LP, the new LPres would be similar in form to that LP.
Next, in step 180, the method finds an optimal basic feasible solution x1, z1 to LPres using an LP solver such as the CPLEX® solver referred to above.
Using the optimal basic feasible solution x1, z1 to LPres found in step 180, in step 190 the method identifies Eα1 as the set of edges whose value in x1 is at least α and identifies 1 as the set of pairs whose value in z1 is at least α, in the manner described above in step 160.
In step 192 for the pairs we pay all the penalties πij of pairs (i,j) whose z1ij≧α and include these penalties in a minimum-cost network final solution SPCSF.
In addition, in step 194 for the edges Eα1 we include all edges e whose x1e≧α in the minimum-cost network final solution SPCSF.
In step 200 we determine if any there are any pairs P of the graph G, after removing pairs + for which penalties have been paid, that remain unconnected by the selected edges Eα+Eα1. If yes, the method returns back to step 170 via path 210 to form a new Gres1 in which define Eres1=E−Eα−Eα1 and we define 1=−−1, we fix all values of xe of edges in Eα and Eα1 to be 1 and then loop iteratively through steps 180 through 200 until no original pairs of the graph G remain unconnected by selected edges or have not been accounted for by paying a penalty. If it is determined that no such original pairs of the graph G remain, i.e., that all pair connectivity requirements have been satisfied, the iteration stops and the minimum cost network solution SPCSF to OPT is obtained as the union of the pairs 1, . . . for which the penalties πij have been paid and the edges Ea, Ea1, . . . which were selected to be included.
Then, in step 220, the solution SPCSF is used to select network elements, and penalty alternatives, for the physical network that method 100 is used to design. The selected network elements may include all the penalty and edge elements identified by method 100, or may choose only a subset of those elements if other design requirements are present. In the fiber optic example given previously, these network elements will be the fiber optic links that provide connections between cities, and the penalty alternatives will be the lease costs of providing service through other providers to cities unconnected by the selected fiber optic links.
It can be proven that the iterative rounding method 100 provides a 3-approximation feasible solution to OPT, and thus to PCSF, and enables a minimum cost network to be designed with a cost solution that is at most a factor of three greater than the optimum cost. While the proof establishes there is a worst case bound of three, in practice the algorithm seems to perform much better than this, and often will produce the optimal solution or a near-optimal solution.
The proof that method 100 provides a 3-approximation feasible solution to OPT, which is lengthy, appears in the Appendix.
The steps of method 100 described above may be embodied in routines in a computer program, capable of being operated by a standard computer system such as the one shown in
In method 400, illustrated in
As discussed above, the network is to include elements selected from a number of possible elements corresponding to graph edges, each of which has a cost. In a fiber optic network design, for example, the elements will be point-to-point routes (e.g., city to city) and their costs may be construction costs such as those that may be encountered in installing fiber optic cable between city A and city B. In step 410, the method 400 assigns these potential network elements costs ce to edges e.
Also as discussed above, the network solution is required to include certain pairs, which correspond to graph vertices. In a fiber optic network design, for example, the pairs may represent pairs of cities (New York and Washington, New York and Philadelphia, Philadelphia and Richmond, etc,) that are required to be included in any solution. In step 420, the method identifies each of these required pairs of vertices vi, vj.
Additionally as discussed above the network solution has connectivity requirements ruv for the vertices u, v of a pair In step 430, the method assigns connectivity requirements ruv for each of the pairs In a fiber optic network design, for example, the connectivity requirements may be that a pair of cities shall have k independent (or edge disjoint) multiple paths connecting them to protect against loss of service in the event of element failure.
In step 432, the method assigns non-increasing marginal penalty costs πuv to the pairs that will be incurred if the resulting network does not have the required connectivity ruv for the pairs. The marginal penalty cost will be assessed for each connectivity violation; thus if the connectivity requirement is for 3 independent connections, and the network provides only one, then two penalty costs will be incurred. In a fiber optic network design, for example, each penalty cost may represent the cost of leasing one transmission link from a competing carrier in order to provide one of the required connectivities between the two cities of the pair.
In step 440, the method constructs a natural LP for the optimization problem. In this problem, we are given connectivity requirements ruv for all pairs of vertices u and v and a non-increasing marginal penalty function πuv(.) for u and v. Our goal is to find a minimum way of constructing a graph in which we connect u and v with r′uv≦ruv edge-disjoint paths and pay the marginal penalty πuv(r′uv+1)+πuv(r′uv+2)+ . . . +πuv(ruv) for violating the connectivity between u and v to the amount of ruv−r′uv. The LP relaxation for the PCSSN problem which can be solved using the Ellipsoid algorithm is as follows:
The LP relaxation written as the cut-based LP set forth above alternatively may be written as a standard flow-based LP in which case one would use LP-solver algorithms for a polynomial number of variables and constraints. The choice of which form of LP to use will depend on practical considerations, such as which form is easier to solve.
In the LP above, it is easy to see that because πuv's are non-increasing, without loss of generality we can assume
0<zuvk only if zuvk+1=1 for 1≦k<ruv
Thus an algorithm similar to that used in method 100 can be used.
Referring again to
Using the optimal basic solution x*, z* to the LP of step 440, in step 460 the method then selects a number α as a threshold, 0<α≦1, and then identifies Eα as the set of edges whose value in x* is at least α and identifies rα as the set of pair connectivities ruv whose value in z* is at least α. It can be shown that when α=⅓, an iterative rounding algorithm in accordance with the further steps of method 400 will produce a minimum-cost 3-approximation algorithm solution. Accordingly, it is advantageous to select α=⅓.
Next in step 462, for the set rα we pay all the connectivity penalties πuv for those ruv whose z*ij≧α and include these penalties in a minimum-cost network final solution SPCSSN. (It will be understood that when we say we “pay” the penalties, we do not actually pay the penalty at this design stage of a network but signify that we choose to pay the penalty when the network is realized. For convenience, however, we shall refer to payment of a penalty as including designating a certain penalty to be paid later.) We may now remove these paid connectivity requirements ruv in pairs from further consideration in the succeeding steps of method 400 to select other network elements for the solution.
In step 464 for the set Eα we select all edges e whose X*e≧α and include them in the minimum-cost network final solution SPCSSN.
In step 470 the method 400 forms another graph Gres as follows: (1) we remove any connectivity requirements ruv in pairs for which we paid a penalty in step 462, but retain the remaining connectivity requirements in any pairs which have not had all their connectivity requirements satisfied; (2) we include all edges in E, including the edges Eα; (3) however, we fix all values of xe of edges in Eα to be 1.
In step 472 we then prepare a residual LP for graph Gres , referred to as LPres, with a new OPTres as follows, where we define Eres=E−Eα, and as the pairs with remaining ruv−rα connectivity requirements that have not been paid.
Note in LPres that by including all edges in Eα with x*e≧α and ignoring connectivity requirements ruv with paid penalties in the pairs we can always produce another LP similar in form to that for OPT in step 440. Indeed, OPT and OPTres are identical except for their constraints, which reflect optimization in OPTres over a subset of original graph G. (If LP were written as a flow-based LP, the new LPres would be similar in form to that LP.)
Next, in step 480, the method finds an optimal basic feasible solution x1, z1 to LPres with an LP-solver such as the CPLEX® solver described above.
Using the optimal basic feasible solution x1, z1 to LPres found in step 480, in step 490 the method identifies Eα1 as the set of edges whose value in x1 is at least α and identifies rα1 as the set of pair connectivities whose value in z1 is at least α, in the manner described above in step 460.
In step 492 for the pair connectivities rα1 we pay all the penalties πij of pairs (i,j) whose z1ij≧α and include these penalties in the minimum-cost network final solution SPCSSN.
In addition, in step 494 for the edges Eα1 we include all edges e whose x1e≧α in the minimum-cost network final solution SPCSSN.
In step 500 we determine if there are any remaining connectivity requirements ruv in pairs of the graph G, after removing connectivity requirements rα+rα1 for which penalties have been paid, that remain unsatisfied by the included edges Eα+Eα1. If yes, the method returns back to step 470 via path 510 to form a new Gres1 with a LPres1 in which we define Eres1=E−Eα−Eα1 and we define PGres1 as the pairs with remaining ruv−rαrα1 connectivity requirements that have not been paid, we fix all values of xe of edges in Eα and Eα1 to be 1 and then we loop iteratively through steps 480 through 500 until no original required connectivities of the graph G remain unsatisfied by connections with selected edges or penalty payments. If it is determined that no unsatisfied pair connectivities of the graph G remain, the iteration stops and the minimum cost network solution SPCSSN to OPT is obtained as the union of the penalties πij paid for pair connectivities rα, rα1, . . . and the selected edges Eα, Eα1, . . . which were included in solution SPCSSN.
Then, in step 520, selected edges and penalty alternatives in the solution SPCSSN from step 500 are used to select network elements for the minimum cost physical network that method 400 is used to design. The selected network elements may include all the elements identified by method 400, or may choose only a subset of those elements if other design requirements are present. In the fiber optic example given previously, these network elements will be the fiber optic links that provide connections between cities, and the penalty alternatives will be the lease costs of providing service through other providers to pairs of cities unconnected with the required connectivity by the selected fiber optic links.
It will be apparent to those of skill in the art that the method 400 becomes the same as method 100 if the connectivity requirements ruv for pairs are all 1. However, method 400 will permit solutions to more complex problems where at least some of the connectivity requirements are greater than 1.
The steps of method 400 described above may be embodied in routines in a computer program, capable of being operated by a standard computer system such as the one shown in
The computer system 600 shown in
In alternative embodiments, secondary memory 610 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 600. Such means can include, for example, a removable storage unit 622 and an interface 620. Examples of such include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 622 and interfaces 620 which allow software and data to be transferred from the removable storage unit 618 to computer system 600.
Computer system 600 can also include a communications interface 624. Communications interface 624 allows software and data to be transferred between computer system 600 and external devices, such as an ISP network. Examples of communications interface 624 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 624 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624. These signals 626 are provided to communications interface 624 via a channel 628. This channel 628 carries signals 626 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
In this specification, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage device 618, a hard disk installed in hard disk drive 612, and signals 626. These computer program products are means for providing software to computer system 600.
Computer programs (also called computer control logic) are stored in main memory 608 and/or secondary memory 610. Computer programs can also be received via communications interface 624. Such computer programs, when executed, enable the computer system 600 to perform the features of methods 100 and 400 of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600.
In an embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, hard drive 612 or communications interface 624. The control logic (software), when executed by the processor 604, causes the processor 604 to perform the methods of the invention as described above.
In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). It will be apparent that the invention may be implemented using a combination of both hardware and software.
Thus, the invention describes methods with an iterative rounding feature enabling networks to be designed with constraints that correspond to the PCSF and PCSSN. The feature includes both method aspects and system aspects. While the present invention has been described with reference to preferred and exemplary embodiments, it will be understood by those of ordinary skill in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation to the teachings of the invention without departing from the scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the appended claims.
Theorem 1 It any basic feasible solution for LP 1, for at least one edge e ε E,
or for at least one pair (i, j) ε P,
Theorem 2 If x1, z1 is an integral solution, to the LP 6 with value at most
then Ex
Proof: The feasibility is clear from the definitions. In order to prove the value is at most twice OPT, since the restriction of x*, z* to Eres and Pres is a feasible solution to LP 6,: OPTres≧OPT −ΣeεE
Since for e ε Eα, xe≧α and for (i, j) ε Pα, zij≧α,
Since for e ε
we have
This finishes the proof.
By combining Theorems 1 and 2 we obtain the following conclusion:
Corollary 3 There is an iterative rounding 3-approximation algorithm for PCSF.
In this section, we prove Theorem 1. Let x, z be a basic feasible solution. If for an edge e, xe=1 or for a pair (i1, j1), zij=1, then the theorem follows. Also, if for an edge e, xe=0, then we can assume that the edge was never there before. This assumption does not increase the cost of the optimum fractional solution xe. Thus we can assume that 0<xe<1 and 0≦ze<1 for all e ε E and (i,j) ε.
Let (S, ii′) be the row of the constraint matrix corresponding to a set S⊂V and pair (i,i′) ε Let x(A, B) be the guru of all xe's, where e has one end in A and the other end in B. We represent x(A, A) by x(A), for ease of notation. We say a set A is tight with pair (i, i′) if A ⊙ (i, i′) and x(A)+zij=1.
Theorem 4 If A is tight with (i, i′) and B is tight with (j, j′) then at least one of the following holds:
Proof: The proof is by case analysis. For the ease of notaion, if a set A is tight with pair (i, i′), we assume i ε A (and thus i′ ∉ A).
We consider two cases: i ε A−B and i ε A ∩ B. Without loss of generality, we assume in the latter case j ε A ∩ B also (otherwise we consider j instead of i in our arguments). Because of tightness we have:
x(A)=x(A−B, B−A)+x(A−B,
x(B)=x(B−A, A−B)+x(B−A,
Let's first start with the case in which i ε A ∩ B (and thus j ε A ∩ B). In this case i′ ε
x(A ∩ B)=x(A ∩ B, A−B)+x(A ∩ B, B−A)+x(A ∩ B,
x(A ∪ B)=x(A−B,
Since x(.,.)≧0, by summing up the two inequalities above and using the equalities for x(A) and x(B), we conclude that the inequalities should be tight, i.e. x(A ∩ B)=1−zii′ and x(A ∪ B)=1−zjj′ and in addition x(A−B, B−A)=0, i.e., (A, ii′)+(B, jj′)=(A ∩ B, ii′)+(A ∪ B, jj′). Thus we are in the case 3 of the statement of the theorem.
Now assume that i ε A−B and j ε B−A.
Then independent of the place of i′, j′, by the feasibility of the solution we have:
x(A−B)=x(A−B, A ∩ B)+x(A−B, B−A)+x(A−B,
x(B−A)=x(B−A, A−B)+x(B−A, A ∩ B)+x(B−A,
Since x(.,.)≧0, by summing up the two inequalities above and using the equalities for x(A) and x(B), we conclude that the inequalities should be tight, i.e., x(A−B)=1−zii′, and x(B−A)=1−zjj′, and in addition x(A ∩ B,
Finally we consider the case in which i ε A−B and j ε A ∩ B (and thus j ε A ∪ B).
Now if i′ ε A ∪ B, then by the feasibility of the solution we have:
x(A ∩ B)=x(A∩ B, A−B)+x(A ∩ B, B−A)+x(A ∩ B,
x(A ∪ B)=x(A−B,
Since x(.,.)≧0, by summing up the two inequalities above and using the equalities for x(A) and x(B), we conclude that the inequalities: should be tight, i.e., x(A ∩ B)=1−zjj′ and x(A ∪ B)=1−zii′ and in addition x(A−B, B−A)=0, i.e., (A, ii′)+(B, jj′)=(A ∩ B, jj′)+(A ∪ B, ii′). Thus we are in the case 4 of the statement of the theorem.
Finally if i′ ε B−A then, because of feasibility we have
x(A−B)=x(A−B, A ∩ B)+x(A−B, B−A)+x(A−B,
x(A ∩ B)=x(A ∩ B, A−B)+x(A ∩ B, B−A)+x(A ∩ B,
x(B−A)+x(B−A, A−B)+x(B−A, A ∩ B)+x(B−A,
x(A ∩ B)=x(A−B,
Since x(.,.)≧0, by summing up the four inequalities above and and use the equalities for 2x(A) and 2x(B), we conclude that all inequalities should be tight, and in addition x(A−B, B−A)=0 and x(A ∩ B,
Note that especially Case 5 in Theorem 4 is novel to our extension of iterative rounding methods.
Let be the set of all tight constraints. For any set of tight constraints we denote the vector space spanned by the vectors (S, ii′), where S ⊂ V and (i, i′) ε , by Span We say two sets A and B cross if none of the sets A−B, B−A and A ∩ B is empty. We say a family of tight constraints is laminar if no two sets corresponding to two constraints in it cross.
Theorem 5 For any maximal laminar family of tight constraints, Span(=Span).
Proof: Since ⊂, Span() ⊂ Span(). If Span() ⊂ Span(), then there exists a set A tight with (i, i′), in such that (A, ii′) ∉ Span(). We choose a set A which crosses the minimum number of sets in . Since (A, ii′) ∉ Span(), (A, ii′) ∉ From the maximality of , A must cross some set B tight with (j, j′) in From Theorem 4, one of the following must hold:
Since x, z is a basic feasible solution, the dimension of Span() is |E(G)|+||. Since Span()=Span(), it is possible to choose a basis for Span() from the vectors in {M(S, ii)} ε Let ⊂ forms a basis for Span(). Hence we have the following theorem.
Corollary 6 There exists a laminar family, of tight constraints satifying the following.
1. |=|E(G)|+||.
2. The vectors in are independent.
3. All constraints in are tight.
Note that in our laminar family if a set S is tight with both (i, i′) and (j, j′) in two different constraints, since zii′=zjj′, we can remove variable zjj′ and just use zii′ instead. Since we removed one variable and one constraint, still we have a basic feasible solution which is laminar. By this reduction, we always can make sure that each set is tight with only one pair. Thus a tight set uniquely determines the tight pair and we use a tight constraint and a tight set interchangeably in our discussion below.
Now we are ready to prove Theorem 1.
Theorem 7 In any basic feasible solution for LP 1, for at least one, edge e ε E,
or for at least one pair (i, j) ε P;
Proof: We are giving a token to each end-point of an edge (and thus two tokens for an edge) and two tokens to all z variables (notice that some z variables are used for more than one commodity pairs as discussed above). Now, we will distribute the tokens such that for every set in the laminar family gets at least two tokens and every root at least four tokens unless the corresponding cut has exactly three edges. (note that each cut has at least three edges since the value of each variable is less than ⅓) in which the root gets at least three token. This contradict the equality |V(F)|=|E(G)|+|| where F is the rooted forest of laminar sets in the laminar family. The subtree of F rooted at R consists of R and all its descendants. We will prove this result by the induction on every rooted subtree of F.
Consider a subtree rooted at R. Since all xe and zij are at most ⅓, if R is a leaf node, it has at least three edges crossing it and thus gets at least three tokens (and more than 3 tokens if the degree is more than 3). This means the induction is correct for a leaf node, as the basis of the induction.
If R has four or more children, by the induction hypothesis each child has at least three tokens and each of their descendants gets at least two tokens. We re-assign one extra token from each child to the node R. Thus R has at least four tokens and the induction hypothesis is correct in this case.
If R has three children, if there is a private vertex u to R, i.e., a vertex which is in R but not in any of its children, then we are done (since all xe values are fractional, the degree of u is at least two and thus can contributes at least two extra tokens toward R). Also if one of the children has at least four edges in its corresponding cut, but the induction hypothesis it has at least two extra tokens to contribute toward those of R and we are done. Finally, if R has exactly three children each with exactly three edges in its corresponding cut, then by parity R has an odd number of edges in its corresponding cut. If R has edges in the its cut then the three extra token by its children suffices. If R has seven or nine edges in the cut, then at least one of its children has all three edges in the cut and the corresponding pair is not satisfied. But this means all other edges than those of this cut should be zero which is contradiction to fractional value assumption. Now if R tight with zpp′ has exactly five edges in the cut, it should be the case that two children C1 tight with zii′ and C3 tight with zkk′ have two edges in the cut and C2 tight with zjj′ has one edges in the cut. Note that in this case zpp′>min {zii′, zjj′, zkk′} then at least for one of zii′, zjj′, and zkk′ all pairs should be inside R for the first time and thus we have at least two extra tokens towards the requirement of R and we are done. It also means that p-should be inside the child C with min {zii′, zjj′, zkk′} and it should be equal to its corresponding z value (otherwise child C violates the condition for zpp′). Assume that zpp′=zjj′. In this case, it is easy to see that since C2 is tight With three edges and with five edges, the sum of x variables of C1 and C3 in the cut R is equal to the sum of x variables of C1 and C3 to C2. But it means at least for one of C1 and C3, the edge e to C2 has xe≧xe′+xe″ where e′ and e″ are the edges in the cut R. But since
which is a contradiction. If zpp=zii′≦zkk′ where zii′<zjj′. In this case the edge from C1 to C2 should has an x value equal to that those edges of C2 and C3 in the cut R. It means the total x value of two edge of C3 in the cut is less than ⅓ which is a contradiction, since the third edge has x value at least ⅓.
Now in case R tight with zpp′ has two children if there is a private vertex u to R we have at least four tokens to satisfy R (two from u and one from each of its children). If both of these children have degree at least four, then we have four extra tokens for R (two from each child). Then at least one of two children, namely C1 tight with zii′, has exactly three edges in its corresponding cut. The other child C2 tight with zjj′ has at least three edges in the cut. Note that in this case zpp′>min {zii′, zjj′} then at least for one of zii′ and zjj′, all pairs should be inside R for the first time and thus we have at least two extra tokens towards the requirement of R and we are done. It also means that p should be inside the child C with min {zii′, zjj′, zkk′} and it should be equal to its corresponding z value (otherwise child C violates the condition for zpp′). First assume that zpp′=zii′≦zjj′. In this case it is not possible that all three edges of C1 are in the cut R, since then all edges of C2 are in the cut R and they are zero (since the cut R is, already tight with zpp′=zii′). If C1 has two edges in the cut since zii′≦zjj′, it means sum of the x values of the edges in the cut corresponding to R, which has one edges from C1 and the rest are the edges of C2 in the R cut, should be at least the sum of x values of the cut corresponding to C2. But these means the x value of the edge of C1 in the R cut is at least the sum of x values of the two edges from C1 to C2. Since value of all three edges in C1 is at least ⅔, it means the x value of the edge, of C1 in the R cut is at least ⅓, a contradiction. In case C1 does not have any edges in the cut R, then all edges should go C2 which means zii, should be tight with a proper subset of edges of C2 though we know that x values of all edges of C2 is at most 1−zjj, a contradiction. we know even all edges of minus those edges should be tight in R with the same zjj′ which means all edges between C1 and C2 should be zero which is a contradiction. Next assume that zpp′=zjj′≦zii′. In this case it is not possible that all edges of C2 and thus C1 are in the cut since all edges of C1 should have zero x value. In case there is one edge of C1, or two edges of C1 are in the cut R, then x value of one edge of C1 is equal to the x value of two edges of C1 which means that edge should have x value at least ⅓ B which is a contradiction. In case C1 does not have any edges in the cut R, then C2 minus those edges should be tight in R with the same zjj′ which means all edges between C1 and, C2 should be zero which is a contradiction.
It only remains the case in which R has only one child C. In this, case if R and C are both tight with respect to zii, then since R and C are independent there is a vertex u ε R−C. However, if R is tight with zii′ and C is tight with zjj′ since zii′≠zjj′, these two cuts should be different and thus again there is vertex u ε R−C. Since all xe values are fractional the degree of u is at least two and thus u gets at least two tokens. Without loss of generality assume u is the node with maximum degree. If it has degree at least three then we can assign at least these three private tokens of u and at least one extra token of C to R to have the induction hypothesis satisfied. In case u has degree two and C has at least four edges in the cut, then we have at least two tokens from u and two extra tokens from C to assign at least four tokens to R and satisfy the hypothesis. The only remaining case is when u has degree two and C has an odd number of edges in its cut. However in this case because of parity, R should has an odd number of edges in its cut (note that in this case, we may have some other vertices than u of degree two in R−C.) It this odd number is three then two tokens of u and one extra token of C satisfies the required number of tokens for R. If there is a vertex other than u in RC it has also two extra tokens and we are done. The only case is that u has degree two, C has three edges and all these five edges are in the cut corresponding to R. It means in this case R should be tight with zii′ and C should be tight with zjj′ where zii′<zjj′ (otherwise the edges from u in the cut should zero which is a contradiction to the fractional values for xes). Here i≠u otherwise, u has degree three and thus three extra tokens and we have at least four tokens for R. It means i ε C which is again a, contradiction since, the current cut for C violates the cut condition for i in the LP.
Finally, it is worth mentioning though we guarantee that during the course of the algorithm, we can get a variable Which is only one-third-integral, in the first iteration always we can find an integral z variable. Below there is a more general proposition regarding this issue.
Proposition 8 If there is a set S of fractional variables which contains exactly one variable from each tight constraint in our laminar family, our solution cannot be a basic optimum solution. In particular, there is no basic optimum solution in which all constraints are tight with fractional z variables.
Proof: The second statement follows immediately by taking set S in the first statement to be the set of all fractional z variables. The first statement follows from the fact that we can always increase (decrease) each variable ω in set S by ε(1−ω), for a very small ε>0, and decrease (increase) each other variable u by εu (increase/decrease is depending on which option does not increase the objective function). It is easy to see that in this way we can always get another feasible solution which makes all our current constraints in the laminar family tight and whose value is not larger than that of optimum.
Number | Name | Date | Kind |
---|---|---|---|
6928484 | Huai et al. | Aug 2005 | B1 |
20010018759 | Andreev et al. | Aug 2001 | A1 |
20040049595 | Sun et al. | Mar 2004 | A1 |
20060146716 | Lun et al. | Jul 2006 | A1 |
20090222782 | Bayati et al. | Sep 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20100142408 A1 | Jun 2010 | US |