We present a detailed study of the performance and reliability of design procedures based on energy minimization. The analysis is carried out for model proteins where exact results can be obtained through exhaustive enumeration. The efficiency of design techniques is assessed as a function of protein length and the number of classes into which amino acids are coarse grained. It turns out that, while energy minimization strategies can identify correct solutions in most circumstances, it may be impossible for numerical implementations of design algorithms to meet the efficiency required to yield correct solutions in realistic contexts. Alternative design strategies based on an approximate treatment of the free energy are shown to be much more...