User Generated


Business Finance


Discussion: Real World Application of Mathematical Programming

(1) Read this short example: see attached -1 on how organizations are using mathematical programming techniques to be more efficient and save millions of dollars. (From the textbook, An Introduction to Management Science: Quantitative Approaches to Decision Sciences - Chapter 7, Management Science in Action)

If you are interested in more information about this example, follow this link to the .see attached -1 Skim the article and take note of the types of variables and constraints (not the specific math but the concepts). Notice what types of constraints were needed to ensure a feasible solution.

(2) "Real World" Applications of mathematical programming. Search Google Links to an external site.and find other “real world” applications where the use of mathematical programming (using Linear / Integer / Mixed / Non-Linear Programming) helped an organization optimize its processes. Besides Google, there are several examples in the textbook chapter which can be used to begin your search. Please provide a link to the article, a synopsis of the how the company used these tools and what the result of the implementation. I am NOT looking for mathematical detail but rather a summary of the process.

Post and summarize a unique article and then respond to at least two posts from other students. You will not be able to view other student postings until you post your article, link, and synopsis.

please follow Discussion Rubric - see attached Discussion Rubric

Your initial post is due on or before Monday at 11:59. Your required responses to peers' posts must be posted prior to Tuesdayat 11:59pm.

Unformatted Attachment Preview

