Abstract:
A method and computer program product are presented for selecting and arranging an appropriate combination of network components, or elements, in a communications network. The selection of network components is done in a manner that maximizes the net present value of cash flow resulting from the provision of communications services between nodes of the network. The method comprises the steps of receiving information that constrains network design and price establishment, and then using the constraint information to select a combination of network components for each link in the communications network. According to the invention, the selection of network components is performed for each of several successive time periods, effectively planning the evolution of the network. The selections are made so that the network components satisfy demand over time while maximizing the net present value of the cash flow that results from the provision of communications services.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present patent application claims priority to U.S. Patent Application No. 60/265,327 (filed Feb. 1, 2001) and No. 60/301,790 (filed Jul. 2, 2001), both of which are incorporated herein by reference in their entirety. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the evolution of a communications network, and more particularly to the management of associated costs and revenue. 
     2. Background Art 
     A goal of any commercial communications service provider is to maximize returns to the investors of the company. Corporate finance theory holds that the metric which best correlates with this goal is the net present value (NPV) of the stream of expected future positive and negative cash flows generated by the company&#39;s operations. Hence, an objective of the service provider is to maximize the net present value of cash flows. Communications companies and other businesses have traditionally sought to model the pursuit of this objective in the form of a strategic plan developed by their corporate development, strategic planning, or marketing divisions. 
     For communications companies, typical inputs to strategic planning models include revenue, capital costs, and operating costs. Assuming that the service capacity provided by a company is sufficient to meet demand, the first of these inputs, revenue, is generally treated as being independent from costs. Moreover, if the level of demand (a factor in determining revenue) is assumed to be related to cost in any way, it is generally done for the purpose of short term pricing and competitive analysis. Hence the relationship between revenue and cost has not been fully appreciated in the development of strategic planning models. In particular, the failure to consider the interaction between price, demand, and cost has led to the development of business plans that are suboptimal. 
     Hence there is a need for a practical business model which recognizes the connection between price, demand, and cost. The technologies underlying the communications industry are now enabling exponential improvements in performance per dollar expended. Without such a business model, a communications company will almost certainly be unable to make sensible decisions regarding the necessary price adjustments, adjustments that may have to be made on a continuous basis. A communications company lacking such a model will also be unable to intelligently deploy the improved network technologies that lower cost and stimulate demand. 
     BRIEF SUMMARY OF THE INVENTION 
     The present invention is a method and computer program product for selecting and arranging an appropriate combination of network components, or elements, in a communications network and establishing prices for communications services. This is done in a manner that maximizes the net present value of cash flow resulting from the provision of communications services between nodes of the network. The method comprises the steps of receiving information that constrains network design and price establishment, and then using the constraint information to select a combination of network components for each link in the communications network and to determine prices. 
     According to the invention, the determination of prices and selection of network components are performed for each of several successive time periods, effectively planning the evolution of the network and the price structure of communications services. The selections are made with the objective of maximizing the net present value of the cash flow that results from the sale of communications services over time, while ensuring that the network components satisfy service demand. 
     The invention has the feature of optimizing the net present value of cash flow from the provision of communications services. The invention has the additional feature of performing the optimization while constrained by resource and technological limitations. The invention has the advantage of incorporating demand, price, and costs into a single business model. The invention has the further advantage of yielding an extended plan for network management and product pricing. 
     The foregoing and other features and advantages of the invention will be apparent from the following, more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES 
         FIG. 1  is a block diagram illustrating the general process of the invention and its inputs and outputs, according to an embodiment of the invention. 
         FIG. 2  is a flowchart illustrating the fundamental stages of the invention, according to an embodiment of the invention. 
         FIG. 3  illustrates the categories of products that could be offered by a fiber optic network, and the types of resources such products could require. 
         FIG. 4  illustrates the changes of price elasticity of a product over time. 
         FIG. 5  is a flowchart illustrating the steps of calculating total revenue, according to an embodiment of the invention. 
         FIG. 6  illustrates an example network topology. 
         FIG. 7  is a flowchart illustrating the steps of modeling costs, according to an embodiment of the invention. 
         FIG. 8  is a flowchart illustrating the steps of determining investment costs, according to an embodiment of the invention. 
         FIG. 9  is a flowchart illustrating the steps of calculating operating costs, according to an embodiment of the invention. 
         FIG. 10  is a flowchart illustrating the steps of calculating retirement costs, according to an embodiment of the invention. 
         FIG. 11  is a flowchart illustrating the basic components of the total cost determination, according to an embodiment of the invention. 
         FIG. 12  is a flowchart illustrating the steps of NPV optimization, according to an embodiment of the invention. 
         FIG. 13  is a flowchart illustrating the steps of applying a price profile heuristic, according to an embodiment of the invention. 
         FIG. 14  is a block diagram illustrating a computing environment for a software embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A preferred embodiment of the present invention is now described with reference to the figures, where like reference numbers indicate identical or functionally similar elements. Also in the figures, the left-most digit of each reference number corresponds to the figure in which the reference number is first used. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other devices and applications. 
     TABLE OF CONTENTS 
     I. Overview 
     
         
         
           
             A. Purpose 
             B. Process structure 
             C. Basic flow 
             D. Terms
 
II. Preliminary Assumptions
 
             A. Time 
             B. Products
 
