Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from scipy.optimize import minimize
- def func(x):
- return ((x[0]*((0.2292 + x[1])/2)) + ((0.9-x[0])*((x[2] +
- x[1])/2))-0.08)
- def func_deriv(x):
- """ Derivative of objective function """
- dfdx0 = (0.2292 - x[2])/2
- dfdx1 = 0.89/2
- dfdx2 = (0.89 - x[0])/2
- return np.array([dfdx0, dfdx1, dfdx2])
- cons = ({'type': 'ineq',
- 'fun': lambda x: np.array([x[1]-x[2]]),
- 'jac': lambda x: np.array([0.0, 1.0, -1.0])},
- {'type': 'ineq',
- 'fun': lambda x: np.array([0.2292-x[1]]),
- 'jac': lambda x: np.array([0.0, -1.0, 0.0])})
- res = minimize(func, [0.43, 0.18, 0.10], jac=func_deriv,
- method='SLSQP',
- options={'disp': True, 'maxiter': 100})
Add Comment
Please, Sign In to add comment