Я пытаюсь использовать функцию линейного программирования из библиотеки Сципиона питонов, однако я не могу удалить ограничение неотрицательности, наложенное на переменную. Чтобы продемонстрировать это, рассмотрим следующий код.
from scipy.optimize import linprog
c = [-1]
A = [[1]]
b = [-3]
print(linprog(c, A_ub=A, b_ub=b, bounds=None))
это дает следующий вывод:
fun: 3.0
message: 'Optimization failed. Unable to find a feasible starting point.'
nit: 0
status: 2
success: False
x: nan
Это должна быть формулировка следующей задачи: минимизировать c * x так, чтобы Ax≤b или эквивалентно минимизировать -1 * x st. 1x≤-3. Надеюсь, я сделал это правильно. Основываясь на токовом выходе, я подозреваю, что существует дополнительное ограничение, что x≥0. Я не знаю, как снять это ограничение.
Я установил границы на None при том понимании, что это означает, что никакие дополнительные границы не ставятся для задачи, кроме Ax≤b, однако явно существует и другая граница для задачи. Как я могу удалить эту границу? Спасибо