III. Process
 
             A. Constraints 
             B. Model revenue 
             C. Model network topology
           1. Nodes/rings/circles/links concept   2. Demand   3. Capacity   
         
             D. Model costs
           1. Technologies   2. Investment costs   3. Operation costs   4. Retirement costs   5. Access costs   6. Formulation   
         
             E. Optimize 
             1. General
           a. Free and derived variables   b. Objective function   c. Process   
         
             2. Price profile heuristic
 
IV. Computing Environment
 
V. Conclusion
 
           
         
       
    
     I. Overview 
     A. Purpose 
     The purpose of the invention is to facilitate (1) development of a communications network over time and (2) the establishment of prices, over time, of communications services (known hereinafter as “products”). Network development and pricing are performed in a manner that maximizes the net present value (NPV) of the cash flow that results from the sale of these services. The invention includes a mathematical model that describes cash flow as a function of revenue and costs. 
     B. Process Structure 
     The invention described herein includes an optimization process for maximizing the NPV of a cash flow, where the cash flow results from the provision of communications services. The process and the information required by the process is illustrated generally in  FIG. 1 . Optimization process  105  requires information inputs and produces a business plan that addresses network development and product pricing over an interval of time. Process  105  effectively integrates three general areas of analysis. First, process  105  considers the products that can be made available to customers, the price to be charged for the products, and the appropriate mix of products. This information is illustrated collectively as product and price information  110 . Second, process  105  also needs to consider the amount of traffic that will be passed on the network, how the traffic will be routed, and the capacity requirements of each link of the network. This information is illustrated collectively as traffic information  115 . Third, process  105  must consider the equipment and other infrastructure that must be selected and combined to provide the appropriate amount of capacity on the appropriate links, to provide the desired products to customers. This information is illustrated collectively as equipment information  120 . 
     Process  105  uses a set of market assumptions  125 . These assumptions will be described in greater detail below. In general, market assumptions  125  address demand for a product and its price, and the relationship between changes in price and changes in demand. This relationship is described in terms of a price elasticity statistic. Market assumptions  125  also include information on how demand is allocated on different links throughout the network. Initial demand levels are assumed, as are initial price levels. 
     In addition, the products available to customers are modeled in a product representation  130 . For an optical network, such products can include, for example, private line products, internet protocol (IP)-based products, and wavelength-based products. The product representations  130 , along with market assumptions  125 , are used in determining the products to be provided and their pricing, in light of demand. Product representations  130  and market assumptions  125  are therefore included in product and price information  110 . Product and price information  110 , in turn, affects the modeling of expected revenue. 
     The topology of the network must also be modeled. In general, a network topology  135  includes a set of nodes for the network, a set of links (physical network segments), and organization of links into rings, where each ring is a set of links that share a common technology. Rings and circles will be described in greater detail below. Network topology  135  also includes a set of circles, where a circle is defined as a set of links that appears in one or more rings in the network. Network topology  135  is a function of routing demand and must reflect the required capacity at each link. Network topology  135  is therefore incorporated in traffic information  115 . 
     Equipment information  120  includes a set of technology assumptions  140 . Technology assumptions  140  can include the range of possible transmission rates and, in the case of an optical fiber network, the possible numbers of wavelengths that can be made available on a link. In the case of an optical fiber network, technology assumptions  140  can also include the generations of the available fiber, and the available cable sizes, i.e., fibers per cable. 
     The costs associated with different technologies can also be modeled. The total costs which must be paid by a communications service provider include investment costs, network services costs, operating costs, retirement costs, and access costs. Such aggregate cost models  145 , along with technology assumptions  140 , are incorporated in equipment information  120  to facilitate identification of what equipment to employ in the communications network, i.e., how to select components and build the network. Equipment information  120  is used in determination of the costs that can be incurred over time by the communications service provider. 
     Another input to the optimization process  105  is a set of assumptions regarding the overall scenario to be modeled. These scenario assumptions  150  include both timing and financial assumptions. Timing assumptions include, for example, the definition of the interval for which the optimization is being performed. In an embodiment of the invention, the optimization process addresses network development throughout a time interval starting with a defined year and proceeding through a fixed number of years. The financial assumptions can include information such as discount rate and the price compression rate needed by the optimization process  105 . 
     The output of process  105  is a description of how a network should be deployed (e.g., what equipment should be placed at what nodes and links so as to provide the demanded products) and the pricing of the products. The appropriate product prices and equipment deployments are identified for each year in the time interval specified by scenario assumptions  150 . The results can be subject to further analysis  155 . In an embodiment of the invention, the results can be displayed and analyzed using a commercially available spreadsheet package, such as EXCEL, a product of MICROSOFT, Inc. of Redmond, Wash. 
     C. Process Flow 
     The overall flow of the invention is illustrated in  FIG. 2 . The process begins at step  205 . In step  210 , a variety of constraints are received. The constraints include a definition of the time interval which is addressed by the optimization, initial values for price and demand for each product, the set of nodes to be serviced by the network, and a set of financial assumptions. These include the discount rate and the constraints on the behavior of prices and costs. The constraints will be described in greater detail below. In step  215 , the revenue received by the communications service provider is modeled. The revenue for each time period is modeled on the basis of price and demand in the time period. In step  220 , the topology of the network is modeled. The topology model is based on demand, which determines the locations of nodes and links, and determines the required capacity per link and time period. In step  225 , the various costs for which the communications service provider is responsible are modeled. Costs depend on the level of demand in each time period, and the infrastructure (equipment and bandwidth) that is bought, used, and retired in each time period. In step  230 , the multi-year NPV optimization is performed. This step seeks the demand level (and, therefore, price level) for each product and time period, and the specific infrastructure deployment per link and time period, that yield the best NPV of the cash flow. In step  235 , the network infrastructure is deployed and products are priced according to the optimization. The process concludes at step  240 . 
     D. Terms 
     The following terms are used throughout the rest of the application. Their definitions are provided here. 
     Circle: A set of links (defined below) that appears in one or more rings (defined below) of a network. A circle is the physical infrastructure that supports a ring. 
     Cloud resources: Resources that are used by products inside a communications backbone and are shared among different products. Examples include fiber, wavelengths, and rings (defined below). 
     Cost compression: The rate at which costs change, per time period. 
     Edge resources: Resources that are used by products outside a communications backbone and are associated with specific products. Examples include routers and digital-analog cross connect systems (DACS). 
     Link: A chain of physical network segments. 
     O &amp; M: Operation and maintenance. 
     Operational interval: The interval of time addressed by the optimization. 
     Price elasticity: The ratio of the percentage change in demand to the corresponding percentage change in price. 
     Ring: A set of links that share a common technology, a common number of wavelengths, and a common fiber cable. A ring represents an establishment of capability or capacity. 
     II. Preliminary Assumptions 
     The following section describes some of the assumptions that can be made prior to beginning the process of the invention. These assumptions concern modeling of the time interval addressed by the optimization, and the allocation of resources to the formation of products. 
     A. Time 
     The invention describes how the network infrastructure should evolve so as to maximize the NPV of cash flow over a defined interval of time. For analytic purposes, the interval is viewed as a series of consecutive time periods. In a preferred embodiment of the invention, each time period is one year. In alternative embodiments of the invention, the time periods can be months, quarters (i.e., three month periods), or some other defined length of time. In the notation used herein, any given year is designated by a T with an appropriate subscript. The network becomes operational at period T OPER . The network&#39;s operational time interval of interest in defined by the sequence of periods Operational={T OPER , . . . , T LAST }. The planning horizon is defined as the sequence Planning={T OPER −1, . . . , T LAST }. 
     B. Products 
     The process of the invention must necessarily be aware of products that are to be made available to customers. If, for example, the network in question is a fiber optic network, products can be divided into three classes, as illustrated in  FIG. 3 . Private line products  305  and IP products  310  are specified in terms of the framing specification for digital signal transmission (e.g., DS 1 , DS 3 ) and physical protocols for optical signal transmission (e.g., OC 3 , OC 12 , OC 48 ). IP products  310  further include 100T (fast ethernet) and gigabit ethernet (GIGE). Wavelength products  315  include multiplexed products and 10 gigabit wavelengths. 
     Products can also be mapped to different tiers of resources. Such resources include multiplexers (MUXs)  320 , transponders  322 , routers  325 , digital analog cross connect systems (DACs)  330 , protection resources  365 , add/drop multiplexers (ADMs)  370 , wavelength equipment  340 , such as reframe/retime/regenerate units (RRRs, also known as 3Rs) and wavelength division multiplexers (WDMs), ring equipment  345 , such as in-line amplifiers (ILAs), RRRs, and WDMs, fibers  350 , and conduits. 
     Resources can be divided into edge resources  355  and cloud resources  360 . Edge resources  355  are used by products outside any backbone. Such resources are allocated to specific products. Cloud resources  360  are used within a backbone. Such resources are shared among products and their allocation is ultimately decided during optimization. 
     With respect to edge resources  355 , in an exemplary optical network wavelength products  315  do not use any edge resources  355 , except for MUXs  320  and transponders  322 . IP products  310  can use routers  325  and DACs  330 . Private line products  305  can use protection resources  365  and ADMs  370 , together with DACs  330 . Note that all products share cloud resources  360 , including wavelength hardware  340 , ring equipment  345 , and fibers  350 . As will be seen below, the cost structure of each product is determined by the underlying use of resources. 
     III. Process 
     The following section describes the process of the invention in detail. 
     A. Constraints 
     Prior to actual optimization, a number of constraints can be defined. In an embodiment of the invention, certain values can be constrained to be non-negative. In an embodiment of the invention, the amount of demand for each given product p in any time period T can be assumed to be greater than or equal to zero:
 
