Open CHH3213 opened 3 years ago
假设有如下的约束条件
def con1(args): t_min, t_max, J, W = args # J:6*7, W:6*1 J = np.array(J) W = np.array(W) cons = [{'type': 'ineq', 'fun': lambda x: x[0] - t_min}, {'type': 'ineq', 'fun': lambda x: x[1] - t_min}, {'type': 'ineq', 'fun': lambda x: x[2] - t_min}, {'type': 'ineq', 'fun': lambda x: x[3] - t_min}, {'type': 'ineq', 'fun': lambda x: x[4] - t_min}, {'type': 'ineq', 'fun': lambda x: x[5] - t_min}, {'type': 'ineq', 'fun': lambda x: x[6] - t_min}, {'type': 'ineq', 'fun': lambda x: -x[0] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[1] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[2] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[3] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[4] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[5] + t_max}, {'type': 'ineq', 'fun': lambda x: -x[6] + t_max}, {'type': 'eq', 'fun': lambda x: J@x-W} ] return cons
最后的{'type': 'eq', 'fun': lambda x: J@x-W}也可以写成如下部分:
{'type': 'eq', 'fun': lambda x: J@x-W}
# for i in range(6): # j = J[i].reshape((1,7)) # con = {'type': 'eq', 'fun': lambda x, i=i: j[0]@x-W[i]} # cons.append(con)
假设有如下的约束条件
最后的
{'type': 'eq', 'fun': lambda x: J@x-W}
也可以写成如下部分: