【发布时间】:2016-06-16 07:44:07
【问题描述】:
我想用 Scipy.optimize.minimize 最小化具有多个参数和约束的函数:
def f(x):
return -1*(0.9*x[0] + 0.8*x[1] + 0.85*x[2])*(0.95*x[3] + 0.8*x[4] + 0.7*x[5])*(0.98*x[6] + 0.94*x[7])
x0 = [0, 0, 1, 0, 0, 1, 0, 1]
cons=({'type': 'eq',
'fun': lambda x: x[0] + x[1] + x[2] - 1},
{'type': 'eq',
'fun': lambda x: x[3] + x[4] + x[5] - 1},
{'type': 'eq',
'fun': lambda x: x[6] + x[7] - 1},
{'type': 'ineq',
'fun': lambda x: -1*(3*x[0] + x[1] + 2*x[2] + 3*x[3] + 2*x[4] + x[5] + 3*x[6] + 2*x[7] - 6)})
如何告诉python x[i] 只能是0和1?
【问题讨论】:
标签: python optimization scipy mathematical-optimization