OPTIMIZATION TECHNIQUES WITH APPLICATIONS TO PROTEINS