IBM ILOG Solver User's Manual > Developing Solver Applications > Developing Applications > Implementing and optimizing > Use multiple data sets

First, we remind you that the solution of a combinatoric problem is quite sensitive to variations in data, so you need to optimize a Solver program with respect to multiple sets of data to have any reliable effect at all. In fact, the robustness of your program will depend heavily on tests run over several sets of data. Such tests should induce redundant constraints that will vary greatly according to the particular instance of the problem under consideration.

This point about using multiple sets of data to test your program is so important that we'll insist that if you don't have access to real data, you should consider generating realistic data through random variation.

At this point in the development cycle, you should also settle once and for all the format of data. If, for example, it is straightforward and quick to sort an array by posing a few constraints, obviously it will be even quicker to use a conventional sorting technique. This guideline can be generalized: most ordinary preprocessing (unrelated to constraint programming) can be handled more efficiently in C++ than in Solver.