A difficult class of problems is the class of combinatorial optimization problems. This is because the search space of such problems is often grown exponentially when the size of the problem grows. There are some known solving techniques to tackle such problems of which the most popular ones are: mathematical methods, constraint programming and local search. Each technique has its own advantages and disadvantages and for a given problem it is unclear at the beginning which technique gives us the best result. In this paper, we explain our experiments in designing the modeling language Zinc. Zinc is a high-level modeling language which supports a methodology in which each model can be automatically mapped into corresponding low level model suitable for one of the aforementioned solving techniques.