In 1967, just a short time before a group of graduate students at North Carolina State University (NCSU) were starting a software company they called SAS, Dr. Salah Elmaghraby joined the faculty of NCSU as a Distinguished University Professor. In the 1970s, Dr. Elmaghraby led the effort to create one of NCSU’s first interdisciplinary academic programs---the Graduate Program in Operations Research. He was director of the program for twenty years, and the program has been recognized as an example of one of the outstanding successes in interdisciplinary education not only at NCSU, but around the world. His interdisciplinary vision for the study of Operations Research was one of the main reasons I chose NCSU for graduate school. In addition to his contributions in higher education administration and management, Dr. Elmaghraby is widely known for his research in areas that include project planning, scheduling, and activity networks.
On June 12 of this year, Dr. Elmaghraby passed away. When I was in school, I unquestionably admired Dr. Elmaghraby, not only for his academic accomplishments, but for his friendly demeanor and love of learning. I knew that being able to take a course on activity networks from him was something special. What I have recently come to realize, however, is how relevant his influence still is today, not only on my career, but on SAS in general. To quote Dr. James R. Wilson, my advisor and former department head of the Edward P. Fitts Department of Industrial and Systems Engineering at NCSU: "His contributions to the engineering profession are striking not only for their scope and impact but also for the remarkably long time period over which that impact has been sustained."
As I started asking around, I discovered that numerous people at SAS from a variety of groups knew Dr. Elmaghraby and his work. Most likely his biggest influence on SAS has been on the development of the SAS/OR project management capabilities. The project management procedures were among the first offerings of SAS/OR, dating back to 1982. The CPM procedure was originally developed for project scheduling, but it also has turned out to be well-suited for tackling more general scheduling scenarios because of its rich set of activity and resource-constrained modeling capabilities. Resource-constrained scheduling in particular was an area of interest for Dr. Elmaghraby. Dr. Radhika Kulkarni, the Vice President of Advanced Analytics Research and Development at SAS, reminisces on this topic: "I joined the Operations Research team in 1983 as the second member and was asked to take over a very early version of PROC CPM. Looking around for leading references on the topic of activity networks and resource scheduling, Professor Elmaghraby’s book became my ‘bible’.”
Now, more than thirty years since the first release of SAS/OR, the CPM procedure remains an important cornerstone of SAS’ operations research offerings. In addition to standard features such as tracking, baselines, activity calendars, and multi-project capabilities, a key advantage of the CPM procedure is the extensive resource scheduling algorithms that it includes. These algorithms include support for different resource types such as consumable, replenishable, spanning, and auxiliary (that is, resources required in conjunction with another resource). There is also support for skill pools, substitution of resources, and resource calendars. Dr. Kulkarni continues: “Needless to say, having Dr. Elmaghraby close by at NC State University gave me a wonderful opportunity to interact with him on many occasions. From my very first meeting with him, I was impressed by Professor Elmaghraby’s immense interest in helping anyone who came to him for advice. He always found time in his busy schedule to meet with me or my colleagues whenever I reached out to him.”
The scheduling engine in the CPM procedure is extremely fast (practically linear in time) and as a result, very scalable. To give an idea of the wide variety of problems that have been tackled using CPM, below are summaries of five customer projects, the first two of which use the CPM resource scheduling features influenced by Dr. Elmaghraby:
- The CPM procedure was used by a multinational energy company to schedule the shutdown of 27 platforms and 300 wells of an oil field for maintenance, in addition to coordinating 1000 personnel. The schedule generated by PROC CPM was able to reduce the time needed for maintenance by 22 hours.
- An oil company used the CPM procedure to integrate multiple paving project plans. Previously, the company had hundreds of independent project plans with no ability for them to interact, despite sharing the same resources. The CPM procedure allowed the projects to be integrated to share pooled resources. Activity splitting improved resource utilization, while activity priority allowed regulatory projects to be processed first.
- The CPM procedure was used to reduce the build cycle time of costly launch vehicles for a major aerospace defense contractor. Each of these launch vehicles consists of about 50,000 parts, has a long, complex fabrication cycle, and is very expensive to manufacture. The work involved first extracting the parts’ information (including lead times) as well as the assembly information from an MRP system, generating a bill of material (with the BOM procedure in SAS/OR), and then using the CPM procedure to reduce the cycle time from 4 years to 10 months.
- A large ship builder used CPM to plan, track, and update the scheduling of the construction of cruise ships as part of an integrated application catering to multiple user personas. Each ship is made up of several blocks that need to be assembled together. Each block can weigh between 300 to 700 tons and is made up of several sections. The reservation schedule identifies when and where each section needs to be placed in order to assemble the different blocks and when and where each block needs to be placed before it will be part of a ship. Scheduling with CPM provided a way to surface the current schedule at different levels of granularity and to monitor and adjust the progress of the project.
- A major auto manufacturer used CPM as the central component of an application designed to schedule and track the various activities involved in bringing a new vehicle from design to regular production. The scope involved detailed planning, updating, and baseline management. The resulting analysis was used for early detection, elevation, and management of issues.
As one can see, Elmaghraby’s influence on the people at SAS and on the SAS software has been far reaching and long lasting. Here is a final thought from Dr. Kulkarni: “Professor Elmaghraby certainly left a significant mark on the scheduling components of SAS/OR. As SAS/OR became more prominent in the operations research arena, Professor Elmaghraby continued to take deep pride in its success. I will miss him as a mentor and an example of someone who never tired of learning and teaching new concepts!”
I would like to thank Gehan Corea (SAS Advanced Analytics Senior Manager) and Lindsey Puryear (SAS Principal Operations Research Specialist) for their contributions to this post. In addition to the CPM procedure, SAS/OR contains other project management capabilities, including Earned Value Management macros that use the CPM procedure for earned value analysis, as well as the GANTT and NETDRAW procedures for visualization.