Simple k-crashing Plan with a Good Approximation Ratio
Abstract
In project management, a project is typically described as an activity-on-edge network (AOE network), where each activity / job is represented as an edge of some network N (which is a DAG). Some jobs must be finished before others can be started, as described by the topology structure of N. It is known that job ji in normal speed would require bi days to be finished after it is started. Given the network N with the associated edge lengths b1,…,bm, the duration of the project is determined, which equals the length of the critical path (namely, the longest path) of N. To speed up the project (i.e. reduce the duration), the manager can crash a few jobs (namely, reduce the length of the corresponding edges) by investing extra resources into that job. However, the time for completing ji has a lower bound due to technological limits -- it requires at least ai days to be completed. Moreover, it is expensive to buy resources. Given N and an integer k≥ 1, the k-crashing problem asks the minimum amount of resources required to speed up the project by k days. We show a simple and efficient algorithm with an approximation ratio 11+…+1k for this problem. We also study a related problem called k-LIS, in which we are given a sequence ω of numbers and we aim to find k disjoint increasing subsequence of ω with the largest total length. We show a (1-1e)-approximation algorithm which is simple and efficient.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.