- The ability to make decisions and to assess potential courses of action is a corner-stone of many AI applications. Typically, this ability requires explicit information about the decision-maker’s preferences. In many applications, preference elicitation is a serious bottleneck. The user either does not have the time, the knowledge, or the expert support required to specify complex multi-attribute utility functions. In such cases, a method that is based on intuitive, yet expressive, preference statements is required. In this paper we suggest the use of TCP-nets, an enhancement of CP-nets, as a tool for representing, and reasoning about qualitative preference statements. We present and motivate this framework, define its semantics, and study various computational aspects of reasoning with TCP-nets. Finally, we show how to perform constrained optimization efficiently given a TCP-net.