An Approach to Planning and Control of Stochastic Network Flows by Michael J. Paskowitz Submitted to the Department of Electrical Engineering and Computer Science in Partial Fulfillment of the Requirements for the Degrees of Bachelor of Science in Computer Science and Engineering and Master of Engineering in Electrical Engineering and Computer Science at the Massachusetts Institute of Technology ,May 22, 2000 D 2000 Michael J Paskowitz. Altrights reserved. The author hereby grants to M.I.T. permission to reproduce and distribute publicly paper and electronic copies of this thesis and to grant others the right to do so. Author Department of Electrical Engineering and Computer Science May 22, 2000 Approved by SteVhan E. 1i The Charles Stark Draper Laboratory, Inc. Technical Supervisor Certified by C'ynthia Barnhart Codirector, MIT Operations Research Center ThqKue risor Accepted by. ( Arthur C. Smith Chairman , Department Committee on Graduate Theses MASSACHUSETS NTJuiN OF TECHNOLOGY ENG JUL 2 7 2Pfl, LIBRARIES ! An Approach to Planning and Control of Stochastic Network Flows by Michael J. Paskowitz Submitted to the Department of Electrical Engineering and Computer Science May 22, 2000 In Partial Fulfillment of the Requirements for the Degrees of Bachelor of Science in Computer Science and Engineering and Master of Engineering in Electrical Engineering and Computer Science ABSTRACT Large scale real-time planning and execution of complex flow-based networks requires careful modeling and analysis. These real-time systems often need to be modeled for an indefinite amount of time, and are often faced with unpredictable, stochastic changes to the system over time. Real-time planning must be done progressively, adapting to change as or after it occurs. Implemented plans must strive to be as efficient as possible while conforming to network demand and resource constraints. This thesis presents an approach to the planning and execution of stochastic real-time network flow problems. The approach taken is to apply linear programming, a deterministic network solution technique, to a stochastic real-time network flow problem with an unbounded time horizon by solving finite sections of the entire problem, one by one, over time. The approach is analyzed using a case study problem in the domain of military logistics planning. The analyses offer insight into more general application of this approach to other real-time network flow problems. Technical Supervisor: Stephan E. Kolitz The Charles Stark Draper Laboratory, Inc. Thesis Supervisor: Cynthia Barnhart Codirector, MIT Operations Research Center 2 Acknowledgements There are many individuals to whom I owe my deepest thanks and gratitude for their contributions to my thesis research. First and foremost, I would like to thank Dr. Stephan Kolitz of Draper Laboratory and Professor Cynthia Barnhart of MIT for their constant guidance and support. Even with the many obligations of their own work, they both found the time and effort over the past year to help drive my research to completion. I could not have come this far without their collective experience, technical vision, and sage advice. I am grateful to the Charles Stark Draper Laboratory for its commitment to education, and for funding my MIT tuition. Thanks also go to Bill, my Draper buddy, for his countless contributions to my work experience. My parents, Irv and Jean, deserve my highest praise for their faith and support over the past year, and the 22 that preceded it. Finally, now and forever, I would like to express my grateful appreciation and love to my fianc6e Maria. Her motivation and encouragement have kept me working hard on this project, and have shown me that there really is a light at the end of the tunnel. This thesis was prepared at The Charles Stark Draper Laboratory, Inc, under Internal Company Sponsored Research: Real-Time Large-Scale Optimization, IR&D Project 2036. Publication of this thesis does not constitute approval by Draper or the Massachusetts Institute of Technology of the findings or conclusions contained herein. It is published solely for the exchange and stimulation of ideas. Michael J. Paskowitz 22 May 2000 3 4 Table of Contents 1. INTR O D U CTIO N ................................................................................................................ 7 2. INTEN T A ND O BJECTIVES......................................................................................... 16 2.1 THE PARTIAL PLANNING APPROACH.............................................................................. 16 2.2 PARTIAL PLAN LENGTH EFFECTS.................................................................................. 17 2.3 NETWORK PARAMETER FORECASTING AND ASSESSMENT.............................................. 18 2.4 PLAN CONTINUITY ......................................................................................................... 19 3. IMPLEM EN TA TIO N DETAILS................................................................................... 22 3.1 D EFINITIONS................................................................................................................. 22 3.2 FORM ULATING THE M ODEL .......................................................................................... 24 3.3 FINDING A SOLUTION....................................................................................................... 25 3.4 SOLVING A PARTIAL PLANNING SERIES ........................................................................ 26 3.5 FLOW PIPELINING ............................................................................................................ 28 4. THE CA SE STUD Y M ODEL ......................................................................................... 30 4.1 TRANSPORTATION ........................................................................................................ 31 4.2 CONTAINERS, DEPOTS AND PORTS................................................................................ 31 4.3 N ET EXPLOSIVE W EIGHT .............................................................................................. 32 4.4 LATE D ELIVERY ............................................................................................................ 33 4.5 D ECISION V ARIABLES ...................................................................................................... 33 4.6 O BJECTIVE FUNCTION.................................................................................................... 35 4.7 M ATHEM ATICAL FORM ULATION................................................................................... 36 5. A NA LYSES A N D RESULTS......................................................................................... 5.1 PARTIAL PLAN LENGTH ................................................................................................ 39 39 5.1.1 PartialPlan Length Scenario Description............................................................. 40 5.1.2 D eterm inisticD emand Results................................................................................ 42 5.1.3 Stochastic D emand Results........................................................................................ 43 5.2 FORECASTING DEM AND................................................................................................ 44 5.2.1 Forecastingand Assessment Scenario Description ................................................. 45 5.2.2 ForecastingResults ................................................................................................... 46 5.3 TRANSPORTATION DELAYS.............................................................................................. 5 48 5.3.1 TransportationDelay Scenario Description........................................................... 48 5.3.2 TransportationDelay Results ................................................................................. 50 5.4 ON-DEM AND REPLANNING AND INTEGRATION ............................................................. 51 5.4.1 On-demand Replanning Scenario Description......................................................... 52 5.4.2 TransportationLink Loss Event Results................................................................. 53 5.4.3 Depot and Port Loss Event Results......................................................................... 54 5.5 EXECUTION SIM ULATION.............................................................................................. 56 5.5.1 Execution Sim ulation Scenario Description........................................................... 57 5.5.2 Sim ulated Execution Results................................................................................... 58 6. SU MMA RY A ND CON CLUSIO NS .................................................................................. 60 6.1 RESEARCH SUM M ARY.................................................................................................... 60 6.2 CONCLUSIONS ............................................................................................................. 62 7. FU TU RE W OR K ................................................................................................................ 67 7.1 PARTIAL PLAN INTEGRATION TECHNIQUES................................................................... 67 7.2 PLAN CORRECTION M ETHODS ...................................................................................... 68 7.3 APPLICATION TO OTHER PROBLEM S ................................................................................ 69 APPEND IX ............................................................................................................................. 71 SAM PLE AM PL M ODEL FILE .............................................................................................. 71 SAM PLE AM PL D ATA FILE ............................................................................................... 73 REFER EN CES ....................................................................................................................... 75 6 1. Introduction A flow-based network is a weighted, directed graph with two sets of specially designated nodes, the sources and the sinks, and a capacity function that maps edges to positive real numbers. The edges of the graph are generally directed from source to sink, and the weights represent the maximum amount of flow that can travel along each edge [2]. Flow refers to one or more commodities, either as discrete elements or continuous streams, that are present at the sources and travel to the sinks through the various edges of the network. Water flows from reservoirs to kitchen sinks by way of pipes and water pressure tanks. Airlines transport millions of passengers a year between numerous cities around the world using a limited number of planes. Distributors supply goods from warehouses to customers through various distribution channels. Inherent in each of these and many other flow-based networks is a problem that has to be solved: on which edges should the commodities travel so that each sink receives its required amount of the commodity in the most timely and efficient manner possible? Such problems are known generally as minimum-cost network flow problems [ 1]. Parametersare values assigned to nodes and edges of a graph. For network flow problems parameters include the amount of supply at each source, the flow capacity of each edge, and the demand at each destination or sink. Many networks also have constraints specific to their particular problems. A constraint is a logical relation between several variables, each taking a value in a given domain [3]. Constraints in a network 7 flow problem impose restrictions on flow beyond those stated by edge capacities. Values associated with constraints on a network flow are also considered parameters of that network. In the case of the airlines, each plane must have a flight crew and some number of flight attendants, and must be fueled, cleaned, and loaded to some capacity before it can take off. The overall schedule of flights is also subject to weather conditions, other traffic at the airports, and maintenance requirements. Certain types of network flow problems need only be solved rarely. Infrastructure networks like water and electric utilities are determined when the network is built and essentially fixed for a long period of time. A flow-based network with fixed edges and edge weights (i.e., that do not change over time) is considered a static network [1]. In designing a water supply network the problem is to determine the best way to supply sufficient water to each destination while minimizing the total number of pipes used and minimizing the costs of installation and maintenance. It might be twice as cheap to lay pipes aboveground rather than bury them in the ground, but they might then require four times as much maintenance. Once decisions like this have been made and the network is in place, flow proceeds as intended and the problem is considered solved. When a link fails, it is typically rebuilt to match its preexisting condition and maintain the same network structure. This approach works for some systems, but not all network flow problems are static. A network flow problem that airlines must solve involves the routing of passengers from city to city to meet their demand for air travel. The solution to this problem is a 8 flight schedule for the airline's fleet. In practice, such schedules face ever-changing network conditions that must be taken into account. Planes can have mechanical difficulties or fail to depart on time. Pilots and flight attendants may call in sick and need to be replaced. An airport may close in the middle of a snowstorm. Because the conditions of an airline network change over time, any one solution to its scheduling network flow problem is only viable for a short period of time. Thus the problem must be re-solved regularly, and the flow of passengers redirected (to a different plane, or a later time) to maintain a feasible solution. Flow-based networks with parameters that change over time are called time-expanded or dynamic networks [1]. Another example of a dynamic network flow problem is supply-chain logistics planning. This problem is found in various forms in many commercial and military situations. The network sources are supply warehouses of one or more goods. The sinks are any destinations, perhaps retail stores, construction sites, or fielded forces, which need a recurring supply of the goods stored at the warehouses. The network flow problem involves how to most efficiently transport goods from warehouses to destinations with demand [1]. The military commonly deals with this type of problem. In times of war, the military must supply its fighting forces with food, medical supplies, and munitions. This problem is dynamic since both supply network conditions and demand requirements can change over time. Small network flow problems can be solved either by inspection or some limited amount of work. But a large network, like any of the transportation networks already 9 discussed, could have an extremely large number of possible solutions and hundreds of thousands of decisions that need to be made. These decisions are complicated by perhaps thousands of constraints that must all be considered and satisfied together. Any set of decisions that satisfies all constraints on the network is afeasible solution to the network flow problem. A feasible solution may often be found by heuristic guidelines, but it is unlikely that heuristic methods will yield an optimal solution [6]. The optimal solution to these problems is the one that both satisfies all the constraints and minimizes the costs involved in executing the solution. Execution is the process of physically implementing the theoretically planned solution and actually moving flow from sources to destinations. Finding the optimal solution to a large network flow problem can be extremely difficult, requiring a significant amount of computing resources and a great deal of time. Established linear programming methods exist for formulating and optimally solving these problems. The formulation involves setting down the decisions to be made in the problem as collections of variables, defining parameters with single values, codifying constraints as equations in those variables and values, and describing the objective as a function to be minimized (or maximized). With such a formulation a computer can manipulate the millions of resulting possibilities through proven rigorous methods and produce an optimal solution [7]. Often these problems require integer values for some or all of their decisions. UPS, for example, cannot fly 1.7 planes between Boston and Dallas. Mixed Integer Programming is a specialization of linear programming in which some of the decision 10 variables must be integer. The general problem of solving a mixed integer programming problem optimally is NP-complete [7]. Thus no polynomial-time algorithm for solving a generic mixed integer problem has yet been found [5]. Typical real-world scheduling, routing, and transportation problems are very large, and so are very expensive in time and resources to solve as a whole. One approach to take is to decompose large problems into smaller ones, and solve those directly [9]. The benefits to this approach are speed of solution and economy of computing resources, but often the objective value suffers from the artificial boundaries imposed on the problem. Applying a provably optimal algorithm to the whole problem, rather than isolated pieces of it, is guaranteed to produce at least as good a solution, and probably a better one. For the dynamic flow networks discussed thus far, the dynamic parameters of the network, those that change over time, can be either deterministic or stochastic in nature. Deterministic parameters change over time according to some function, which can either be known or unknown to network planners. If all other network parameters (including time) are held constant, the deterministic network parameters will also remain constant. Stochastic network parameters change according to random event incidence - their values are determined by a probabilistic function. Even with all static and deterministic parameters held constant, the actual realization of a stochastic network parameter cannot be perfectly predicted. Many network flow problems that model real-world systems have stochastic characteristics. availability issues. unpredictable demand. Transportation networks face weather delays and personnel Logistics and supply networks might have to accommodate One way to model events in these systems is as stochastic 11 processes. The future generally cannot be known, only predicted. Network parameters are expected to change, but the exact time and magnitude of such changes can only be estimated. Systems that model flow-based networks and include random events and parameter values that affect the final solution are called stochastic network flows. Solving stochastic network flow problems involves not only routing flow from source to destination, but also reacting to events that randomly occur and adjusting the solution to compensate. Because stochastic network parameters change unpredictably, one way to attack network flow problems involving stochastic parameters is to solve them repeatedly over time. The frequency of re-solution depends on the impact of random events on the existing solution, which varies from problem to problem. Significant changes to network parameters may require immediate replanning to avoid a drastic increase in total cost. Stochastic network flows that result from airline flight plans and the execution of logistics supply plans are real-time systems. A real-time system in this context is a dynamic network flow that models actual events and reacts to changes in network parameters as (or soon after) they occur. These systems are often volatile, as unexpected events can transpire with little or no warning, and require frequent replanning to maintain feasible solutions. The time duration of many real-time planning systems is unbounded, either because there is no desired end to the system being modeled or because the exact time of such an end is unknown. UPS doesn't plan only to ship packages through next 12 week or next year, but indefinitely, with recurring (and possibly shifting) demand over time. It is undesirable to plan deterministically over even an approximation of an unbounded time horizon because the conditions of the network will probably change. So the question becomes, how can mathematical programming techniques be used in a stochastic real-time system for planning and execution over an unbounded time horizon? It is the goal of this thesis to explore an approach to planning and execution of stochastic real-time network flow problems. The approach taken is to apply linear programming, a deterministic network solution technique, to a stochastic real-time network flow problem with an unbounded time horizon by solving finite sections of the entire problem, one by one, over time. The solution to a single finite section is called a partialplan, because it plans the movement of flow for only part of the problem's time horizon. We therefore refer to our approach as the partialplanning approach. Figure 1 presents some common ways to classify network flow problems, including static vs. dynamic networks, deterministic vs. stochastic events and parameters, and fixed vs. unbounded planning time horizons. We are interested in planning a dynamic real-time system with stochastic network events, and will focus our analyses on a military logistics planning problem. This problem has the characteristics we are interested in investigating, and a linear programming model is readily available for adaptation [4]. 13 Static Networks: Water and Electricity supply networks Dynamic Networks: Deterministic Network Parameters Stochastic Network Events Fixed duration planning horizon Construction site materials supply Single season Cruise Line ship schedule Unbounded planning horizon Goods delivery network to meet known and recurring demand Airline flight plans, Military logistics planning and execution Figure 1: Classification of Common Network Flow Problems The military logistics planning problem includes the movement of ammunition from interior United States depots to coastal US ports. Stochastic events encountered in this problem include transportation delays, the loss of network links between depots and ports, and sudden shifts in demand if there is a crisis or contingency. Using this problem as a case study, our goal is to gain insight into the best way to apply the partial planning approach to real-time network flow problems under various network conditions. In addition, we shall examine the benefits of timely and accurate network parameter estimation and the effects of stochastic events on plans already in place. This introduction provides necessary background on the characteristics of network flow problems, and defines the focus of this thesis. Chapter 2 offers a more 14 detailed explanation of the objectives of the thesis. Chapter 3 explores the details of solving linear programs and running scenario analyses, and provides specific implementation details for the solution methods used in this thesis. In Chapter 4, the specifics of the military logistics planning problem are explained, and the problem formulation is given. Chapter 5. Various scenario analyses and relevant results are presents in Chapters 6 and 7 provide a summary of the research accomplished, conclusions drawn from the analyses, and possibilities for future work. 15 2. Intent and Objectives The intent of this thesis is to determine which methods for applying the partial planning approach produce the least expensive solutions to various classifications of network flow problems. In this chapter we define three objectives which will assist in making that determination. Each objective involves the evaluation of various forms of the partial planning approach as applied to specific network flow situations. We begin by describing the details of the partial planning approach and the forms in which it can be applied to various types of network flow problems. 2.1 The Partial Planning Approach The partial planning approach to solving a network flow problem with an unbounded time horizon involves the decomposition of the horizon into finite sections, which are then solved using deterministic linear programming techniques. The finite solutions, referred to in Chapter 1 as partial plans, are executed serially over time to route flow in the original, unbounded network flow problem. Several aspects of the approach can be varied to produce more efficient, or costeffective, solutions to the same problem. More efficient solutions are relatively less expensive than other solutions. Variable aspects include the length of time for each partial plan, the frequency of new partial plan generation, and the degree of continuity 16 between partial plans. Each aspect is described in greater detail in the following sections of this chapter. Specifying a value for every one of these aspects defines a particular variant of the approach. By applying a number of variants to the same network flow problem, we will be able to determine the variant that produces the least expensive solution. The procedure for applying a specific variant is described in Section 3.4. Within each variant, the values for partial plan length and replan delay time are consistent - every partial plan is the same length, and each are combined with the same degree of continuity. Once a partial plan begins execution, the flow determined by that plan cannot be changed. Events that occur during a partial plan's execution cannot be compensated for by that plan. The effects of such events on network parameters have to be incorporated into the generation of the next partial plan. 2.2 Partial Plan Length Effects The first objective of this thesis is to determine the effects of the length of each partial plan on the cost of a given network flow problem's solution. To isolate the effects of plan length from those of the other aspects mentioned in Section 2.1, the variants of the approach used for this determination all use a periodic replanning schedule and ignore plan continuity. Periodicreplanning indicates that every partial plan finishes execution before a new partial plan begins. Replans thus occur at regular time intervals over the course of a problem's solution. 17 To fully appreciate the effect partial plan length has on the solution, we need to consider two major types of network flow problems: deterministic and stochastic. We expect that for deterministic networks, longer partial plan variants will produce consistently lower cost solutions because each partial plan is able to optimize over a longer period of time. In stochastic networks, however, the longer partial plan variants will likely be adversely affected by each partial plan's inability to compensate for change. Section 5.1 details the application of various partial plan lengths to both deterministic and stochastic networks. The results found there provide insight into the relationships between partial plan length and solution cost. 2.3 Network Parameter Forecasting and Assessment Deterministic solution methods like linear programming depend on accurate and timely information about the real values of network parameters. The termforecast refers to a prediction of future network parameter values. determining present network parameter values. Assessment is the process of We have already discussed how stochastic events can affect the parameters of a flow network and cause the continued execution of a currently executing partial plan to become extremely expensive. A forecast of the effects of such events on the network's parameters would allow a new partial plan, which includes the new parameter information, to be generated and replace the current one. (When a partial plan is replaced immediately in response to an event, we 18 say it is replanned on-demand.) If a forecast were unavailable, timely assessment of the network's conditions after an event has occurred (and immediate replanning after the assessment) would minimize the negative effects of the event. Our second objective is to determine the qualitative value of timely event forecasting and network parameter assessment. We can make this determination by examining how solution cost changes with the timeliness of a forecast (how long before an event the event is predicted) or assessment (how long after the event its effects on the network become known). In actual real-time systems, accurate forecasts require expensive predictive mechanisms that are based on current network parameters. Timely assessments similarly require expensive constant network monitoring mechanisms. If a real-time system already has such mechanisms in place, this objective should determine the savings such mechanisms provide under a partial planning approach. Otherwise the values derived for timely forecasts and assessments should indicate what savings could be gained by implementing them. Section 5.2 explores the values of forecasting and assessment for events that cause sustained increases in a network's demand function. 2.4 Plan Continuity An unavoidable result of using linear programming with the partial planning approach is that the generated partial plans have no intrinsic relation to each other. Two 19 partial plans, whose network flow problems differ from one another only by a single network parameter value, could be wildly different, but equivalent, solutions to almost the same problem. The real-world context of network parameters cannot be transferred to the linear program used to solve the problem. Any information not formulated as a constraint on the network itself is not even considered in the solution. In practice, there are often situations in which other constraints, outside of those in the linear program, need to be part of the solution. For the partial planning approach, each partial plan is a coherent, optimal flow of supply from sources to sinks over the length of the partial plan to meet demand. It is also desirable, however, to have coherent flow from one partial plan to the next. We call this desire plan continuity - the need for gradual change from one partial plan's flow schedule to the next. This is especially true of systems that have significant human participation. Computers can adapt effortlessly to plan discontinuity, possibly taking different actions to achieve the same result in each successive partial plan. Human beings typically need time to adjust to such change, especially if each partial plan establishes a pattern of flow that is then changed at every partial plan boundary. During that time, called plan integration time, the new partial plan is grafted onto the old one so that the change is reasonably gradual. The mechanism through which two partial plans are grafted depends on the specific problem being solved. It is beyond the scope of this thesis to precisely model such a mechanism even for the case study problem, but we can approximate the effects of plan integration time. During plan integration, the optimal solution cost of both the old 20 partial plan and the new one are sacrificed in order to allow the integration to occur. If the new partial plan were generated in response to a network event the old plan was incapable of handling inexpensively, then the most cost-effective action to take would be to execute the new plan immediately. But if the two plans need to be integrated, then the most cost-effective action cannot be carried out immediately. The new partial plan would be executing in full only after the integration time, and would thereafter be providing optimal flow. Thus the real effect of plan integration is a gradual shift from the solution cost of the old partial plan to that of the new one. We simulate this effect by leaving the old partial plan in execution during the plan integration time, and then switching completely over to the new partial plan at the end of that time. This results in slightly more expensive solutions overall, but provides a good approximation of the effect of plan integration time on solution cost. We refer to our approximation as replan delay time because the execution of new partial plans is delayed rather than integrated. Since many of the real-time systems to which we wish to apply our partial planning approach require some degree of plan continuity, it is our third and final objective to determine the effects of replan delay time on solution cost. Section 5.4 specifically addresses the effects of replan delay time as applied to networks with significant stochastic events. Section 5.5 also examines replan delay time, but does so together with the other aspects of the partial planning approach in simulated stochastic network execution. 21 3. Implementation Details This section provides some details on the methodology of using linear programming to solve network flow problems. The real problem must first be distilled into collections of decisions to be made, and sets of parameters with values that model actual network parameters. Once this has been done, the formulation can be codified and used to generate results. This section also defines the terms used throughout the remainder of the thesis and describes the process of scenario analysis. 3.1 Definitions Throughout this chapter and the remainder of the thesis we use the following terms to describe certain aspects of the partial planning approach and the scenario analyses presented in Chapter 5. The term scenario is used to describe a specific real-world situation involving a network flow problem that must be solved through planning and execution. An overall planning horizon refers to the length of time over which an entire scenario occurs and must be planned. Sections 5.1, 5.3, and 5.5 use long overall planning horizons to approximate scenarios whose planning horizons would otherwise not be bound by a fixed time duration. The overall planning horizon is decomposed into finite sections, and the network flow problem in each section is solved to form a partial plan. When every partial plan is put together to form a single plan for the overall planning horizon, that 22 A partial planning series 0-Overall planning horizon .T Analysis of a Single Scenario 1/3 03 ISolver T 2/3 T' Span of each partial plan Overall plan solution value 0 Parameter that differentiates each series Figure 2: The Anatomy of a Scenario Analysis Each point on the graph is produced in similar fashion, by using a different parameter value and solving a partial planning series. The scenario under analysis determines such values as the demand function (shown here under the partial planning horizon) and other network parameters (not shown) contained in the partial plans. single plan is called the overall plan. The length of a partial plan is the number of time periods over which it plans; the span is the set of time periods a partial plan contributes to an overall plan. A (partialplanning) series is a collection of consecutive partial plans that together make up an overall plan. Data used to analyze each scenario in Chapter 5 is gathered by generating and solving a number of partial planning series, for the same overall planning horizon, that differ only by one or two parameters. For each of the two scenarios in Section 5.1, the parameter that varies from series to series is partial plan length. The scenario in Section 5.5 contains series differentiated both by partial plan 23 length and replan delay time. The analysis then consists of plotting the gathered data and interpreting the graph. Figure 2 illustrates the relationships between these terms. The network flow problem contained in each scenario has a specific set of network conditions. A network's conditions are its parameters (like demand) and characteristics (deterministic vs. stochastic demand, periodic vs. on-demand replanning, etc.) We use the term stochastic network conditions to refer to a network with one or more parameters or characteristics that behave unpredictably over time. Stochastic demand indicates that the demand function over a time horizon can deviate randomly from the values used to plan for that horizon. An overall solution is the cost of executing all partial plans in a series (in effect, executing the overall plan for an overall planning horizon). This cost is the sum of the execution costs expressed by each partial plan's objective function value. An efficient or cost-effective solution is an overall plan for an overall planning horizon whose total objective value (execution cost) is lower than that of other overall plans in the same scenario analysis. An optimal solution is more efficient than any other solution to the same scenario. 3.2 Formulating the Model A problem formulated as a linear program and formatted for use with a commercial solver has two basic parts: the model and the data. The model defines the 24 structure of the network (nodes and edges), the equation for the objective function, any named sets (i.e. the set of airplanes or the set of supply warehouses), all parameters and decision variables, and the equations (in terms of parameters and decision variables) for constraints present in the network. In essence, the model represents an entire class of possible problem instances. The data refers to all information that is specific to a single instance of the problem defined in the model. It includes the members of defined sets (i.e. the name of each warehouse) and the values for defined parameters. The demand function and any equation coefficients are also declared as part of the data. The Appendix contains sample model and data files to illustrate the distinction. 3.3 Finding a Solution Solving an instance of a problem requires feeding the model and the data to a computer program designed to solve generic linear and mixed integer programming problems. All problems presented in this thesis were solved using a commercial software package, CPLEX 6.6.0 with AMPL. AMPL facilitates the formulation of the model and data with its own programming language. The model and data are first defined in separate files, each with its own syntax. Then the two files are entered into the AMPL command processor. The processor combines the model and the data into a complete problem, formats the problem for solution, and sends the formatted problem to CPLEX. CPLEX does the work of finding an optimal solution, and then passes the results back to AMPL for display. The model and data files in the Appendix are written in AMPL's programming language. 25 3.4 Solving a Partial Planning Series Plugging a model and a data file into AMPL and finding a solution constitutes the generation of a single partial plan. Since the model defines the structure of the problem and not its specific instance, it remains largely unchanged for each partial plan of a single partial planning series, except for minor modifications to the objective function. Successive partial plans cover different spans of time from the problem's planning horizon, so each plan requires its own data file. Thus a partial planning series for a long overall planning horizon is typically made up of a single model file and a series of data Planning Horizon Time Demand Function 1 Partial Plan Partial Plan 2 Partial Plan 3 Partial Plan 4 Data Files Formatted Problem AMPL 1 -Results formatted Model File CPLEX Optia Result for display (Entered only once) Figure 3: Solving a Partial Planning Series Each data file contains a section of the demand function, as well as any other network parameters. The model file is first entered into AMPL. Then a single data file is entered. AMPL then sends the complete formulation to CPLEX, which solves the problem and returns the result to AMPL. This process is repeated for each data file in the series. 26 files that contain separate sections of the network's parameter values (over time). To solve a partial planning series, the model file is first entered into AMPL, and then each data file is entered and solved in turn. See Figure 3 for a detailed illustration of this process. Each successive partial plan builds on the partial plans developed so far. The partial plan for time periods 100-120, for example, is not solved in a vacuum; the plans developed for periods 0-100 provide the initial network conditions (including flow) for the 100-120 partial plan. These initial conditions are implemented by first loading the solution to the previous partial plan into AMPL along with the new partial plan's data file, and then fixing those loaded values. New partial plans take as fixed the decisions made by all prior partial plans in a series, because in a real execution those decisions would already have been carried out by the time the new partial plan takes effect. When decision variable values are fixed, the solver treats them as network parameters. Once the initial conditions are fixed, the objective function is changed to calculate cost only for the span of time periods covered by the new partial plan. At the end of the series, when all partial plans have been solved, the overall objective value of the solution to the series is the sum of each partial plan's objective function value. represents the cost of executing the overall plan generated by the series. 27 This value 3.5 Flow Pipelining The overall plan produced by solving a partial planning series is used to schedule flow through the network for the duration of the overall planning horizon. Regardless of the length of each partial plan, their combination must manifest itself as a continuous flow schedule over time. Even though an overall plan for 200 periods may have been generated by a series of 20-period partial plans, the execution of that overall plan over those 200 periods should seem as if the whole horizon were planned at once. If each partial plan considered the end of its 20 periods as the end of the entire overall plan, flow would stop temporarily at each boundary between consecutive partial plans. The partial plans would have no reason to send any flow that would arrive after the ends of their own spans. In order to avoid stopping flow between spans of partial plans in a series, the flow schedule must be viewed as a pipeline of flow from source to sink. The flow pipeline for the case study network is made up of discrete trucks and trains. Each truck or train takes a certain amount of time to travel from depot to port. Without flow pipelining, each single partial plan sends only the necessary flow to fulfill demand for its span of time. If, for example, a train takes four periods to reach its destination, no train would ever intentionally be sent later than four periods before the end of a planning span. Nevertheless, efficient flow across partial plan boundaries demands that the pipeline be kept as full as possible. To this end, in every scenario in Chapter 5, each partial plan schedules flow for several periods beyond its intended time span. When the next partial 28 Partial Planning Without Filled Pipeline Plan 3 Plan 2 Plan I No flow sent after this time Sink demand met exactly here. Pipe is empty. No flow arrives next period. No demand met until Plan 2 schedules new flow. Plan 4 Similarly for these plans, no demand will arrive in the period after the boundary. New plans must compensate. Partial Planning With Pipeline Filling Plan 10 Flow continue to be sent upto the boundary. Plan 3 Plan 2 Plan 2 still takes over at this point. But Plan one has left the pipe full. Flow will arrive in this period. Plan 4 Since previous plans scheduled beyond their intended end, new plans can expect some delivery even if demand has changed, easing plan transition. Figure 4: Flow Pipelining across Partial Plan boundaries Each Plan (shown as a horizontal line representing the time over which it plans) is a partial plan in a series with the other plans adjacent to it. The dots represent the ends of each partial plan's span. Note that with pipeline filling, partial plans actually extend beyond their spans. plan takes over, the pipeline is not empty. principle. 29 See Figure 4 for an illustration of this 4. The Case Study Model The test problem for analyses in this thesis involves military logistics planning and execution. The United States military has conventional ammunition storage depots spread throughout the interior of the country. During peacetime these depots act primarily as long-term storage. But during armed conflicts, these depots supply the bulk of US forces overseas with conventional munitions. Over the duration of the conflict, the bulk of the munitions from these depots must be transported to ports on the proper coast, and then taken by ship to the overseas theater of war. In a worst-case scenario, the United States would have to sustain two full-scale armed conflicts, one in Asia (off the West Coast) and one in the Near East (off the East Coast). Such a scenario would require the use and supply of all interior depots and coastal ports, with sustained heavy demand. This is the scenario assumed for analysis. This chapter describes a network flow problem and a linear program formulated to model the existing conditions of the military supply infrastructure. Munitions are stored at five primary depots, which serve as the source nodes in the flow-based network. There are three coastal ports, two on the West Coast and one on the East Coast. Because we are modeling conflicts across both oceans, all three ports will be utilized. For the purposes of this thesis, only the supply network from depot to port is considered. Demand at each port is modeled as the recurring arrival of discrete ships, but the shipping network itself is not a part of the test problem. Time is modeled in discrete periods; one period is approximately equal to one day. 30 4.1 Transportation Between the depots and the ports is a ground transportation network. This network involves two means of conveyance: truck and rail. Trucks typically have shorter transport times than rail, but carry less capacity and are more expensive to operate. In general, rail is the preferred mode of transport unless time constraints dictate the use of more expedient means. For analyses involving stochastic transportation delays, rail transport has a higher incidence of delay than truck transport [8]. 4.2 Containers, Depots and Ports The munitions themselves are modeled as the types of containers in which they are shipped. Depots store munitions safely spread out in fortified bunkers. Before munitions can be shipped, they must be packed into shipping containers. The model allows twenty distinct container types. The container types represent different configurations of munitions within a single container. Overall demand for munitions is quantified as demand for each specific container configuration. Likewise, total supply at each depot is composed of the supplies of each container type. In our example problem, container stuffing at the depots takes one time period. After being stuffed, the containers are assumed to be placed on staging areas in preparation for shipping. Each depot has limited stuffed-container storage space, of which each type of container requires an equal amount. Similarly at the ports of embarkation, containers are unloaded and moved to limited-capacity storage pads for 31 Depot 00 Munitions Storage Facility Stuffed Containers in Staging Areas - Containers on Conveyances En route to Destination Ports Port 400 Queued Conveyances awaiting unloading Unloaded Containers on port storage pads Containers from port storage pads being loaded onto ships Figure 5: Munitions Movement through Depot and Port eventual movement to and loading onto ships. It is from the container stock on these storage pads that port demand is met. In addition, each depot has a container generation rate that specifies how many total containers the depot can stuff per time period. Likewise each port has a specific rate at which containers can be unloaded from conveyances. Figure 5 illustrates the stages of container movement from depot storage facilities to ship loading areas. 4.3 Net Explosive Weight Safety is a primary concern when munitions are being moved. Restrictions on the total effective amount of explosive material (Net Explosive Weight, or NEW) present at any one place and time are imposed throughout the model. The container storage areas at 32 each depot and port are limited by NEW restrictions. Each container type is assigned a NEW value based on its contents; the number of each container type at a single location multiplied by the NEW value for each container type determines the total NEW present at that location. 4.4 Late Delivery Although the ideal solution to the munitions transportation problem would fulfill all demand requirements exactly on time, this goal is not always attainable. The model allows for late arrival of demand, but assesses a heavy penalty for every period a container arrives past its intended arrival time. Clearly late arrivals are discouraged, but sometimes necessary if demand increases unexpectedly during plan execution or if the system does not have sufficient throughput capability to meet demand. Late flow is modeled by network edges that progress backwards through time, one period at a time, at port storage pads. Thus a container that arrives at time 3, but was intended to arrive at time 1, would flow on late arcs from time 3 to time 2, and then from time 2 to time 1. In traversing two late arcs, the container would thus be penalized for arriving two periods late. 4.5 Decision Variables The decisions to be made in the course of generating a feasible plan to solve this problem are defined as decision variables in the model. Figure 6 illustrates the flow of 33 Time 0 1 2 3 4 5 6 Containers being stuffed at depot W0\ Containers awaiting loading R _0 Conveyances in transit Containers on conveyances queued at port Containers transferred to storage pads X Q P Containers waiting for ships L Late arrivals intended to Containers being loaded onto ship (satisfying demand) satisfy past demand Figure 6: Container Movement Network, from Depot to Port over Time Each edge represents a decision variable in the model. Each row of nodes is a single physical location. Each column is the flow to and from every location in a single time period. Arcs that travel vertically carry flow from one location to another. Horizontal arcs represent flow that remains in the same location for more than one time period. The bold edges illustrate the flow of a container stuffed at time 2 and intended for delivery at time 3. Although containers don't actually travel back in time, they flow to earlier time periods to fill unsatisfied past demand and indicate the number of late containers per period. munitions from depot storage facilities to port shipyards in a time-space network [1]. Each node in the figure represents a physical storage location at a depot or port, and each edge represents the movement of munitions. The quantity of ammunition associated with each edge is determined by a single decision variable value. Time proceeds from left to 34 right; each horizontal row of nodes is actually the same location at a different time. The edge labels correspond to the decision variables as described in the model formulation (Section 4.7), and text labels are also provided. For the sake of simplicity, Figure 6 only depicts a single depot and port, and edges for the flow of one container type. The complete problem network has similar connections to the one shown, but many more nodes and edges. 4.6 Objective Function The best solution to this problem delivers all required demand in the most costeffective manner possible. Several factors contribute to the total cost of munitions shipped during a plan's execution. Each truck or train costs some amount per container to operate. A severe penalty for late containers is applied in order to ensure timely delivery whenever possible. Transporting any amount of explosives is a dangerous undertaking, and transporting more at once increases the chances of an accident occurring; therefore a penalty for the total NEW in transit per time period is assessed to limit the total amount being transported at any one time. Finally, there is an added cost for queued conveyances at ports; while they are waiting to be unloaded, they are not being used for further transit. The exact function, in terms of decision variables and network parameters, is given in Section 4.7. 35 4.7 Mathematical Formulation The mathematical formulation for the test problem, taken from [4], is given below. The linear program used to generate the results found in this thesis is based directly on this formulation. SETS * Ns * Nd " " V B - The The The The set set set set of depots of ports of conveyance types of container types DECISION VARIABLES * Xbijkt - the flow of container type b e B from depot i E Ns to port conveyance k e V at time t = 0, 1, 2, ... j e Nd on jkt - the number of containers of type b e B on conveyances of type k e V enqueued at port j E Nd at time t = 0, 1, 2,... " Ybjkt - the number of containers of type b e B at port j E Nd that are unloaded from conveyances of type k e V at time t = 0, 1, 2, ... and taken to port storage pads * - the number of containers of type b e B at port j e Nd that are located on port storage pads and ready for retrieval for ship loading at time t = 0, 1, " Q Pbjt 2, ... " Rbit - the number of containers of type b e B already stuffed and waiting in staging area for transportation at depot i e Ns at time t = 0, 1, 2, ... " Wbit - the number of containers of type b e B stuffed and delivered to staging pads for transportation at depot i e Ns at time t = 0, 1, 2, ... * Ljb(t+1)t - The number of late containers of type b e B which arrive one period late (from time t+1) at time t = 0, 1, 2, ... at port j e Nd. 36 PARAMETERS " Tijk - travel time from depot i e Ns to port j e Nd on conveyance k e V " sb - supply of container type b e B at depot i e Ns over the entire planning horizon " d"jt - demand of container type b e B at port j e Nd at time t = 0, 1, 2, " c ijk - unit cost of moving container type b e B from depot i e Ns to port Nd on conveyance k e V " gjk - maximum number of containers unloaded from conveyance k e V at port j e Nd per time period * nb - Net Explosive Weight of container type b e B Sli - maximum accumulation of NEW allowed on storage pads at port j e Nd fjk - detention costs per container per time period on conveyance k e V queued at port j e Nd - the maximum container stuffing rate for depot i e Ns STli - maximum accumulation of NEW allowed in staging areas at depot i e Ns g - unit safety penalty cost of NEW in the transportation network llcjb - the per-period cost of late arrival of container type b E B to port j e Nd prijb - the relative priority of on-time delivery of container type b e B to port E Nd * * * OBJECTIVE FUNCTION Minimize: cX t=O be B (ij,k) + f je Nd keV Q beB n +g beB T +~ I t=O I I1c jb pri jb(t+L)t jENd beB 37 R iE Ns Q ,+p + je Nd kEV j e j CONSTRAINTS Subject to: T Vi e Ns,be B t=b W b+R _ -R, b =0 -XXt Vie Ns,be B,t=0,...,T j,k Xb +Q (t1-Q Yb =0 Vje Nd,k eV,be B,t =0,...,T ieNs Jyb +pb Yjk(t-1) +Pa j(t-1) pb it dbjt Vj e Nd,be B,t =0,...,T keV Vie Ns,t=0,...,T beB Vje Nd,k eV,be B,t =0,...,T beB nR Vie Ns,t=0,...,T bEB Vj e Nd,t =0,...,T bE=B All Al Flows W Rbit' Xhijkt'jQkt'I Qb Yjkt' pb L Fow Wt jtIb(t+1)_ >0 and integer. 38 5. Analyses and Results For an explanation of the terms used throughout this chapter, refer to Chapter 2 and Section 3.1. In this chapter we present a number of scenarios that model situations encountered during the planning and execution of real-time network flows. Each scenario is planned using specific variants of the partial planning approach. These variants of the approach include altering the length of each partial plan, generating new partial plans on either a periodic or on-demand replanning schedule, and changing the allotted replan delay time for partial plan integration. Each analysis is designed to provide insight into the effectiveness of the partial planning approach as it could be applied to a real-would scenario. The analysis of each scenario consists of solving a number of partial planning series (as described in Section 3.4), each of which uses a different variant of the partial planning approach, and determining which variant produces the most cost-effective solution to the network flow problem in that scenario. 5.1 Partial Plan Length The munitions logistics planning problem involves the transportation of munitions from interior depots to coastal ports to satisfy the demand for munitions overseas. This demand comes from US involvement in a conflict overseas, and must be sustained for the 39 duration of involvement. The duration of the conflict, and consequently the duration of demand, is not known but assumed to be extensive. A transportation schedule needs to be devised to move ammunition efficiently from depots to ports through a ground transportation network for the duration of the conflict. Once devised, the schedule must be executed and munitions shipped according to it. Since the extent of the planning horizon for this problem cannot be determined, a sensible approach is to solve and execute successive partial plans, each spanning a finite length of time, until supply is no longer demanded. 5.1.1 PartialPlan Length Scenario Description At the start of the conflict, the transportation network is assumed to be empty - all conventional munitions are in depot storage facilities. Once the demand for munitions begins, a partial plan is solved for some number of periods, and depots start to send supply to ports following that partial plan. When the partial plan ends, a new partial plan is solved and executed. In real-world execution this process would continue indefinitely, or until demand ceases. In this scenario, indefinite demand is approximated using an overall planning horizon significantly longer than the length of a single partial plan. The analysis is concerned with optimizing the solution to a long overall planning horizon using a periodic replanning approach. For the purposes of this analysis, replans only occur periodically, and each partial plan in the same overall plan has the same length. We are also interested in discovering how overall solutions generated using the periodic replanning approach differ depending on deterministic or stochastic network conditions. 40 We present two separate scenarios for comparison. The first contains a strictly deterministic demand function that changes predictably over time, and no stochastic network events. The second incorporates stochastic demand changes and transportation delays. In both scenarios, once a partial plan begins execution, it cannot be changed - the plan must be followed exactly. To analyze each scenario, we define a single demand function over a 400 period horizon. We then use the process described in Section 3.4 to solve a number of partial planning series. Each series is solved using a different length for the partial plans. When the objective function values for each series' solution is plotted against the partial plan length for that series, the relationship between partial plan length and overall objective value for the particular network conditions of the scenario will be known. These relationships satisfy the first objective of this thesis (see Section 2.2). In the stochastic demand scenario, several types of events could occur over the course of a single partial plan's execution. First, demand for munitions could change unexpectedly. Second, the truck and rail transportation plans produced by each partial plan may not be met during execution. In the model transportation delays occur with small probability each time a vehicle is sent from a depot to a port. For rail, the values used are: 5% chance of single-period late arrival, 2% chance of three-period late arrival, and 1% chance of five-period late arrival. All trucks have a 4% chance of being delayed one period. These numbers are not derived from actual data, but are intended to produce sufficient delay to affect solution quality without rendering all partial planning series solutions extremely inefficient. 41 In both scenarios the demand profiles (at the port of embarkation) are derived from a schedule of ship arrivals and departures. Each port has a schedule of ships that arrive to be loaded, depart for abroad to be unloaded, and return to be loaded again. In the stochastic demand scenario, increases in munitions requirements overseas cause the temporary addition of extra cargo ships to each port at various times during the scenario's execution. 5.1.2 DeterministicDemand Results Figure 7 shows the relationship between partial plan length and overall objective value in the deterministic demand scenario. In the absence of stochastic events, the Partial Plan Analysis with Deterministic Demand 1400000 4) 1200000 C 1000000 0 800000 600000 i 400000 R nw 200000 0 0 50 100 150 200 Partial Plan Length Figure 7: Periodic Partial Planning with Deterministic Demand (Lower overall solution value is better) 42 250 model can accurately predict and schedule on-time delivery of all demanded munitions. Long partial plans achieve greater solution efficiency and drive down the objective cost of plan execution because they each have more information with which to make optimal decisions. 5.1.3 Stochastic Demand Results Figure 8 relates partial plan length to objective value when the transportation network and demand function are subject to stochastic events. The results show that the events have a negative impact on both small and large partial plan lengths. Very small partial plans suffer because they may need to send large amounts of ammunition to Partial Plan Analysis with Stochastic Demand 45000000 40000000 35000000 30000000 25000000 - 0> 20000000 15000000 0U U U - i10000000 0 fAfI f 0 . - ........ ------*...... . 5000000 0 - 0 ..... . .. -------6....... - 20 40 60 80 100 Partial Plan Length Figure 8: Periodic Partial Planning with Stochastic Demand Also includes random transportation delays. Lower overall solution value is better 43 120 supply excess demand from previous events, and lack the time to do so at low cost. Very long partial plans also perform poorly because events that occur early in each partial plan's execution are not compensated for until the beginning of the next partial plan, causing significant late demand penalties. In-between these two extremes a better solution can be obtained. Mid-length partial plans (about 40 periods long) are able to recover faster than long partial plans from stochastic network events, and send flow more efficiently over longer periods of time than short partial plans. 5.2 Forecasting Demand Warfare is inherently unpredictable. Logistics support must be able to adjust to fit the needs of the battlefield. Without knowing the future, logisticians can only act based on prediction and intelligence. In a real-time system, information about what has happened before and what might happen soon has a serious impact on the immediate decisions that must be made. Better forecasting and information assessment leads to overall plans that more closely match actual conditions and result in more efficient solutions. Our second objective is to answer the following question: what is the qualitative value of more accurate information on past, present and future demand conditions? Accurate information is essential to achieving optimality when applying deterministic planning methods to scenarios in which substantial stochastic demand events can occur, but such information is not always available. We examine this question by focusing on a 44 single, sustained increase in overall demand. Although several such increases can occur over the course of a munitions supply scenario, we assume they are spaced by a reasonable amount of time and so can be considered independently. Between spaced demand increases, the system should adapt itself to providing the new level of demand and return to a steady-state transportation schedule. 5.2.1 Forecastingand Assessment Scenario Description The scenario for analyzing the value of forecasted information consists of a single increase in demand that occurs within a period of time covered by two consecutive partial plans. Other than this single demand increase, the scenario contains no stochastic events. The first partial plan, implemented sometime before the change in demand was discovered, is developed with no knowledge of the change. As soon as the event becomes known, a new partial plan is solved on-demand and executed with perfect knowledge of the event's effects on the demand function. The event becomes known either through forecasting (before it actually occurs) or through an assessment of current network conditions (after the event occurs). It is plausible for stochastic network events that occur in a real-world scenario to remain unknown for several periods after the occurrence. In this analysis, the first partial plan of the series begins at time 0. Its end (and the second partial plan's beginning) is varied from period 20 to period 40. The crossover point between the first and second plans marks the time when the event becomes known. The second plan always ends at period 60. The increase in demand always occurs in the middle of the scenario, at time 30. 45 An accurate forecast of the event before it occurs would permit the planning and execution of a new partial plan whose solution is already prepared to handle the effects of the event when it actually does occur. Qualitatively worse forecasts and assessments, those that only perceive the shift in demand at or after the time it occurs, will have an increasingly negative effect on the solution to the overall plan. By varying the time at which the first partial plan ends and the second begins, we should see a progressive worsening of the overall solution as the end of the first partial plan approaches and then extends past the increase in demand. The second partial plan has increasing execution cost in order to supply the excess demand as quickly as possible. 5.2.2 ForecastingResults The results of this scenario analysis for two different increases in demand are given in Figures 9 and 10. The first scenario involves a moderate increase in demand; the Moderate Demand Increase at Time 30 8 5000000 - > 4000000 - 3000000 4 2000000 1000000 0 - 0 20 25 30 35 Time Period dividing Plan 1 and Plan 2 Figure 9: Forecasting of Moderate Demand Increase (Lower overall solution value is better) 46 40 second scenario's event nearly doubles the previous level of demand. In both scenarios, when the first partial plan ends between periods 20 and 25, the overall solution does not suffer significantly from the demand increase because the second partial plan has ample time to ship the extra required supply. As the forecast gets worse and the second partial plan begins execution closer to the occurrence of the event, the effect on the solution becomes gradually more important. As the first partial plan begins to remain in effect after the event occurs, the solution is sharply affected. If the assessment of network conditions is extremely late, the event is not known until well after it occurs and the second plan doesn't begin execution until a great deal of demand has failed to be supplied on time. In this case the objective continues to increase steadily with the number of periods between the shift and the Sharp Demand Increase at Time 30 S10000000 >C 8000000 0 6000000 S2000000 O NO 00 20 25 30 35 Time Period dividing Plan 1 and Plan 2 Figure 10: Forecasting of Sharp Demand Increase (Lower overall solution value is better) 47 40 beginning of the second partial plan. Once the new partial plan finally takes effect, it sends as much supply as possible to make up for the late demand as quickly as it can. The greater cost of faster transportation therefore also increases the overall solution value. 5.3 Transportation Delays The transportation network for the munitions logistics planning problem is made up of truck and rail links from each depot to each port. The specifics of highway routes and train stations are not important to this analysis, but the events that can transpire while vehicles are in transit are very important. Trucks can get a flat tire or break down, and take a day or more to repair. Train schedules can sometimes experience several days' worth of delays. This analysis seeks to determine the effects of varying the incidence of stochastic transportation delay events on long planning horizons solved using the partial planning approach. 5.3.1 TransportationDelay Scenario Description In the scenario analyzed here, a long time horizon of deterministic demand is decomposed into periodic partial plans similar to those in Section 5.1. The first partial plan is then solved, generating a transportation schedule. Before the next partial plan is executed, that schedule is modified stochastically to reflect delayed truck and train arrivals. Specifically, the decision variables that determine when trucks or trains leave the depots (variable X from Section 4.7) are altered such that certain vehicles leave later 48 than originally scheduled. The delays range from 1 to 10 periods, and are determined probabilistically for every shipment that traverses the network. Trains are given a slightly higher rate of delay incidence than trucks. The effects of these schedule changes are identical to what would happen if, during real overall plan execution, a vehicle were delayed on the road or track. Once these changes have been made, the transportation schedule decision variables are fixed. The next partial plan must compensate for the fixed late arrivals by assigning flow on the model's late arcs. Late flow is then penalized by the objective function. Two partial planning approach variants are applied to the scenario described above in this analysis, each with a different partial plan length. Each partial planning series is run with a different level of stochastic activity (i.e. with different percentage chance of event incidence). A few events over the course of a series should have 20 Period Periodic Partial Planning 9000000 8500000 * 8000000 > 7500000 7000000 6500000 U) 6000000 5500000 > 5000000 - 4500000 -. - - .-- 4000000 0 5 10 15 % Delays in Transportation Network Figure 11: Transportation delay effects on a 20-period rolling horizon (Lower overall solution value is better) 49 relatively minor impact on the overall objective value. As the percentage of late arrivals increases, the efficiency of the plan should decrease rapidly. By comparing different horizon lengths with various levels of transportation delay, we should gain some understanding of the relationship between the partial planning methodology and the realworld risk of short-term network link delay. 5.3.2 TransportationDelay Results Figures 11 and 12 depict the results of this scenario analysis on 20- and 50-period partial planning approaches. Both show the increasingly negative effect of delays on plan efficiency. Once a plan partial is set in motion, its schedule must be followed. Unexpected delays cannot be compensated for until the next plan, when supplemental supply can be sent to cover long delays and incoming shipments can be redistributed to 50 Period Periodic Partial Planning 8000000 0 7000000 6000000 0C 5000000 2 4000000 ) 3000000 L 2000000 0 1000000 0 0 5 10 15 20 25 %Delays in Transportation Network Figure 12: Transportation delay effects on a 50-period rolling horizon (Lower Overall Solution Value is better) 50 amortize the cost of extremely late deliveries. At low levels of stochastic transportation activity, the longer 50-period partial plans are significantly better than the shorter 20 period plans. This can be explained by the benefits of having more information in each partial plan and a longer span of time over which to optimize. As the results in Section 5.1.2 indicate, longer plans can achieve greater solution efficiency for deterministic demand. Increased levels of stochastic delay take a greater toll on the overall solution efficiency of longer partial plans, but the effect is not sufficient to entirely cancel out the benefits of longer-term planning. 5.4 On-Demand Replanning and Integration Sections 5.1 and 5.3 focused on variants of the partial planning approach that allow only periodic replanning. We now turn our attention to on-demand replanning. Ondemand replanning would be extremely useful in scenarios where significant stochastic network events could occur. A train wreck that destroys a shipment of ammunition and renders the track useless is a good example of a significant stochastic network event. During a real plan execution, such an event would prompt an immediate replan of part or the entire network to adjust for the loss. In the case of the train wreck, the lost shipment would have to be re-sent and all flow rerouted to avoid the disabled rail link. The drawback to on-demand replanning is that newly generated partial plans must be integrated with the currently executing partial plan (see Section 2.4). 51 Significant stochastic events can be modeled in much the same way as minor events were in Section 5.3: by modifying existing schedules between replans. simulate lost munitions, transportation decision variables To are set to zero and corresponding demands are left unsatisfied. The effects of network link failures can be pushed forward through time by eliminating all scheduled flow on certain depot-port connections. Once these changes are in place, the new partial plan would then take as fixed the modified schedule (because by the time the new partial plan takes effect, the fixed time periods will be in the actual past) and produce a new solution to the problem. The new solution both recovers from the event (by making up lost shipments) and plans delivery for the span of the new partial plan. 5.4.1 On-demand Replanning Scenario Description The analysis in this section plots the quantitative impact of certain network events against the required replan delay time as discussed in the third objective (Section 2.4) of this thesis. Replan delay time is the time that passes between when a replan is generated and when it begins execution. If a new partial plan is generated when a significant event occurs, and it can take effect in the next time period, the impact should be minimal. All that would be required is to reroute flow around failed links and reship lost cargo. The longer the old partial plan remains in effect after the event occurs, the greater the negative effect of the event on the efficiency of the overall solution. The new partial plan will have to trade off higher costs to recover as quickly as possible from the past event. 52 The scenario analysis in this section is similar to that of Section 5.2, with a 60period horizon broken into two plans and a network event occurring at period 30. The first plan is always unaware of the event, and the second always has perfect knowledge of it. The difference here lies in the types of events and their effects on the network. Demand is now deterministic for each scenario. Although each event does not occur until period 30, the set of series within each scenario begins with the first partial plan ending at period 25. The overall solution values for series in which the first partial plan ends before the event occurs are intended to indicate the effect of the event if it were to be predicted and planned for before it happened. 5.4.2 TransportationLink Loss Event Results Figure 13 compares the solutions for several realistic scenarios, including both the partial and total loss of truck or rail links for a fixed amount of time. Events such as train wrecks, rail line closings, major highway construction, and maintenance at depot or port facilities could trigger these network effects. In all cases, integrating a new partial plan within four periods after the event occurs can minimize the effects of link loss. The few periods of lost delivery can be made up with excess link capacity elsewhere in the network in the first few periods of the new plan. If the new plan takes longer to implement, there will be more demand to deliver than the new plan can easily handle. As the sum of past lost demand (due to the event) and current demand requirements exceeds total per-period link capacity, the network becomes saturated and the cost of substantially late deliveries dominates the objective function. As the figure shows, the loss of rail 53 Replanning after a Significant Event at time 30 900000 800000 8 700000 > 600000 00 500000 400000 300000 o 200000 100000 0 25 27 29 31 33 35 37 39 Replan Crossover Period -+- No trucks to Concord (15) --- -A- Total Rail Loss (10) No rail to Port Mots u (15) -a- Total Truck Loss (10) Figure 13: Significant Event Replanning. Crossover Period is the time period when the replan takes effect. Concord one of two ports on the West Coast. Motsu is the only port on the East Coast. The number in parenthesis is the duration of the event. transport has a significantly greater effect on the overall solution than the loss of truck transport. 5.4.3 Depot and PortLoss Event Results Events such as inclement weather conditions at depot loading or port unloading facilities, exhausted supply, or major facility maintenance would manifest themselves as the loss of a depot or port for some length of time during plan execution. In the case of a lost depot, no supply can be sent from that depot for the duration of the outage. In the case of a port, no shipments can be made to that port from any depot. In addition, the 54 demand at that port is shifted to another port. This would be analogous to rerouting inbound ships that had been destined for the closed port. The effects of this type of event are shown in Figure 14. The loss of a single depot is covered by increased output at the other depots. The effect on overall objective value is not particularly significant unless the replan occurs far past the incidence of the event. Each depot shares the supply burden reasonably equally, so when they are all operating none is at maximum supply capacity. When one depot stops supplying ammunition, the rest are able to pick up the extra burden reasonably efficiently. As the Replanning after a Significant Event at time 30 2500000 - 2000000 0 1500000 1000000 C$1 100000 5 0 25 27 29 31 33 35 37 39 Replan Crossover Period -*-1 Less Depot -a-1 Less Port Figure 14: Significant Event Replanning Crossover Period is the time period when the replan takes effect. The loss of a depot lasts from time 30 to the end of the scenario (at time 60). The loss of a port lasts for 20 periods. 55 burden increases (with later replanning), the other depots incur the greater cost of quicker transportation via trucks in order to avoid the still greater cost of significant late delivery. The loss of a port has an immediate and serious impact on the network. In this scenario, one of the West Coast ports, Hadlock, was removed from the network for 20 periods. During that time, the other port on the same coast (Concord) assumed the schedule of ships intended for Hadlock. All truck and rail shipments destined for Hadlock in the original plan were treated as lost. In a real scenario those shipments would be recovered and rerouted to a new destination, but here we assume that no intransit rerouting is possible within the time frame of the planning horizon. Since the original partial plan met but did not exceed Concord's usual demand schedule, the effect on the objective function of increased demand at Concord is immediate. Even before the event occurs, the second partial plan increases rapid delivery to Concord in anticipation of the excess demand. The value of forecasting (as discussed in Section 5.2) is also apparent in this analysis, as prior knowledge of Hadlock's closing seems to be the only way to maintain a relatively efficient solution. 5.5 Execution Simulation The final scenario analysis of this thesis seeks to combine the individual elements explored thus far into a more realistic picture of long-term real-time planning and execution for the munitions logistics planning problem. 56 5.5.1 Execution Simulation Scenario Description For the following scenario, variants of the partial planning approach with ondemand replanning are applied to a long planning horizon. During the course of plan execution, stochastic events such as single-shipment transportation delays, network link losses, and short-term demand increases can occur. We can gain insight into the most effective variant of the approach by solving several partial planning series with different partial plan lengths and replanning delays, and plotting their overall objective values for the entire planning horizon. The probability of stochastic event incidence is relatively low (around 5% per event) and remains constant across each series. The series solved in this analysis are actually run as simulated planning and execution of partial plans over a 400 period planning horizon. At the beginning, a partial plan is solved for a deterministic demand function. At each period during the execution several events can occur with various small probabilities. These events are single rail link outages (for 10 periods), demand increases (for 20 periods), and the loss of a port (for 30 periods). Each of these major network events is temporary, and triggers an immediate replan. The time between the event and the institution of the new partial plan varies from series to series. If no event occurs before the currently executing partial plan reaches the end of its span, a new partial plan is solved and begins executing immediately. Individual transportation delays (as in Section 5.3) occur at random throughout the entirety of the scenario's execution, but do not prompt replans. At the start of each new partial plan, the transportation schedule for all prior time periods is fixed. The new plan must account for any missed demand that may have occurred in the 57 past, as well as any other events that occurred during the execution of the previous partial plan. 5.5.2 Simulated Execution Results Figure 15 plots simulated series solutions for three different partial plan lengths and three different replan delay times. Longer partial plans are more cost-effective than shorter ones, even in the presence of stochastic network events, because with on-demand replanning they are no longer severely penalized by the effects of major events early in a On-Demand Replanning Scenario Analysis 10000000 - 9000000 8000000 W _ 7000000 6000000 0 . 5000000 0 CD 4000000 0> 3000000 2000000 1000000 0 I 0 1 2 3 4 5 6 7 8 Replan delay time -+- 30-period -m- 50-period -&- 80-period Figure 15: Simulated Overall Plan Execution with On-demand Replanning Each of the three data series in this figure represents the planning and execution of the same scenario using different partial plan lengths, as indicated by the label for each data series. 58 partial plan's execution. These results agree with the results from Section 5.3. With ondemand replanning to minimize the effects of other network events, transportation delays are a major factor in the overall solution value. Each partial plan, even if preempted before finishing execution by a network event, still schedules transportation for maximum cost efficiency over its entire partial plan length. Thus the periods between the start of each partial plan and the event that ends it are served more efficiently by longer partial plans. Additionally, the incidence of major network events is sufficiently small enough that more of the shorter partial plans will finish execution and require periodic replanning than 50- or 80-period plans. The same inefficiencies discussed in Section 5.1 also affect the shorter partial plan's periodic replans in this scenario. Replan delay time has considerable negative effect on the overall solutions, especially for shorter partial plans. This effect is similar to the one studied in Section 5.4. With little or no delay between event occurrence and replanning, all scenarios retain a similar objective value. The solutions are only differentiated by the effects of partial plan length and transportation delay. As replan delay time increases, its effect becomes significantly more pronounced in the shortest partial plan approach. Already less efficient partial plans are left in place longer, compounding the negative effects. The longer partial plan approaches are similarly affected by longer replan delay times, but with more efficient flow within each partial plan, the effect is not nearly as pronounced. 59 6. Summary and Conclusions The purpose of this thesis is to explore an approach to solving real-time stochastic network flow problems. The important characteristics of these problems that must be considered are stochastic network parameters and events, unbounded planning horizons, and the need for smooth plan continuity. For the purposes of quantitative analysis, we use the military munitions logistics planning and execution problem as a case study. The approach taken is to break the planning horizon into readily solvable finite sections, solve those sections using deterministic linear programming methods to produce partial plans, and reassemble the partial plans into a continuous solution suitable for execution. The analyses contained in this thesis focus on how the variants of this approach behave under plausible real-world problem scenarios. In this chapter we present a summary of the research accomplished in this thesis, and draw some conclusions from the research about how best to apply this approach to other stochastic real-time network flow problems. 6.1 Research Summary Chapter 1 provided the background necessary to understand flow-based networks and minimum-cost network flow problems. We defined some important terms regarding the different characteristics of common network flow problems, and gave examples of several problems embodying these characteristics. We also introduced linear programming and mixed integer programming as techniques for solving network flow 60 problems with fixed changes or certain side constraints. The discussion then progressed towards a definition of stochastic real-time network flow problems. It is this type of problem we are interested in analyzing, so we chose one - the munitions logistics planning problem - to which to apply our approach and perform scenario analyses. The primary objectives of the thesis were given in Chapter 2. The first was the discovery of cost-effective decompositions of an unbounded planning horizon into manageable partial plans under various network conditions. The second involved qualitatively analyzing the value of forecasting and information assessment in a real-time flow-based network. The final objective was to measure the impact of replan delay time on overall solution quality. Taken together, the goal of these three objectives was to suggest a strategy for applying variants of the partial planning approach to the problem of planning and executing solutions to real-time network flow problems. Chapter 3 first defined the specific terms used for scenario analysis, and then delved into the details of solving linear programs using a commercial software package. The mechanical process of scenario analysis was also explained. Then the notion of flow pipelining was covered. Flow pipelining is a method for minimizing cost at the boundaries between two consecutive partial plans. The following chapter then explained in detail the structure of the munitions logistics planning problem. The mechanisms of munitions containerization and ground transportation were described and illustrated. 61 Chapter 4 also included a formalized description of the entire problem, formulated as a mixed integer programming problem, and provided a simplified time-space diagram of the flow network. With the problem explained and formally presented, the next step was to carry out scenario analyses. Each analysis, presented with results in Chapter 5, provided insight into which variant of the partial planning approach produces the most efficient solution to the scenario being analyzed. Individual variants included the length of each partial plan, the frequency with which new partial plans are generated, and the length of time needed to integrate two consecutive partial plans. Stochastic demand, transportation delays, and the loss of network edges, sources, and sinks were all included in the analyses. The final analysis combined these and other elements into a single overall plan execution simulation, and measured the influence of different approach variants on the overall solution cost. 6.2 Conclusions A significant amount of scenario analysis has been performed to test the various aspects of our partial planning approach. We now review these results, relate them to the objectives stated in Chapter 2, and present several conclusions that can be drawn from them. The first objective was to relate the length of partial plans on a periodic replanning schedule to overall solution efficiency under both deterministic and stochastic 62 network conditions. From the results shown in Figure 7, we can infer that longer partial plans are monotonically better than shorter ones when demand is deterministic and known at plan time, and no stochastic network events are present. This result is no particular surprise; with perfect information, linear programs are guaranteed to produce at least as good, if not better, results when more of the problem is solved at once. More interesting conclusions can be derived from the stochastic scenario analysis. Longer plans on a periodic replanning schedule actually perform much worse than shorter ones when faced with unpredictable demand. The reason is that demand not expected or planned for is likely to remain unsatisfied for a longer period of time. Late arrivals are severely penalized, so short partial plans that minimize loss will perform better in execution than long partial plans that achieve greater deterministic efficiency but cannot adequately deal with stochastic events. The relationship, however, is not quite so simple. Very short plans also suffer from the inability to plan efficiently over a reasonable amount of time. A very short partial plan that must deal with missed past demand as well as demand in its own span is forced to utilize the fastest possible means of transport over its entire span, and has no chance to use slower but cheaper means of transport before its span ends. When planning for stochastic network demand, the best choice of plan length falls between the two extremes. For our case study problem, that choice is approximately 40 periods per partial plan. We turn next to the question of information forecasting. The analyses in Section 5.2 reveal that significant demand increases can have a serious negative effect on solution 63 quality if not predicted before they occur, or if the situation is not assessed and replanned immediately after they occur. We can therefore conclude qualitatively that even one or two period's advance notice is worth a great deal in terms of solution cost. Otherwise the demand increase remains completely unsatisfied until the network's condition is assessed, the event's effects are discovered, and a new partial plan is executed. This conclusion is supported by the stochastic scenario results from Section 5.1, in which unsatisfied demand dominated the cost of the overall solution. The third and final objective of this thesis was to study the impact of replan delay time on solution quality. Recall that new partial plans generated in response to significant network events are delayed by a certain small number of periods before being executed, in order to approximate the blending of the old and new partial plans into a more continuous solution. From the results presented in Figure 13, we see that transportation network events are easily handled even when new plans are delayed up to four periods after the events occur. The loss of a single depot-port network link, even for a relatively long period of time, has a relatively minor effect on the solution. We can deduce that this result stems from the fact that, to reduce costs, the model utilizes mostly rail traffic spread across all five depots. The loss of one only of those links does not seriously diminish efficient flow through the network. The loss of some or the entire truck transportation network has almost negligible effect when compared to similar rail loss. 64 More interesting conclusions about the effects of plan continuity requirements can be taken from the partial plan execution simulations in Section 5.5. With the inclusion of several stochastic network events, including changes in demand, transportation delays, and network link loss, longer replan delays have an increased negative effect over the single event scenarios from Section 5.4. We can deduce from figure 15 that as replan delay time increases, it has greater effect on shorter partial plans than longer ones. In fact, the difference between 30-period partial plan solutions and 50-period partial plan solutions is much greater than the difference between 50 and 80 period partial plan solutions. Changes in the network that are not handled as quickly as possible, especially when using shorter partial plans, degrade solution quality considerably. We can therefore conclude that during real-time execution of partial planning solutions under stochastic network conditions, implementations of plan continuity mechanisms that require more than one or two periods to achieve are a significant detriment to overall solution efficiency. The final conclusions to be drawn from the research presented in this thesis are the recommended variants of the partial planning approach to use for various types of dynamic network flow problems. As we have learned from the analyses in Chapter 5 and the conclusions drawn from them, the efficiency of an overall solution (given particular values for partial plan length and partial plan integration time) is greatly affected by network conditions. The proper choices for partial plan length and integration time must be tailored to the network conditions of the problem being solved. Exact values for optimal choices can be determined only by performing scenario analyses similar to those 65 found in Chapter 5 on the specific problem, but we can infer approximate values that should result in relatively efficient solutions. The inferred partial planning approaches for various types of dynamic network flow problems are summarized in Figure 16. Network Conditions Demand Profile Replan Schedule Network delay and loss Partial Planning Approach Variant Yes 5 Mid-length partial plans No p and short replan delay Periodic Very long partial plans and any necessary delay Deterministic Yes Mid-length partial plans and short replan delay On Deman No Yes Short partial plans and shortest possible delay No Mid-length partial plans and short replan delay Yes Mid-length partial plans and short replan delay No Long partial plans and reasonably short delay Periodic Stochastic On Demand Figure 16: Approaches for Planning Dynamic Network Flow Problems Sorted by network conditions. Mid-length plans are approximately 50 periods (six weeks) long. Shorter and longer partial plans are relative to this value. 66 7. Future Work There are three areas of future work that would further the research completed in this thesis. These areas are: development of better partial plan integration models, exploration of plan correction methods, and application of the partial planning approach to other specific stochastic real-time network flow problems. Each of these topics is covered in more detail in the following sections. 7.1 Partial Plan Integration Techniques The analyses performed in this thesis used delayed execution of new partial plans generated on demand as a rough approximation of realistic partial plan integration. The process by which an old partial plan ends and a new one begins can be quite sophisticated for large networks. Several possible methods include beginning execution of different parts of the new partial plan at different times, or executing individual aspects of each (old and new) partial plan concurrently for a short time. Specific details, like the duration of the partial plan transition period or the degree of acceptable solution discontinuity, depend on the problem under consideration. The case study analysis in this thesis could benefit from the implementation of a plan integration strategy that allowed each depot to alter its transportation schedule independently of the others. Then localized network events, like single depot-port link loss, could be handled immediately by replanning the 67 individual depot's schedule instead of the entire network schedule. To maintain a globally optimal solution, the rest of the depots could replan a short time later. Implementing more accurate partial plan integration techniques is important for bringing planned flow execution closer to actual network operating conditions. Localized replanning is common in real-world settings, particularly for dealing immediately with time-critical network events like airline flight delays. Better models for such situations should lead to more efficient and easily executable partial plans. 7.2 Plan Correction Methods The results of the partial plan length analysis (Section 5.1) showed that longer partial plans produce better overall solutions than shorter partial plans in deterministic network scenarios. The long partial plans were able to optimize over a greater portion of the overall problem horizon. But when the network included stochastic events, as is often the case with real-time systems, the longer partial plans (on a periodic replanning schedule) suffered from the inability to compensate for such events during execution. Plan Correction refers to a partial plan's capacity to adapt to certain changes in network parameters during execution and without replanning. Appropriate changes for this type of correction include individual shipment loss and short-term single network link outages. With a mechanism in place to correct for these occurrences without replanning, a realtime system operating in stochastic event scenarios could benefit from the reduced flow 68 cost of longer partial plans while maintaining a solution comparable to those attained by shorter partial plans under the same conditions. Any physical mechanism for correcting partial plans would probably have to be implemented at the points of plan execution (i.e. the depots themselves) rather than in the model used for planning. If such physical mechanisms could be implemented reliably (like shipment tracking and automatic reshipment when loss occurs), then the corrective effects of such a system could be modeled and used for planning. In Section 5.3 we discussed a method for applying stochastic transportation delays to the planning system by altering prior partial plan solutions. The same method can be used to account for the corrections to these delays and other events. The result would be a planning system that more closely matches real-world network behavior. As stated in the previous section, more accurate planning models generally lead to better plans and solutions. 7.3 Application to Other Problems The intent of the research presented in this thesis was to develop an approach to solving stochastic real-time network flow problems. We have analyzed this approach extensively against a single real-time system, munitions logistics planning and execution. In order to determine the relevancy of the conclusions drawn in section 6.2 to other network flow problems, they need to be tested in similar analyses of those problems. Additional support for our conclusions (beyond the analyses in Chapter 5) can be obtained by formulating and analyzing other stochastic real-time systems in a framework 69 similar to the one used here. This task might be made easier by the development of a standardized analysis platform for the partial planning approach which, when given a problem formulation and some problem-specific information, could solve a suite of scenario analyses automatically and display relevant results. 70 Appendix Sample AMPL Model File # -----------------#list of named sets # -----------------set Ns; #the set of s et Nd; #the set of set V; #the set of set B; #the set of depots ports conveyances container types param first >= 0 integer; param last > first integer; set time := first..last; #the set of time periods # -------- -----------------#list of network parameters #---------- --------------param param param param param param param param param param param s (B, Ns); d (B, Nd, time); c (B, Ns, Nd, V); T (Ns, Nd, V); mu (Nd, V); n {B); eta (Nd); f (Nd, V}; lam (Ns); etai (Ns); g; # -------------------------#list of decision variables # -------------------------var var var var var var X Q Y P R W (b in B, i in Ns, j in Nd, k in V, t in time) >= 0 integer; (B, Nd, V, time) >= 0 integer; (B, Nd, V, time) >= 0 integer; (B, Nd, time) >= 0 integer; (B, Ns, time) >= 0 integer; (B, Ns, time) >= 0 integer; # ---------------------#the objective function # ---------------------minimize cost: sum {t in time) ((sum (b in B, i in Ns, j in Nd, k in V) c[b,i,j,k] X[b,i,j,k,t]) + (sum {j in Nd, k in V) (f[j,kJ + sum (b in B) Q[b,j,k,t])) + g * sum (b in B) n[b] * (sum (i in Ns) R[b,i,t] + sum {j in Nd) (sum (k in V) Q[b,j,k,t] + P[b,j,t]))); -- - - - - - # ----------#list of constraint equations # -------------------- ---subject to supply (i in Ns, b in B): sum ft in time) W[b,i,t] <= s[b,i]; 71 * subject to balflow fi in W[b, i, t-1] + R[b,i,t-1] Ns, - subject to balance fj in Nd, (sum fi in Ns) (if t-T[i,j,k] Q[b,j,k,t] - Y[b,j,k,t = 0; b in B, R[b,i,t] t in first+l..last): - sum {j in Nd, k in V} X[b,i,j,k,t] b in B, k in V, t in first+1. >= 0 then X[b,i,j,k,t-T[i,j,k]))) subject to flowbal fj in Nd, b in B, (sum [k in V) Y[b,j,k,t-1)) + P[b,j,t-l] t in - first+1..last): P[b,j,t] subject to coni (i in Ns, t in time): sum {b in B) W[b,i,t] <= lam[i]; subject to portthru {j in Nd, k in V, sum Lb in B) Y[b,j,k,t] <= mu[j,k]; t in subject to con2 {i in Ns, t in time): sum (b in B) n[b] * R[b,i,t] <= etai[i]; subject to new {j in Nd, t in time): sum (b in B) n[b] * P[b,j,t] <= eta[j]; 72 time): = 0; .last): = d[b,j,t]; + Q[b,j,k,t-1] - Sample AMPL Data File #Members of named sets # --------------------set Ns anad bgad taad caaa mcad; set Nd motsu concord hadlock; set B ci c2 c3; set V truck rail; #name #name #name #name # -------------------------------#Values of all defined parameters #and coefficients # -------------------------------param first : 0; param last 5; param s (tr): cl anad 10000 10000 bgad 10000 10000 taad 10000 10000 caaa 10000 10000 mcad 10000 10000 c2 c3 10000 10000 10000 10000 10000; param d := [*,*,0] (tr): ci motsu 0 concord 0 hadlock 0 c2 0 0 0 c3 0 0 0 (tr): ci c2 c3 0 0 0 concord 0 0 0 hadlock 0 0 0 [*, *1] motsu [*, *,21 (tr): ci c2 c3 motsu 0 0 0 concord 0 0 0 hadlock 0 0 0 [*, *,3] (tr): ci c2 motsu 58 56 concord 0 0 hadlock 34 38 c3 51 0 54 [*, *,4] (tr): motsu concord hadlock ci 0 23 0 c2 0 42 0 c3 0 49 0 (tr): ci 22 concord 0 hadlock 0 c2 26 0 0 c3 30 0 0; [*, *,5] motsu param c := [*,*,motsu, truck]: ci c2 c3 anad 3 3 3 [*,*motsurail]: anad ci 2 c2 2 c3 2 bgad 2 2 2 caaa 2 2 2 mcad 3 3 3 taad 3 3 3 bgad 1 1 1 caaa 1 1 1 mcad 2 2 2 taad 2 2 2 73 of of of of each each each each depot port container type conveyance [*,*,concord,truck]: caaa 2 2 2 mcad 3 3 3 taad caaa 1 1 1 mcad 2 2 2 taad := 2 2 2 *,hadlock, truck]: anad bgad caaa ci 3 2 2 c2 3 2 2 c3 3 2 2 mcad 3 3 3 taad 3 3 3 *,hadlock, anad ci 2 2 c2 c3 2 mcad 2 2 2 2 2 2; ci c2 c3 anad 3 3 3 bgad 2 2 2 := 3 3 3 f*,*,concord,rail]: ci c2 c3 anad 2 2 2 bgad 1 1 1 [*, [*, rail]: bgad 1 1 1 caaa 1 1 1 param T : [*, *, truck]: motsu anad 1 2 bgad taad 1 2 caaa 1 mcad concord hadlock 2 1 2 1 2 1 2 1 1 2 *,rail]: motsu 3 anad bgad 4 4 taad caaa 4 mcad 3 concord hadlock 4 4 3 4 3 4 4 3 4 4; taad [*, param mu: truck motsu 500 concord 500 hadlock 500 rail 700 700 700; param n := ci 100 c2 200 c3 50 c4 300 c5 100 c6 75 c7 125 c8 175 c9 200 c1O 400 c1l 100 c12 250 c13 100 c14 175 c15 200 c16 100 c17 75 c18 210 c19 50 c20 125; param K := motsu 1000 concord 1000 hadlock 1000; param eta := motsu 30000 concord 30000 hadlock 30000; param f: motsu concord hadlock truck rail 4 2 4 2 4 2; param lam := anad 600 bgad 600 taad 600 caaa 600 mcad 600; param etai := anad 30000 bgad 30000 taad 30000 caaa 30000 mcad 30000; param Ki := anad 600 bgad 600 taad 600 caaa 600 mcad 600; param g : 10; 74 References 1. Ahuja, Ravindra K., Thomas L. Magnanti and James B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, Upper Saddle River, New Jersey, 1993. 2. Algorithms and Theory of Computation Handbook, Mikhail J. Atallah, ed., CRC Press LLC, 1999. 3. Bartak, R., "Introduction," Guide to ConstraintProgramming[online], URL: http://kti.ms.mff.cuni.cz/-bartak/constraints/intro.htmnl [cited 27 May 1998]. 4. Coop, Andrew E. "Contingency Munitions Logistics Planning and Control: A Framework for Analysis" CSDL-T-1308, SM Thesis in Operations Research, Massachusetts Institute of Technology. C.S. Draper Laboratory, Cambridge, MA, June 1998. 5. Cormen, Thomas H., Charles E. Leiserson and Ronald L. Rivest. Introduction to Algorithms. The Massachusetts Institute of Technology, Cambridge, MA, 1990. 6. "Dictionary of Algorithms, Data Structures, and Problems," NationalInstitute of Science and Technology [online], URL: http://hissa.ncsl.nist.gov/dads/HTML/heuristic.html [cited 4 Sept. 1998]. 7. "Linear Programming Frequently Asked Questions" Northwestern University and Argonne National Laboratory [online], URL: http:/wwwunix.mcs.anl.gov/otc/Guide/faq/linear-programning-faq.html [cited 1 April 2000]. 8. "National Transportation Statistics," Bureau of Transportation Statistics [online], URL: http://www.bts.gov/ntda/nts/nts.html [cited 1999]. 9. Nemhauser, G. L. and L. A. Wolsey. Integer and CombinatorialOptimization. Wiley Interscience, 1988 75