We survey three problem representations that are popularly applied in combinatorial optimization: algebraic modeling languages, constraint logic programming languages, and network diagrams. After first describing the kinds of optimization methods and systems most commonly associated with these alternatives, we consider how each representation has been advantageous and how its advantages have come to influence (or ought to influence) the design of the others. We focus especially on the possibility that general-purpose system designs, which are highly successful in other areas, might be extended to combinatorial optimization.
['Collette R. Coullard', 'Robert Fourer']
Algebraic, logical and network representations in the design of software for combinatorial optimization