CLASSIFICATION OF ALGORITHMS



An algorithm is said to be efficient when it runs in polynomial time, i.e., its running time is not longer than a polynomial function of the size of the problem. An algorithm is said to be effective if it produces high-quality solutions, preferably in less time than any efficient algorithm for the problem. The most preferred algorithms are both efficient and effective.

If the algorithm produces the mathematically best solution it is called optimal (or exact) if it produces a good but not necessarily best solution it is called heuristic.

A primal algorithm uses a sequence of feasible solutions while it attemps to find the optimal solution. A dual algorithm uses a sequence of optimal but not feasible solutions while it attemps to find a feasible solution. In a certain sense, dual algorithms are super-optimal.

A construction algorithm constructs a solution to a problem, whereas an improvement algorithm works on an existing solution to obtain better levels performance measures.

Alternative generating algorithms are algorithms which generate possible solutions automatically and in a fast manner. Assumably the problem must have a simple structure in order for solutions to be computer generated.

Alternative selecting algorithms are algorithms for selecting a preferred alternative among a given set of possible listed alternatives.