For a formal foundation of the Ant Programming approach to combinatorial optimization: Part 1: The problem, the representation, and the general solution strategy