print opt_prob

DataFile = open('opt_data.txt','w')
key_list = ['xs-', 'ys-', 'xs+', 'ys+', 'xl-', 'yl-', 'xl+', 'yl+']
output_list = ['theta']
for key in key_list + output_list:
    DataFile.write(key + '\t')
DataFile.write('\n')
DataFile.close()

# Global Optimization
nsga2 = NSGA2()
nsga2.setOption('PopSize', 40)
nsga2.setOption('maxGen', 50)
nsga2(opt_prob)
print opt_prob.solution(0)

x0 = []
for i in range(8):
    x0.append(opt_prob.getVar(i).value)
print x0    
# Local Optimization Refinement
result = minimize(objfunc_BFGS, x0, method='L-BFGS-B', options={'gtol': 1e-6,
                  'disp': True}, bounds = ((x_hinge/2., x_hinge - safety),
                  ( -.9,-0.), (x_hinge + safety, chord - safety), (0., .9),
                  (x_hinge/2.,x_hinge - safety ), (-.9, 0.9), 
                  (x_hinge + safety, chord - safety),(-.9, 0.)))
#slsqp = SLSQP()
#slsqp.setOption('MAXIT', 200)
#slsqp(opt_prob)
#print opt_prob.solution(0)