Я пытаюсь решить следующее уравнение:
maximize x^{T}Ax
, где x
- это 3 X 1
вектор переменных, которые нужно максимизировать, а A
- это 3 X 3
матрица значений.
Итак, в основном x^{T} = [a,b,c]
, которые следует максимизировать, а A
может быть чем-то вроде
A = [ [29, 29, 79],
[28, 28, 48],
[9, 40, 0 ]]
Может ли кто-нибудь показать мне, как представить это в виде проблемы максимизации с использованием PuLP или другого пакета линейного программирования на Python?
Любая помощь приветствуется. Я новичок в этой области и не знаю, как начать представлять эту формулировку.
До сих пор я пытался использовать CVXPY для моделирования этой функции. У меня есть следующий код, но я вижу ошибку:
[1] A = np.array([[29,29,79],[28,28,48],[9,40,0]])
[2] x=Variable(3)
[3] objective=Minimize(x.T*A*x)
Warning: Forming a nonconvex expression (affine)*(affine).
warnings.warn("Forming a nonconvex expression (affine)*(affine).")
[4] constraints=[0<=x,x<=1,sum_entries(x)==1] #what I'm trying to say is each entry of x should be between 0 and 1 and all entries should add up to 1.
[5] prob = Problem(objective, constraints)
[6] prob.solve()
DCPError: Problem does not follow DCP rules.