私は長さ9のnp.array Aを持っています。これは目的関数内の変数です。scipy.optimizeコンパクト制約
A = [ a1, a2, a3,
b1, b2, b3,
c1, c2, c3], where a1...c3 are real numbers.
with constraints: a1 > a2, a2 > a3,
b1 > b2, b2 > b3,
c1 > c2, c2 > c3
制約を書くための簡単な方法はありますか?現在私は次のコードを持っていますが、配列のサイズが大きくなるにつれ、それらをすべて記述するのは難しいです。それは、機能ごとに二つ以上の入力を除外して
cons = (
{'type':'ineq',
'fun': lambda x : np.array([x[0]-x[1]])
}
,
{'type':'ineq',
'fun': lambda x : np.array([x[1]-x[2]])
}
,
{'type':'ineq',
'fun': lambda x : np.array([x[3]-x[4]])
}
,
{'type':'ineq',
'fun': lambda x : np.array([x[4]-x[5]])
}
,
{'type':'ineq',
'fun': lambda x : np.array([x[6]-x[7]])
}
,
{'type':'ineq',
'fun': lambda x : np.array([x[7]-x[8]])
}
)
ありがとうございました!これは本当に役に立ちます! – Meng