Demand pT ≧0 , ∀p, T. 
 
Likewise, new demand for each product in that time period can also be assumed to be greater than or equal to zero:
 
NewDemand pT ≧0 , ∀p, T. 
 
     With respect to resources, the number of wavelengths, rings, and fibers that are bought in each time period T, for each fiber generation g, each technology (r,λ), and each circle c, can be constrained to be greater than or equal to zero:
 
WavelengthBought rλcT ≧0, ∀( r ,λ),  c, T 
 
RingsBought rλcT ≧0, ∀( r ,λ),  c, T 
 
FiberBought rλcT ≧0, ∀( r ,λ),  c, T. 
 
Likewise, the number of wavelengths, rings, and fibers used in each time period T, for each fiber generation g, each technology (r,λ), and each circle c, can also be constrained to be greater than or equal to zero:
 
WavelengthUsed rλcT ≧0, ∀( r ,λ),  c, T 
 
RingsUsed rλcT ≧0, ∀( r ,λ),  c, T 
 
FiberUsed rλcT ≧0, ∀( r ,λ),  c, T. 
 
Also, the numbers of wavelengths, rings, and fibers bought in the initial time period T 0  are assumed to be known and are constrained to the known values.
 
     With respect to capacity and accommodation of demand, there must be enough installed capacity on each circle to allow traffic on all wavelengths l in the circle: 
                     ∑     (     r   ,   λ     )     Technology     ⁢       (       S   T       1   +     C   Surplus         )     ⁢     WavelengthsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT           -     Traffic   lT       ≥   0     ,     ∀   l     ,   T   ,         