informs Vol. 40, No. 5, September–October 2010, pp. 408–416 issn 0092-2102  eissn 1526-551X  10  4005  0408 ® doi 10.1287/inte.1100.0517 © 2010 INFORMS Optimizing Helicopter Transport of Oil Rig Crews at Petrobras Fernanda Menezes, Oscar Porto, Marcelo L. Reis Gapso Tecnologia da Decisão, Rio de Janeiro-RJ, 22290-160, Brazil {fmenezes@gapso.com.br, oscar@gapso.com.br, marcelo@gapso.com.br} Lorenza Moreno, Marcus Poggi de Aragão Departamento de Informática, Pontificia Universidade Católica, Rio de Janeiro-RJ, 22451-900, Brazil {lorenza@inf.puc-rio.br, poggi@inf.puc-rio.br} Eduardo Uchoa Departamento de Engenharia de Produção, Universidade Federal Fluminense, Niteroi-RJ, 24210-240, Brazil, uchoa@producao.uff.br Hernán Abeledo Department of Engineering Management and Systems Engineering, George Washington University, Washington, DC 20052, abeledo@gwu.edu Nelci Carvalho do Nascimento Serviços/Unidades de Serviços de Transporte e Armazenamento, Exploração e Produção, Petrobras, Macaé, Rio de Janeiro-RJ, 27915-012, Brazil, nelcar.classic@petrobras.com.br Petrobras produces nearly 90 percent of Brazil’s oil at about 80 offshore oil platforms. It transports approximately 1,900 employees daily between these platforms and four mainland bases, using more than 40 helicopters that vary in capacity, operating costs, and performance characteristics. Each day, flight planners must select the helicopter routes and schedules that satisfy passenger demands. We developed a system that requires less than one hour to generate optimized flight plans that meet operational guidelines, improve travel safety, and minimize operating costs. By using this system, Petrobras reduced its number of offshore landings by 18 percent, total flight time by 8 percent, and flight costs by 14 percent, resulting in annual savings of more than $20 million. Our optimization model is a large-scale mixed integer program that generalizes prior helicopter routing models. We designed a column-generation algorithm that exploits the problem structure to overcome its computational difficulties. As part of the solution method, we use a network flow model to optimally assign passengers to selected routes. Key words: helicopter scheduling; integer programming; column generation. P three decades, transforming the company into a world leader in deep-water oil exploration and production. Today, Brazil produces over 2 million barrels of oil per day, roughly 90 percent of it extracted offshore by Petrobras, and it ranks 13th among oil-producing countries. In 2006, the country became self-sufficient in oil and, in 2007, announced the discovery of a new major ultra-deep-water site. Brazil now has the potential to become an important oil exporter thanks to the initiatives and efforts of Petrobras. Petrobras operates about 80 offshore oil-production and exploration platforms in the Campos basin etrobras, the largest corporation in Brazil, is one of the world’s oil giants. It was created in 1953 as a state monopoly with the mission of attaining energy independence for Brazil. In 1998, Petrobras became a mixed capital corporation under the management of the national government. Although its monopoly on oil production and exploration ceased, it remains Brazil’s major oil producer. An important milestone for Petrobras was the 1974 discovery of the Campos basin deposits off the coast of the state of Rio de Janeiro. Petrobras made significant investments in research and technology over the next 408 Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras Interfaces 40(5), pp. 408–416, © 2010 INFORMS Vitória São Tomé Macaé Jacarepaguá 0 100 km 0 60 mi Oil Rig Figure 1: The map shows the location of Petrobras’ oil rigs and airport bases. (see Figure 1); it employs approximately 25,000 workers on these platforms. Each day, it transports approximately 1,900 workers by helicopter between the platforms and four mainland bases, three of them located in the state of Rio de Janeiro (Macaé, São Tomé, and Jacarepaguá) and one in the state of Espírito Santo (Vitória). Most workers complete a two-week shift on a platform followed by three weeks of rest. Based on its passenger volume, Petrobras operates one of the largest nonmilitary helicopter operations in the world. Each airport base has a fleet of helicopters and its own flight planners. Macaé is the largest base, with about 65 daily flights and 33 helicopters; São Tomé is next, with 30 daily flights and 7 helicopters; and Jacarepaguá and Vitória are the smallest bases, with about 15 daily flights and 5 helicopters each. The flight planners program the helicopter flights and passenger assignments one day in advance, based on travel demands and helicopter availability. A travel demand consists of all passenger requests with the same destination and departure time. Passengers choose their departure time and destination from a fixed timetable. This annually generated timetable is designed so that bases can schedule independently 409 of each other without generating potential conflicts between their flight plans. Manually scheduling the flights is a complex task because a limited number of helicopters are available and strict operational rules must be observed. Eight types of helicopter, each with different operational characteristics and passenger capacities, are in use. The helicopters are outsourced from several providers with different contracts that determine their flight costs. Since 1985, Petrobras has repeatedly invested in information technology (IT) to assist the manual planning of helicopter flights. The company also made unsuccessful attempts to implement a decision support system. Galvão and Guimarães (1990) report that their project failed in part because employees felt that their jobs were threatened, although the proposed system was not intended to automatically produce a full schedule; it would require constant manual input. Galvão and Guimarães also contend that the client organization lacked experience in using quantitative methods; in addition, the project duration was too short to overcome organizational distrust in OR techniques. In 2004, Petrobras contracted Gapso (http://www. gapso.com.br), a Rio de Janeiro company that had developed optimization systems for several major Brazilian companies, to implement a helicopterscheduling system. Gapso also included in its project team academic researchers with integer programming expertise. Gapso had two successive contracts with Petrobras. The first, in 2005, was a 50-week contract that resulted in an operational version of the scheduling system. The second, a six-month contract in 2006, focused on adding IT functionality to the system. The flightplanning optimization system, MPROG, was first put into service at São Tomé in 2005, then at Macaé in 2006, and finally at Vitória and Jacarepaguá in 2008. Gapso currently has a five-year contract to provide support and to continue making improvements to the system. Gaining the scheduling staff’s confidence in the MPROG system was crucial for the success of this project. Detailed training courses and instruction manuals were developed by Gapso with input from the Petrobras training division. Analysts from Gapso 410 Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras spent 10 months on-site, assisting the staff with system use and documenting staff feedback. This led to several improvements, including powerful graphical interfaces that allow users to analyze and modify solutions interactively. In the remainder of this paper, we describe the business-decision problem we addressed, the related literature, the optimization algorithm we developed, and the impact and benefits to Petrobras. Helicopter Scheduling at Petrobras A complete schedule must be generated each day, at each airport, detailing the flights of its helicopter fleet. The description of a flight consists of its departure time, its sequence of legs, and the list of passengers to board or disembark at each stop. Most of the scheduling rules address safety aspects such as limiting the number of helicopters that can be in the vicinity of each platform. Some of the operational constraints are unusual in the vehicle-routing literature. For example, the number of flight legs per passenger is bounded; furthermore, the passenger capacity of each helicopter depends on the route length because of the weight of the necessary fuel. Weather conditions also affect helicopter capacities because additional reserve fuel is required when visibility is low. A flight schedule must satisfy these constraints: 1. Each flight starts and finishes at the same mainland base. 2. A helicopter flies at most five times per day. 3. A helicopter must be inspected before each flight; therefore, it requires inspection time. 4. The number of platform landings for each flight is bounded. 5. The number of flight legs for each individual passenger is bounded. 6. For each departure time, the number of helicopters visiting the same platform is bounded. 7. Helicopters must stop for their pilots to eat lunch. 8. Helicopter capacity cannot be exceeded. 9. The route length determines the number of passengers a helicopter can carry. The scheduling of helicopter flights has several objectives. The main goal is to serve all travel requests to avoid compromising oil-production and exploration activities. Next, the schedule should strive to Interfaces 40(5), pp. 408–416, © 2010 INFORMS improve safety beyond the operational requirements by reducing the total number of offshore landings. Finally, minimizing the helicopter-operating costs is important; in turn, this decreases the total flight time, which is another safety goal. The objective function in our optimization model uses weights to balance these multiple goals. We note that the safety and cost objectives are not actually in conflict because more landings imply increased flight time and additional operating costs. We model the helicopter-scheduling problem as a mixed integer program (MIP). The formulation can be found in the appendix, as well as definitions of the variables we discuss within this paper. The model has billions of variables corresponding to all possible flights of each helicopter. The binary variable xhf corresponds to flight f of helicopter h. As mentioned above, a flight f encompasses the departure time, the route flown, and the passengers that board and disembark at each stop. Safety issues and other operational constraints are taken into account when generating the xhf variables so that they represent allowable flights. The remaining variables, sd and zhj , control passenger demands and pilot lunch breaks, respectively. The objective function (0) seeks to minimize the number of landings and flight costs while also penalizing the unfulfilled travel demands. Constraints (1) control the satisfaction of travel demands. Constraints (2) ensure that at most mL flights with departure time t will land on platform p. Constraints (3) state that each helicopter h can have at most one flight or one lunch break at each time instant i. Constraints (4) ensure that the pilot of each helicopter has a lunch break. The number of flights and number of flight hours per helicopter are limited by constraints (5) and (6), respectively. In addition to its large-scale size, our optimization problem is computationally NP-hard because it can easily be shown to be a generalization of the split-delivery vehicle-routing problem (SDVRP), which was proven to be NP-hard by Archetti et al. (2005). In contrast, the SDVRP has a homogeneous fleet, a single departure time, and, most important, involves deliveries only. Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras 411 Interfaces 40(5), pp. 408–416, © 2010 INFORMS Related Work Helicopter-routing problems often comprise pickups and deliveries of passengers. This characteristic brings a set-packing aspect that is difficult to capture in a routing problem. At Petrobras, the problem is further complicated by its time-scheduling features; passenger requests are for specific departure times, and pilot lunch breaks must be determined. Galvão and Guimarães (1990) also worked on this problem at Petrobras. They proposed an algorithm using different strategies to build routes for fixed departure times. However, they did not intend the system to be fully automated because users had to choose the fleet used at each departure time. Other helicopter-scheduling models in the literature are less general than the one we consider in this paper. For example, Fiala Timlin and Pulleyblank (1992) designed heuristic algorithms to solve a problem faced by Mobil. They were not concerned with time factors such as honoring passenger requests, reusing helicopters during the day, or scheduling pilot breaks. Tjissen (2000) used the SDVRP to model helicopter routing at a Dutch company where helicopter capacity was constant; for each passenger a helicopter transported to an offshore platform, it picked up another to go back to the continent. Good solutions were found using rounding procedures to linear programming (LP) solutions. Hernadvolgyi (2004) considered the case in which all demands must be satisfied by only one helicopter. Solution Methodology The huge size of the Petrobras MIP problem, with its billions of variables, makes it intractable to solve directly with a commercial optimization solver. Furthermore, the output must be available to the flight planners within one hour of run time to be operationally useful. We had to take advantage of the problem structure to obtain good solutions within an acceptable time. Our optimization method, which Moreno et al. (2006) also described, is based on an effective column-generation procedure that we designed. This procedure relies on a network flow formulation to optimally assign passengers to previously selected routes; it also employs heuristics. Column Generation and Its Difficulties The number of possible valid flights in our model is huge. Moreover, foreseeing which decision variables are used in good solutions is hard. These difficulties exist because, in addition to the scheduling and routing of helicopters, passengers must be assigned to flights. This gives some insight into the intricacy of designing algorithms that implicitly consider all possible flights. A column-generation procedure for our MIP model presents the following challenge. When the dual variables associated with constraints (1) are positive, they give the same weight to all passengers with the same travel demand. This implies that, in any optimal solution of the column-generation subproblem, the route of a helicopter will achieve the smallest reduced cost by choosing the demands in decreasing order of their dual variables, picking always the maximum possible number of passengers for each demand. This suggests that column coefficients adhf would often be either equal to qd (the passenger demand) or to the remaining capacity in the helicopter. Therefore, the required columns would have little chance of being generated. We overcome this problem by disaggregating the travel demands so that each passenger is now treated as an independent demand. Consequently, adhf is now a binary coefficient that indicates whether the corresponding passenger is on the flight or not. Although this enlarges the problem size, it does not have a noticeable effect on the LP resolution time. Column-Generation Subproblem Let d , pt , hi , h , and h be the dual variables associated with constraints (1), (2), (3), (5), and (6), respectively. To compute the reduced cost of variable xhf associated with flight f and helicopter h, we define hf and hf as follows: hf = ch · dfhf +  lc−pt  − p∈P hf  and hf =  d∈Dhf   i∈Ihf  − hi − h − dfhf · h d where the index sets P (hf), I(hf), and D(hf) denote the set of platforms visited by flight f , the set of time instants during which flight f occurs, and the set of passenger demands served, respectively. The reduced 412 Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras cost of variable xhf is equal to ĉhf = hf + hf . Note that hf depends only on the route taken by flight f of helicopter h, whereas hf is determined by the passenger demands that are attended. The column-generation subproblem is to determine the helicopter h and the flight f with minimum ĉhf and that satisfy the following local constraints: (1) the number of landings per passenger shall not exceed lp; (2) the landings per flight cannot be more than lf; and (3) given the duration of the flight, the maximum number of passengers on the flight at any moment cannot exceed mch . Our column-generation problem is NP-hard because the prize-collecting traveling salesman problem (Balas 1989) is a special case of it in which the constraints are disregarded and all the dual variables, except for the d , are zero. Because our practical goal is obtaining a good primal feasible solution, we use a heuristic procedure to find profitable columns. Column-Generation Procedure Our column-generation procedure exploits the features of the optimization problem we are addressing. In particular, most departure times in the timetable serve a small number of platforms and each flight can visit at most five platforms. Our heuristic procedure tackles the problem by separately seeking, for each departure time and each helicopter h, profitable flights serving a fixed number of platforms. The procedure begins by generating all possible routes with one and two offshore landings. For three, four, and five offshore landings, it starts from an initial random route and performs a neighborhood search by exchanging the platform at each position in the route with all other platforms to be served by flights leaving the mainland at the same departure time. For each route R that is generated, we compute the value hf , which is valid for all flights f of helicopter h using route R. We then solve a minimum-cost-flow problem (MCF) to find the optimal allocation of passengers for route R and helicopter h. The combination of departure time, route, and allocated passengers defines a flight f for helicopter h. By summing the optimal value hf of the MCF to hf , we obtain the reduced cost ĉhf of the variable xhf . All variables xhf that are found with negative reduced cost are incorporated into the restricted integer program (RIP). The Interfaces 40(5), pp. 408–416, © 2010 INFORMS local search involving routes with three, four, and five landings is stopped when a column with negative reduced cost is found. When this is not the case, a tabu search procedure using the same neighborhood is launched. The MCF network has two distinct sets of nodes: stop nodes and demand nodes. Stop nodes are created for each point of the flight route (base, platforms, and back to the base). Each flight segment between consecutive landing points is represented by an arc from its origin to destination. These arcs control the flow of passengers on the route; therefore, arc capacities are set equal to the capacity of the helicopter in this route (which depends on the flight duration). Note that this is a single-commodity network flow problem. Demand nodes are created for each passenger who can travel on this flight. Two arcs leave each demand node d. One goes to the node corresponding to the origin of the demand on the route with cost equal to d . The other arc goes to the demand destination with infinite capacity and zero cost. In this model, all passengers can achieve their destinations by either going from the demand node to the origin node, traversing route segments of the flight when served by the helicopter, or otherwise going directly from the demand node to the destination point. Only passengers with positive associated dual variables d for constraints (1) need to be considered, because we seek a negative hf value. To obtain flights with as many passengers as possible, we consider the zero-valued dual variables d as slightly positive. Figure 2 illustrates the MCF network. Each demand node (D1–D5) has an incoming flow of one passenger. The outgoing flow of one unit is at its destination node. Helicopter capacities are controlled by route segment arcs linking two stop nodes. The optimum flow value is hf . The reduced cost ĉhf is then found by adding hf to the previously computed value hf . Main Algorithm Our approach for solving the helicopter-scheduling problem is to decompose the problem into the generation of single flights for each available helicopter and then to assemble these flights. The assembly is done by an integer programming model that constructs a sequence of flights for each helicopter, ensuring that it meets all time-related constraints while covering Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras 413 Interfaces 40(5), pp. 408–416, © 2010 INFORMS q1 q2 D1 (∞,–∏D1) (∞, –∏D2) D2 (∞, 0) B q3 (∞,–∏D3) D3 (∞, 0) (∞, –∏D4) P2 q1 q2 (∞, –∏D5) (∞, 0) D5 (∞, 0) P3 (Caph′ 0) (Caph′ 0) q5 D4 (∞, 0) P1 (Caph′ 0) q4 B (Caph′ 0) q3 + q4 +q5 Figure 2: The diagram illustrates a minimum-cost flow network. the transportation requests (see Figure 3). The algorithm starts by generating two sets of columns of reasonable size. One column set has sets of flights that comprise helicopter workdays; the other contains sets of flights that completely serve departure times. An RIP is initialized with these two sets of columns. At this point, the column-generation phase is initiated. The LP relaxation of the RIP is repeatedly solved to optimality. After each iteration, the dual values are obtained and used in the column-generation procedure described above. A column is generated for each departure time and helicopter pair. Because these columns tend to be similar for different helicopters, a tailing-off may occur. With this in mind, we added a column-generation procedure that randomly creates flights for randomly selected helicopters so that each departure time is served. We generate a fixed number of flights and add the 20 percent with smallest reduced cost to the RIP. Also, to allow complementary flights to be added to the RIP, we add columns from both generation procedures, even when their reduced cost is positive. The column-generation phase is interrupted after 15 minutes; then, an attempt to find good, or even optimal, solutions to the current RIP is made for 45 minutes. Even when we provide an initial solution to the problem, it converges very slowly, and integer solutions are hard to find. To ease the solution of the MIP, we relax constraints (1) from equations (set partitioning) to greater-than-or-equal-to inequalities (set covering). That is, we allow the demand to be oversatisfied. However, with this change, it now becomes necessary to check whether extra passengers are in the solution. The postoptimization procedure reassigns passengers to the selected flights to remove extra passengers and to reduce the number of landings and flights. This is done by solving another MIP, which we include in the appendix. Although this problem is NP-hard, it can be solved to optimality in a few seconds because of its low dimension. The objective function (8) maximizes the number of transported passengers and minimizes the number of flights and landings. Constraints (9) guarantee that flight f will visit landing point l if and only if passengers are leaving or going to this point. Similarly, constraints (10) keep or eliminate flight f . Constraints (11) remove extra passengers because these constraints control the number of passengers of each demand on all flights. Constraints (12) force the number of passengers on each route segment to be less than the helicopter capacity. Finally, the latest version of CPLEX is used to solve the LP and MIP models. Evaluation and Benefits The Center for Logistical Studies of the Federal University of Rio de Janeiro did an independent appraisal of MPROG in 2006. Using the passenger lists and the manual flight plans for 354 days during 2004, the appraisal compared the two approaches by running the optimization algorithm on these data. The workstation used was an Intel Xeon 3.06 GHz processor with 4 GB of RAM and ILOG CPLEX 9.0 software. The results showed that the optimized flight plans would have carried the same number of passengers but with Menezes et al.: Optimizing Helicopter Transport of Oil Rig Crews at Petrobras 414 Interfaces 40(5), pp. 408–416, © 2010 INFORMS Start Find initial set of flights Solve LP relaxation Execute column generation Time elapsed
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

Hello, I have done the first part. Inform me in case of any issue. Thank you.


Institution affiliation:



Mathematical programming entails the use of optimizing mathematical models that are
useful in making decisions. Programming involves the use of computers in preparation of
schedules of activities. Having a schedule is very important for any business because it helps
in reducing costs, helps plan for the unexpected and also ensures tha...

Really helpful material, saved me a great deal of time.


Related Tags