Algorithmic Approaches to Architectural Optimization