where C surplus  is the surplus capacity and S T  is a scaling parameter.
 
     In addition, the number of wavelengths used must not exceed the wavelengths available in the rings that are present:
 
RingWaves rλ RingsUsed rλcT −WavelengthUsed rλcT ≧0, ∀( r ,λ),  c, 
 
where RingWaves rλ  is the maximum number of available wavelengths for a given technology. Moreover, enough fiber of each generation must be installed on each circle:
 
                   FiberUsed   gcT     -       RingFiber     r   ⁢           ⁢   λ       ⁢       ∑       (     r   ,   λ     )     =   1     3     ⁢     RingsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT             ≥   0     ,     
     ⁢     ∀   g     ,   c   ,     T   ∈   Operational     ,         
where RingFiber rλ  is the number of fibers per ring.
 
     With respect to price and demand, the price of any product is constrained to be non-increasing with respect to time. This can be expressed in terms of demand: 
                   (       A     pT   -   1       η   pT       ·     Demand   pT     η     pT   -   1           )     -     (       A   pT     η     pT   -   1         ·     Demand     pT   -   1       η   pT         )       ≥   0     ,     ∀   p     ,     T   .           
A is in calibration constant defined below. With respect to new demand, while it must be non-negative, new demand can be capped for each time period in an embodiment of the invention:
 
     
       
         
           
             
               
                 
                   Growth 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     Cap 
                     · 
                     
                       
                         ∑ 
                         
                           P 
                           = 
                           1 
                         
                         P 
                       
                       ⁢ 
                       
                         Demand 
                         
                           pT 
                           - 
                           1 
                         
                       
                     
                   
                 
                 - 
                 
                   
                     ∑ 
                     
                       P 
                       = 
                       1 
                     
                     P 
                   
                   ⁢ 
                   
                     Demand 
                     pT 
                   
                 
               
               ≥ 
               0 
             
             , 
             
               ∀ 
               
                 T 
                 . 
               
             
           
         
       
     
     With respect to price and demand for any product, in an embodiment of the invention, price elasticity η can be defined as follows: 
             η   =         Δ   ⁢           ⁢   Q     Q         Δ   ⁢           ⁢   P     P             
where P represents price and Q represents demand. This corresponds to the following partial differential equation:
 η Q∂P+P∂Q= 0. 
Consequently,
   Q   T   =A   T   ·P   T   −η     T     
where A T  is a calibration constant that can be viewed as market potential at time T. A T  is obtained from an initial price-demand relationship discussed above. Note that price elasticity l can be constrained to be constant with respect to price, although it may vary with respect to time.
 
     The time-dependent price elasticity is assumed to follow a bell-shaped curve that also reflects product maturity. This is illustrated in  FIG. 4 . Elasticity increases as a product gains acceptance in stage  410 , levels off when the product is mature in stage  420 , and decreases as the product is aging in stage  430 . For each product, the length of the product cycles and phase components (and hence the elasticity) are obtained from marketing analysis in an embodiment of the invention. Note that in an embodiment of the invention, this model does not capture cross-elasticity between products. 
     The allocation of demand can also be constrained. Marketing studies, for example, can be used to determine both the magnitude and geographical location of demand in a network. Hence, the fraction of overall demand that is attributed to any given node pair is known and assumed to be constant. Moreover, the initial price and demand for any product at time period T 0  are also constrained to assumed values. 
     In an embodiment of the invention, the available technology is also constrained. For fiber optic networks, the set of available data rates can be defined to be {r}={192, 768, 769, 1536, 1537}. Here, 192 refers to OC  192 , etc. The number of available wavelengths per fiber can be drawn from the set {λ}={32, 48, 64, 80, 96, 112, 128, 160}. The set of available technologies is defined as a subset of combinations of elements in the two sets, {(r,λ)}. 
     Finally, cost compression can be a constraint. In an embodiment of the invention, cost compression is fixed at fifty percent. 
     B. Revenue Modeling 
     The step of modeling revenue (step  215  of  FIG. 2 ) is illustrated in greater detail in  FIG. 5 . The process begins with step  505 . In step  510 , the set of available products is identified for each period in the defined time interval. In step  515 , the price elasticity for each product is determined as a function of time. In step  520 , the magnitude of demand is determined per node pair, and per time period. In step  525 , the initial price and demand are determined per product. In step  530  the calibration constant A To  is determined per product. In step  535 , price is determined as a function of demand for each product and for each time period. In step  540  revenue is calculated based on the current demand, per time period and per product. In step  545 , additional revenue per time period and product is calculated, wherein the additional revenue is that which arises based on additional demand in the time period. In step  550 , the total revenue is calculated for all time periods up to the end of the time interval, per product. The process concludes at step  555 . Mathematically, the revenue model can be expressed as follows: 
               Total   ⁢           ⁢   Revenue     =     n   ⁢       ∑     T   =   1       T   last       ⁢       d   T     ⁡     (       ∑     p   =   1     P     ⁢     γ   ⁡     (       Revenue   pT     Current   ⁢           ⁢   Demand       +     Revenue   pT     New   ⁢           ⁢   Demand         )         )                 
