PuLP простая проблема, которая появляется как «Не решена» при использовании lpSum - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть следующая программа, которая выходит как не решенная с использованием 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])

это как не решено. Что я делаю не так?

...