Optimization Techniques for Semi-supervised Support Vector Machines