scipyのminimizeで、以下のように制約条件を指定しても2番目の制約がうまく効かない(得られた最適解についてsum(abs(x-w0))が0.5を超えてしまう)場合、原因として何が考えられるでしょうか?

x、w0はn次元ベクトルでw0は初期値として設定しています。

cons = (
    {'type': 'eq', 'fun': lambda x: sum(x) - 1},
    {'type': 'ineq', 'fun': lambda x: 0.50 - sum(abs(x - w0))}
)