The mode assignment step boils down to the assignment of a single mode from the set of modes to each activity while not violating the limited non-renewable resource availability constraints, and can be easily modeled as a Boolean satisfiability problem instance. The boolean satisfiability problem (SAT) is a well-known decision problem where an expression of boolean variables (referred to as literals) linked by means of the logical operators and, or and not is questioned to be true or false. The problem has been studied extensively in literature (see e.g. the paper by Marques-Silva and Sakallah (1999), amongst others) and is known to be NP-complete.