我正在尝试使用scipy.optimize.minimze
来最小化目标函数
如下。
import numpy as np]
from scipy import optimize
max_q_fun = lambda q : -q
def max_q_min(args):
cons = args
res = optimize.minimize(max_q_fun, (0.1), method='SLSQP', bounds = ((0,1),), constraints=cons)
q = res.x
return q
total_counts = np.arange(0,10)
num_actions = 10
args = [({'type': 'ineq', 'fun': lambda q: total_counts[act] *
(p[act] * np.log(p[act] / q) + (1-p[act]) * np.log((1-p[act]) / (1-q))) - np.log(10)})
for act in range(num_actions)]
pl = Pool(num_actions)
actions = pl.map(max_q_min,args)
current_action = np.argmax(actions)
但是,如果我使用Pool
的{{1}},则错误显示
from pathos.multiprocessing import ProcessingPool as Pool
如果我使用NameError: name 'np' is not defined
的{{1}},该错误表明
Pool
。
任何想法我都可以针对不同的约束条件使用并行计算吗?