Я пытаюсь максимизировать cx - xAx с положительным определением A, но решение не такое, каким я должен быть. Пожалуйста, помогите
Я пытался решить проблему с использованием этих данных
A = np.array([[1595., 1098., 1133., 0., 0., 0., 0.],
[1191., 1497., 1133., 0., 0., 0., 0.],
[1191., 1098., 1396., 0., 0., 0., 0.],
[ 0., 0., 0., 655., 0., 0., 0.],
[ 0., 0., 0., 0., 1313., 0., 0.],
[ 0., 0., 0., 0., 0., 581., 0.],
[ 0., 0., 0., 0., 0., 0., 536.]])
c = np.array([4673.36981266, 4727.12719741, 5939.49046907, 3867.69830799,
6099.15146109, 5358.10885615, 4885.96523884])
prob = cp.Problem(cp.Maximize(cp.quad_form(x,A)+c.T@x),[x>=0])
prob.solve()
Я получаю ошибку DCP с кодом выше ..
Затем я попытался свернуть версию, но затем получил -inf какответ
prob = cp.Problem(cp.Minimize(cp.quad_form(x,A)-c.T@x),[x>=0])
prob.solve()
Фактическое оптимальное решение для Max (cx - xAx) составляет
np.array([0,0,2.134,2.903,2.359,4.6266,4.508])
с оптимальным значением 42586