Tutorial on computational complexity

Tutorial on computational complexity

0.00 Avg rating0 Votes
Article ID: iaor2003612
Country: United States
Volume: 32
Issue: 3
Start Page Number: 30
End Page Number: 61
Publication Date: May 2002
Journal: Interfaces
Authors:
Keywords: education in OR
Abstract:

Computational complexity measures how much work is required to solve different problems. It provides a useful classification tool for OR/MS practitioners, especially when tackling discrete deterministic problems. Use it to tell, in advance, whether a problem is easy or hard. Knowing this won't solve your problem, but it will help you to decide what kind of solution method is appropriate. Complexity analysis helps you to understand and deal with hard problems. It can pinpoint the nasty parts of your problem, alert you to a special structure you can take advantage of, and guide you to model more effectively. You will solve your problem better when you know the borders between hard and easy. Locating the difficulty can indicate where to aggregate, decompose, or simplify. To detect and prove computational difficulty, show that a known hard problem from the literature is embedded within your problem. Fix parameters of your problem to arrive at the known hard problem, or use specialization, padding, forcing, or the more difficult gadget proofs. Study contrasting pairs of easy and hard problems to develop your intuitive ability to assess complexity.

Reviews

Required fields are marked *. Your email address will not be published.