Я пытаюсь оптимизировать функцию двух переменных. Я хочу, чтобы одна переменная была зафиксирована на 50, а другая - от -5 до 5. Я написал следующий код:
x0 = np.array([50, 0.0])
res = minimize(error, x0, constraints=[
{'type': "eq", "fun": lambda x: x[0] - 50},
{'type': "ineq", "fun": lambda x: -abs(x[1]) + 5},
])
, где minimize
- это функция от scipy.optimize
. Первое ограничение - x[0] == 50
, а второе - -5 <= x[1] <= 5
. Я получаю следующий ответ: message: 'Inequality constraints incompatible'
. Но когда я устанавливаю вторую переменную не равной нулю (например, x0 = np.array([50, 0.1])
), она успешно находит решение. В чем может быть причина такого поведения?