Combinatorial optimization problems naturally arise in many application areas, including logistics, manufacturing, supplychain management, and resource allocation. They often give rise to complex and intricate programs, because of their inherent computational and software complexity. There is thus a strong need for software tools which would decrease the distance between the specification and the final program. This paper contains a brief description of Comet, an object-oriented language supporting a constraint-based architecture for neighborhood search. It contrasts Comet to constraint programming languages and shows how constraint programming and Comet provides many of the same benefits for constraint satisfaction and neighborhood search respectively. In particular, Comet supports a layered architecture cleanly separating modeling and search aspects of the programs, constraints encapsulating incremental algorithms, and various control abstraction to simplify neighborhood explorat...