This preview shows page 1. Sign up to view the full content.
Unformatted text preview: requires impossible compute times), even with the most powerful computers. On the other hand, heuristic algorithms are known that can produce very good schedules that are generally better than what can be produced by simply minimizing resource demand. The reason for this is that these heuristic algorithms often compute shorter average durations for task sets than can be arrived at by human trial and error. Consequently, resource leveling now usually refers to the process of computing the best possible schedule by taking resource utilization into account. During the late 1970s, the author and colleagues at Brown and Root studied some of the algorithms employed by some popular commercial scheduling products and found them to be excessively expensive and very suboptimal. During this period W Douglas Tiner (later professor emeritus at Texas A&M University) put forward a very good heuristic algorithm for resource leveling that was not only fast but produced better resource leveling than we had previously seen. The author is not certain if Tiner's algorithm ever found its way into any commercial scheduling packages, but today most commercial scheduling systems have good resource leveling capabilities. The drastic increases in computational power and memory size have, of course, helped make this technique much more practical today. While labor is often one of the most expensive resources, on many projects equipment and materials resources account for a substantial percentage of project costs. For small projects, resource leveling is inappropriate if the main cost is labor and all the laborers available to the project have similar skills. This is often true for software development projects. But, as projects Page 190 grow larger and more complex, there is a strong financial incentive to know what a nearly optimal resource leveled schedule might be. Near-optimal schedules can save money in two ways. First, by getting a project completed as soon as possible, it is often the case that a company can begin earning money using the project's output. For instance, if the project is to construct a refinery, every day the new refinery is not available may cost the company a million dollars in lost revenue. Second, by minimizing resource utilization, it is possible to cut the cost of the project substantially. For example, many high-tech defense projects are labor intensive, but they require a vast array of expensive skills. They may require physicists, computer scientists, electrical engineers, mechanical engineers, etc., in addition to quality control personnel, assemblers, and supervisors. Usually, an electrical engineer cannot replace a mechanical engineer on a task; a chemist cannot replace a computer scientist. 220.127.116.11— How Resources Are Communicated to the Scheduling System For tasks that require diverse skill sets, project schedulers usually deal with labor resources by considering these skill sets to be labor pools (e.g., the physicist labor pool, the mechanical engineer labor pool). The defining assumption for a pool is that, for sc...
View Full Document
This note was uploaded on 01/11/2011 for the course ACC 9 taught by Professor Yeetan during the Spring '10 term at Sunway University College.
- Spring '10