wherein
 Revenue pT   CurrentDemand =α(Price pT−1 +Price pT )Demand pT−1 , Revenue pT   NewDemand =β(Demand pT −Demand pT−1 )Price pT , 
where α and β are scaling factors,
 
                   Price   pt     ⁡     (     Demand   pt     )       =       (         β   pt     ⁢     A   p         Demand   pt       )       1   /     η   pt           ,         
where β pT  is a share growth parameter,
 
     
       
         
           
             
               
                 A 
                 pt 
               
               = 
               
                 Price 
                 pt 
                 
                   η 
                   pt 
                 
               
             
             , 
             
               
                 and 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 η 
               
               = 
               
                 - 
                 
                   
                     
                       Δ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       Q 
                     
                     
                       
                           
                       
                       ⁢ 
                       Q 
                     
                   
                   
                     
                       Δ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       P 
                     
                     
                       
                           
                       
                       ⁢ 
                       P 
                     
                   
                 
               
             
           
         
       
     
     C. Network Topology Modeling 
     This section describes the modeling of a network topology. This entails representation of the network infrastructure, the amount and location of demand placed on the infrastructure, and required capacity. 
     1. Nodes/Rings/Circles/Links Concept 
     The invention uses an abstract representation of the topology of a communications network. The representation is composed of the following elements:
         A set of nodes. Each node represents a distribution site or a gateway.   A set of links. A link is a chain of actual physical network segments.   A set of rings. Each ring is defined as a set of links that share a common technology, a common number of wavelengths, and a common fiber cable.   A set of circles. A circle is defined as a set of links that appears in one or more rings in a network, and hence constitutes ring building blocks.
 
