Download presentation

Presentation is loading. Please wait.

Published byLeah Bruff Modified over 2 years ago

1
Efficiency of the simplex method LI Xiao-lei

2
Performance measures Can be divided into two types: Can be divided into two types: –Worst case A worst-case analysis looks at all problems of a given “ size ” and asks how much effort is needed to solve the hardest of these problems. –Average case An average-case analysis looks at the average amount of effort, averaging over all problems of a given size.

3
Performance measures For worst-case analyses, one needs to give an upper bound on how much effort is required and then exhibit a specific example that attains this bound. For worst-case analyses, one needs to give an upper bound on how much effort is required and then exhibit a specific example that attains this bound. For average-case analyses, one must have a stochastic model of the space of “ random linear programming problems ” and then be able to say something about the solution effort averaged over all the problems in the sample space. For average-case analyses, one must have a stochastic model of the space of “ random linear programming problems ” and then be able to say something about the solution effort averaged over all the problems in the sample space.

4
Measuring the size of a problem How do we specify the size of a problem? How do we specify the size of a problem? Two parameters come naturally to mind: m and n. Two parameters come naturally to mind: m and n. Since the data for a problem consist of the constraint coefficients together with the right-hand side and objective function coefficients, we should use the total number of data elements to indicate size, which is roughly mn. Since the data for a problem consist of the constraint coefficients together with the right-hand side and objective function coefficients, we should use the total number of data elements to indicate size, which is roughly mn.

5
Measuring the size of a problem What if many or even most of the data elements are zero? What if many or even most of the data elements are zero? Efficient implementations do indeed take advantage of the presence of lots of zeros, and so an analysis should also account for this. Hence, a good measure might be simply the number of nonzero data elements.

6
Measuring the size of a problem For a person to solve a problem by hand (or use unlimited precision computation on a computer), multiplying 23 by 7 is a lot easier than multiplying 23453.2352 by 86833.245643. For a person to solve a problem by hand (or use unlimited precision computation on a computer), multiplying 23 by 7 is a lot easier than multiplying 23453.2352 by 86833.245643. So the best measure of a problem ’ s size is the actual number of bits needed to store all the data on a computer. This measure is popular and is usually denoted by L. So the best measure of a problem ’ s size is the actual number of bits needed to store all the data on a computer. This measure is popular and is usually denoted by L.

7
Measuring the size of a problem However, L is seen to be ambiguous. However, L is seen to be ambiguous. Real-world problems, while generally large and sparse, usually can be described quite simply and involve only a small amount of true input data. Real-world problems, while generally large and sparse, usually can be described quite simply and involve only a small amount of true input data. We shall simply focus on m and n to characterize the size of a problem. We shall simply focus on m and n to characterize the size of a problem.

8
Measuring the effort to solve a problem How to measure the amount of work required to solve a problem? How to measure the amount of work required to solve a problem? –The best answer is the number of seconds of computer time required to solve the problem. –Unfortunately, not all the people use the exact same computer.

9
Measuring the effort to solve a problem Algorithms are generally iterative processes, and the time to solve a problem can be facted into the number of iterations required to solve the problem times the amount of time required to do each iteration. Algorithms are generally iterative processes, and the time to solve a problem can be facted into the number of iterations required to solve the problem times the amount of time required to do each iteration. The number of iterations does not depend on the computer. It is useful when comparing various algorithms within the same general class of algorithms; however, it becomes meaningless when one wishes to compare two entirely different algorithms. The number of iterations does not depend on the computer. It is useful when comparing various algorithms within the same general class of algorithms; however, it becomes meaningless when one wishes to compare two entirely different algorithms.

10
Worst-case analysis of the simplex method For noncycling variants of the simplex method, sine the simplex method operates by moving from one bfs to another without ever returning to a previously visited solution, an upper bound on the number of iterations is simply the number of bfs, of which there can be at most For noncycling variants of the simplex method, sine the simplex method operates by moving from one bfs to another without ever returning to a previously visited solution, an upper bound on the number of iterations is simply the number of bfs, of which there can be at most

11
Worst-case analysis of the simplex method The expression is maximized when m=n, and The expression is maximized when m=n, and The expression is huge when n is not very big. For example, 2 50 =1.1259×10 15 The example given by V.Klee and G. J. Minty.

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google