This document discusses combinatorial design problems and approaches to solving them. It introduces combinatorial problems and challenges like huge search spaces. Methods covered include modeling problems as constraint satisfaction problems (CSPs) and using constraint propagation to reduce the search space. Specific problems discussed include ternary Steiner systems, Hamming distance optimization, and modeling the Data Encryption Standard (DES) cipher as a SAT problem for cryptanalysis.