Optimization Techniques for Circuit Design Applications