Я пытаюсь решить задачу LP с двумя переменными с двумя ограничениями, где одно - это неравенство, а другое - ограничение равенства в Scipy.Чтобы преобразовать неравенство в ограничении, я добавил в него еще одну переменную с именем A
.
Min(z) = 80x + 60y
Ограничения:
0.2x + 0.32y <= 0.25
x + y = 1
x, y <= 0
Я изменил ограничения неравенства с помощью следующих уравнений:добавление дополнительной переменной A
0.2x + 0.32y + A = 0.25
Min(z) = 80x + 60y + 0A
X+ Y + 0A = 1
from scipy.optimize import linprog
import numpy as np
z = np.array([80, 60, 0])
C = np.array([
[0.2, 0.32, 1],
[1, 1, 0]
])
b = np.array([0.25, 1])
x1 = (0, None)
x2 = (0, None)
sol = linprog(-z, A_eq = C, b_eq = b, bounds = (x1, x2), method='simplex')
Однако я получаю сообщение об ошибке
Неверный ввод для linprog с method = 'simplex'.Длина границ несовместима с длиной c
Как это исправить?