A ring can be viewed as a conceptual construct. It represents an ability to add more channels. A circle, on the other hand, is a physical place (i.e., infrastructure) where one can put a ring.
       

     Some of these concepts are illustrated in  FIG. 6 , which shows a communications network in the continental United States. An example node  605  is illustrated at Dallas/Fort Worth. A link  610  is shown connecting nodes at Denver and Ogden. A ring  615  is shown connecting nodes at Denver, San Diego, Los Angeles, and other locations. Note that nodes can be viewed as locations at which traffic can be added or dropped off of a backbone and where rings interconnect. 
     In an embodiment of the invention, technology usage is only captured at ring or circle level. If capacity is added to a link, the capacity of other links in the ring might have to be increased. If this increase is applied to the highest capacity link in the ring, then all other links in the ring have to be increased as well in networks operating in asynchronous transfer mode (ATM). 
     2. Demand 
     The invention requires that the routing of demand per node pair be calculated. Ways to achieve this particular step are well-known in the art. One way to perform routing is to perform shortest path routing. Moreover, such routing need not be optimal. The output of the routing step is a routing matrix that captures the usage of each link by each node pair in the logical network topology. If there is a single path between each node pair, the matrix has binary elements, each of which is set to either 1 if traffic flows on the link or 0 otherwise. If there are multiple paths that are possible between a pair of nodes, then the elements in the matrix will be either 1/n or 0, depending on whether the link is used or not. Here, n is equal to the number of possible paths that can be taken to connect the node pair. It is assumed that routing is based on a fixed topology that does not change throughout the time interval. 
     3. Capacity 
     The level of demand at each link translates to a level of traffic. Given this level of traffic, the communications service provider must provide specific numbers and types of products. The selected products must then have a capacity that meets or exceeds the level of traffic. The capacity for each link is determined by summing capacity across the products used at the node pair associated with the link. 
     D. Cost Modeling 
       FIG. 7  illustrates the determination of the total cost that must be expended by a communications service provider for a given product at a time period T for a given technology, circle, and fiber generation. Total cost  705  is shown as a function of subordinate costs, i.e., investment cost  710 , operating cost  715 , total retirement cost  720 , and access cost  725 . Note that operating cost  715  in turn depends on network services costs  730 . The mathematical formulation of total cost  705  will be described in greater detail below, as well as the subordinates costs. 
     1. Technologies 
     Before discussing cost formulations for a communications network, it should be noted that costs differ with technologies and communications media (e.g., fiber types). Depending on the nature of the communications network, the available service may be limited to a fixed number of technologies. In the case of an optical fiber network, for example, transmission rates may be limited to one of {r}={192, 768, 769, 1536, 1537}. Here, 192 refers to OC  192 , etc. In addition, the maximum number of wavelengths on a link may be constrained to one of several. Again, in an optical fiber network, the maximum number of wavelengths per fiber may be limited to one of {λ}={32, 48, 64, 80, 96, 112, 128, 160}. In this case, the set of currently available technologies is defined as a subset of all the possible combinations developments in the two above sets, and indexed by the ordered pair (r, λ). In an example optical fiber network, the set of available technologies can be represented as 
     
       
         
           
             Technology 
             = 
             
               { 
               
                 
                   
                     
                       
                         ( 
                         
                           192 
                           , 
                           32 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           768 
                           , 
                           48 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           769 
                           , 
                           64 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1536 
                           , 
                           48 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1537 
                           , 
                           96 
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       
                         ( 
                         
                           192 
                           , 
                           64 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           768 
                           , 
                           64 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           769 
                           , 
                           80 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1536 
                           , 
                           64 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1537 
                           , 
                           112 
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       
                         ( 
                         
                           192 
                           , 
                           96 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           768 
                           , 
                           80 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           769 
                           , 
                           96 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1536 
                           , 
                           80 
                         
                         ) 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ( 
                         
                           1537 
                           , 
                           128 
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                         
                       ⁢ 
                       
                         
                           ( 
                           
                             1536 
                             , 
                             96 
                           
                           ) 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           
                             1537 
                             , 
                             160 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
           
         
       
     
     In the case of an optical fiber network, fiber can be specified by generation and type. In an embodiment of the invention, there are eight possible fiber generations identified, denoted by the integers 1 through 8. In other embodiments, a different number of generations can be identified. There are also five different sizes of cables, where each cable size holds a given number of fibers. At present, a cable can hold either 8, 16, 32, 64 or 128 fibers. A fiber cable can therefore be identified in terms of generation and size by the ordered pair j, g), where j represents the fiber generation and g represents the cable size. 
     2. Investment Costs 
     As described above, the total costs that must be paid out by a communications service provider depend on the investment costs. The determination of investment costs is illustrated in  FIG. 8 . The process starts with step  805 . In step  810 , the new demand for each product in each time period is determined, NewDemand pT . In step  815 , the number of rings bought, per technology, circle, and period is determined, RingsBought rλcT . In step  820 , the number of wavelengths bought, per technology, circle, and period is determined, WavelengthsBought rλcT . In step  825 , the amount of fiber bought, per fiber type, generation, circle, and period, is determined, FiberBought jgcT . In step  830 , the total electrical cost E is determined. In step  835 , the total investment cost for a time period T is determined according to the equation 
                 InvestmentCost   T     ⁢     (       NewDemand   pT     ,     RingsBought     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ,     
     ⁢           ⁢     WavelenghtBought     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ,     FiberBought   jgcT       )       =         1   2     ⁢       ∑     p   =   1     P     ⁢         (       K   p     ⁢     (       1   -     ∈     )       )       T   -     T   OPER         ⁢     NewDemand   pT           +         1   +   α         δ   T         ⁢       ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢     (         ω     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ⁢     RingsBrought     r   ⁢           ⁢   λ   ⁢           ⁢   cT         +       φ     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ⁢     WavelengthBought     r   ⁢           ⁢   λ   ⁢           ⁢   cT           )           +       1       δ   T         ⁢       ∑     c   =   1     C     ⁢       ∑     j   =   1     CableSize     ⁢       ∑     g   =   1     FiberGeneration     ⁢     ψ   ⁢           ⁢     FiberBought   jgcT               +   E           
where
     κ p =sum of DACS, router, transponder, and MUX costs for product p,   ε=cost compression factor,   δ T =yearly discount rate in time period T,   α=equipment cost factor,   ω rλcT =ring cost for circle c, technology (r,λ) and time period T,   φ rλcT =wavelength cost for circle c, technology (r,λ) and time period T,   ψ jgcT =fiber cost for circle c, fiber generation g, cable size j, and time period T.
 
Note that the specific costs for purchasing network components, e.g., κ p  and ψ jgcT , are driven by the marketplace and are not directly controlled by any process described herein.
   
     The process concludes with step  840 . 
     3. Operating Costs 
     Total costs also depend on the extent of operating costs. The calculation of operating costs is illustrated in  FIG. 9 . The process begins with step  905 . In step  910 , the number of rings used per technology, circle, and period is determined (RingsUsed rλcT ). In step  915 , the number of wavelengths used per technology, circle, and period is determined (WavelengthsUsed rλcT ). In step  920  the total operating cost for time period T is determined according to the equation
 
OperatingCost T =VendorTechnicalSupportCost T +MetroOperatingExpense T +IntercityOperationExpense T +ProvisioningExpense T +BusinessExpense T .
 
The constituent operating costs are modeled as follows:
 
                 VendorTechnicalSupportCost   T     =       ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢     (         a     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ⁢     RingsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT         +       b     r   ⁢           ⁢   λ   ⁢           ⁢   cT       ⁢     WavelengthsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT           )           ,         
where
 
     a rλcT =vendor O&amp;M ring expense per circle and 
     b rλcT =vendor O&amp;M wave expense per circle. 
                 MetroOperationExpense   T     =     Ϛ   ⁢       ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢     (       n   city     ⁢     WavelengthsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT         )             ,         
where
 
     ζ=long haul ADM maintenance cost per unit, 
     n city =number of cities of type ADM, and 
     C metro =metro equipment maintenance cost. 
                 IntercityOperationExpense   T     =         c   ILA     ⁢     f   ring     ⁢       ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢     ξ   ⁢           ⁢     RingsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT               +         (       M     3   ⁢   RT       ⁢     (     1   +     C   ops       )       )       T   -     T   o     +   1       ⁢       ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢           ⁢       n   term     ⁢     WavelengthsUsed     r   ⁢           ⁢   λ   ⁢           ⁢   cT                   ,         
where
 
     c ILA =maintenance cost for ILA, 
     f ring =fiber per ring, 
     ξ c =circle distance, 
     M 3RT =maintenance cost for RRR terminals, 
     C ops =operating cost increment, and 
     n term =sum of number of terminals. 
                 ProvisioningExpense   T     =         ∑     p   =   1     P     ⁢       (       C   Prov     +     C   cust       )     ⁢     NewDemand   pT         +       n   CustMainCost     ⁢       ∑     p   =   1     P     ⁢     Demand   pT             ,         
where
 
     C prov =provisioning cost, 
     C cust =cost equivalent per new DS3 for CIM and order entry, and 
     n CustMainCost =sum of customer maintenance costs. 
                 BusinessExpense   T     =       c   RevPerc     ⁢       ∑     p   =   1     P     ⁢     (         Price     pT   -   1       ⁢     Demand     pT   -   1         +       Price   pT     ⁢     Demand   pT         )           ,         
where
 
     C RevPerc =scaled percentage of revenue expenses. 
     The process concludes at step  925 . 
     4. Retirement Costs 
     The total costs are also affected by the retirement costs. The determination of retirement costs is illustrated in  FIG. 10 . The process begins with step  1005 . In step  1010 , the number of rings retired, per technology, circle, and period is determined (RingsRetired rλcT ). In step  1015 , the number of wavelengths retired, per technology, circle, and period is determined (WavelengthsRetired rλcT ). In step  1020 , the retirement costs for a time period T is calculated according to the equation 
               TotalRetirementCost   T     =         ∑     (     r   ,   λ     )     Technology     ⁢       ∑     c   =   1     C     ⁢     (         c   Retire     ⁢     ω     r   ⁢           ⁢   λ   ⁢           ⁢   cT         ,       RingsRetired     r   ⁢           ⁢   λ   ⁢           ⁢   cT       +       (         c   Retire     ⁢     φ     r   ⁢           ⁢   λ   ⁢           ⁢   cT         ,     +     sp   T         )     ⁢     WavelengthRetired     r   ⁢           ⁢   λ   ⁢           ⁢   cT             )         +     M   ·     WavelengthRetired     r   ⁢           ⁢   λ   ⁢           ⁢   cT                 
where
 
     C Retire =retirement cost factor, 
     ω rλcT* =ring cost per circle at time available, 
     φ rλcT* =wave cost per circle at time available, 
     s=scaling factor, 
     q T =provisioning cost factor, and 
     M is a constant. 
     The process concludes at step  1025 . 
     5. Access Costs 
     Access costs also affects the total costs which must be expended by a communications service provider. The access expense in a period T is calculated as the sum of all local access expenses per DS3 according to the equation 
               AccessCost   ⁢     (     Demand   pT     )       =       ∑     p   =   1     P     ⁢       ϕ   pT     ⁢     Demand   pT               
where φ pT  is the local access costs per DS3.
 
     6. Formulation of Total Costs 
     The formulation of total costs (step  225  of  FIG. 2 ) is illustrated in  FIG. 11 . The process begins with step  1105 . In step  1110 , the investment costs are determined per product, technology, circle, fiber type, generation, and period, as described above. In step  1115 , the operating costs are determined per product, technology, circle, and period, and described above. In step  1120  the retirement cost is determined, per technology, circle, and period, as described above. In step  1125 , the access cost is determined, per period and product, as described above. In step  1130 , all of the above costs are summed. The process ends at step  1135 . 
     E. Optimization 
     1. General 
     The following section describes the objective function to be optimized, the free variables that can be manipulated to achieve optimization. 
     a. Free Variables 
     The following table summarizes all free variables that are used in the invention: 
                                     Variable name   Indices   Type                   Demand pT     product, time   Fractional       NewDemand pT     product, time   Fractional       WavelengthBought rλcT     technology, circle, time   Integer       WavelengthUsed rλcT     technology, circle, time   Integer       RingsBought r   λcT     technology, circle, time   Integer       RingsUsed rλcT     technology, circle, time   Integer       FiberBought jgcT     size, generation, circle,   Integer           time                         FiberUsed   gcT     =       ∑     j   ∈   CableSize       ⁢     j   ·     FiberCable   jgcT                 generation, circle, time   Integer                    
where Fiber Cable jgcT  is the number of fiber cables in a circle for a given cable size, generation and time period.
 
     All remaining expressions can be derived in terms of the above free variables. 
     b. Objective Function 
     The objective function represents the NPV as the difference between total revenue and total costs. This is expressed as follows: 
             NPV   =     TotalRevenue   -       ∑     T   =   1       T   LAST       ⁢       d   T     ⁢     TotalCost   T                 
The NPV must then be maximized by choosing the appropriate values for the free variables. Note that the total cost per time period can be expressed as the sum of investment, operation, access and retirement costs as described above. The equation for total cost can be rewritten as follows
 
     
       
         
           
             
               
                 
                   
                     TotalCost 
                     T 
                   
                   = 
                     
                   ⁢ 
                   
                     
                       ∑ 
                       p 
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             C 
                             pT 
                             Demand 
                           
                           ⁢ 
                           
                             Demand 
                             pT 
                           
                         
                         + 
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                     ⁢ 
                     
                       
                         
                           C 
                           pT 
                           NewDemand 
                         
                         ⁢ 
                         
                           NewDemand 
                           pT 
                         
                       
                       ) 
                     
                   
                   + 
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       ∑ 
                       
                         r 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         λ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         c 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             C 
                             
                               r 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               λ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cT 
                             
                             RingsBought 
                           
                           ⁢ 
                           
                             RingsBought 
                             
                               r 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               λ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cT 
                             
                           
                         
                         + 
                       
                     
                   
                 
               
             
             
               
                 
                   
                       
                     ⁢ 
                     
                       
                         
                           C 
                           
                             r 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             λ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             cT 
                           
                           WavelengthBought 
                         
                         ⁢ 
                         
                           WavelengthBought 
                           
                             r 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             λ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             cT 
                           
                         
                       
                       ) 
                     
                   
                   + 
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         ∑ 
                         jgc 
                       
                       ⁢ 
                       
                         
                           C 
                           jgcT 
                           FibertBought 
                         
                         ⁢ 
                         
                           FiberBought 
                           jgcT 
                         
                       
                     
                     + 
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       ∑ 
                       
                         r 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         λ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         c 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             C 
                             
                               r 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               λ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cT 
                             
                             RingsUsed 
                           
                           ⁢ 
                           
                             RingsUsed 
                             
                               r 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               λ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cT 
                             
                           
                         
                         + 
                       
                     
                   
                 
               
             
             
               
                 
                     
                   ⁢ 
                   
                     
                       
                         C 
                         
                           r 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           λ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           cT 
                         
                         WavelengthUsed 
                       
                       ⁢ 
                       
                         WavelengthUsed 
                         
                           r 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           λ 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           cT 
                         
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
     This illustrates the linearity of total cost with respect to the free variables. 
     c. Process 
     The step of optimization (step  230  of  FIG. 2 ) is illustrated in  FIG. 12 . The process begins with step  1205 . In step  1210 , NPV is formulated as above, 
                     ⁢     NPV   =     TotalRevenue   -       ∑     T   =   1     T     ⁢       d   T     ⁢     TotalCost   T                   
In step  1215 , the above equation is solved for the greatest NPV. A number of optimization algorithms are know in the art and are implemented in software that is publicly available. These include the MINOS and SNOPP software packages, both produced by the Systems Optimization Laboratory of the Department of Operations Research, Stanford University. Another available package is LOQO, produced by John Vanderbei of Princeton University. The process concludes at step  1220 .
 
     2. Price Profile Heuristic 
     As discussed above, the solution step  1215  of  FIG. 12  above can be performed using techniques and/or available software products that are well-known in the art. The solution, however, may not be optimal or unique. To determine a near-optimal solution, a price profile heuristic can be applied. This is illustrated in  FIG. 13 . The process begins with step  1305 . In Step  1310 , the non-increasing price constraint is removed. In step  1315 , the optimization is then run. In step  1320 , the resulting business plan is evaluated. As discussed above, the plan produced by the optimization defines a schedule for equipment and fiber deployment and for product pricing. In Step  1325 , a determination is made as to whether the resulting plan includes any prices increases for any products. If not, then the process concludes at step  1335 . If, however, price increases are detected, then the process continues at step  1330 . Here the price increases are removed. The optimization is performed again at step  1315 . The process continues until no price increases are detected in step  1325 . 
     IV. Computing Environment 
     The invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system. An example of such a computer system  1400  is shown in  FIG. 14 . The computer system  1400  includes one or more processors, such as processor  1404 . The processor  1404  is connected to a communication infrastructure  1406  (e.g., a bus or network). Various software embodiments can be described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures. 
     Computer system  1400  also includes a main memory  1408 , preferably random access memory (RAM), and may also include a secondary memory  1410 . The secondary memory  1410  may include, for example, a hard disk drive  1412  and/or a removable storage drive  1414 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive  1414  reads from and/or writes to a removable storage unit  1418  in a well known manner. Removable storage unit  1418  represents a floppy disk, magnetic tape, optical disk, etc. As will be appreciated, the removable storage unit  1418  includes a computer usable storage medium having stored therein computer software and/or data. 
     Secondary memory  1410  can also include other similar means for allowing computer programs or input data to be loaded into computer system  1400 . Such means may include, for example, a removable storage unit  1422  and an interface  1420 . Examples of such may 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  1422  and interfaces  1420  which allow software and data to be transferred from the removable storage unit  1422  to computer system  1400 . 
     Computer system  1400  may also include a communications interface  1424 . Communications interface  1424  allows software and data to be transferred between computer system  1400  and external devices. Examples of communications interface  1424  may 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  1424  are in the form of signals  1428  which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface  1424 . These signals  1428  are provided to communications interface  1424  via a communications path (i.e., channel)  1426 . This channel  1426  carries signals  1428  and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. In an embodiment of the invention, signals  1428  entering computer system  1400  can include constraint information, such as the cost compression rate, initial values for price and demand per product, and the demand matrix. Outgoing signals  1428  can include information that defines an optimal business plan, such as the allocation of resources and the prices for available products, at each time period of interest. 
     In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as removable storage drive  1414 , a hard disk installed in hard disk drive  1412 , and signals  1428 . These computer program products are means for providing software to computer system  1400 . The invention is directed to such computer program products. 
     Computer programs (also called computer control logic) are stored in main memory  1408  and/or secondary memory  1410 . Computer programs may also be received via communications interface  1424 . Such computer programs, when executed, enable the computer system  1400  to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor  1404  to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system  1400 . 
     V. Conclusion 
     While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in detail can be made therein without departing from the spirit and scope of the invention. Thus the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.