У меня есть следующая программа, которая выходит как не решенная с использованием PuLP:
prob = LpProblem("Risk Decision",LpMaximize)
x = np.arange(3)
n = len(x)
a = pulp.LpVariable.dicts('a', x, lowBound=0, upBound=1, cat='Continuous')
b = np.array([1, 2, 3])
prob += lpSum([a[i]*b[i] for i in range(n)]), "Expected Utility"
Я снял ограничения, чтобы упростить задачу, поэтому идея заключается в максимизации функции
a0 * b0 + a1 * b1 + a2 * b2
и поскольку переменные имеют восходящий поток 1, решение должно быть (a0 = 1, a1 = 1, a2 = 1), однако оно не находит его.
Когда я пытаюсь решить эту проблему:
prob.writeLP("Risk_Decision.lp")
print("Status:", LpStatus[prob.status])
это как не решено.
Что я делаю не так?