Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import scipy
- from scipy.optimize import minimize
- lista=[0.002,0.006,0.003,0.02,0.008,0.006,0.05]
- def assign(k):
- return list(map(lambda x:(k*0.005 if x in np.arange(0,k*0.0025,0.001)
- else k*0.01 if x in np.arange(0.0025,k*0.005,0.001) else k*0.025 if x in
- np.arange(0.005,k*0.0125,0.001) else k*0.05), lista))
- def constraint(k):
- return sum(assign(k))-0.32
- def fun(k):
- return k
- k0=0
- bnds=[(0,10)]
- cons={'type':'eq','fun':constraint}
- res=minimize(fun,k0,bounds=bnds,method='SLSQP',constraints=cons,options={'maxiter':2000})
- print(res)
- message: 'Iteration limit exceeded'
- lambda x:(k*0.005 if x in np.arange(0,k*0.0025,0.001)
- else k*0.01 if x in np.arange(0.0025,k*0.005,0.001) else k*0.025 if x in
- np.arange(0.005,k*0.0125,0.001) else k*0.05)
- def assign1(x, k):
- if x in np.arange(0, k * 0.0025, 0.001):
- return k * .01
- if x in np.arange(0.0025, k * 0.005, 0.001):
- return k * .025
- ...
- def assign1(x, k):
- if 0 <= x < k * .0025:
- return k * .01
- if k * .0025 <= x < k * .0050:
- return k * .025
- ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement