Кто-нибудь знает, как сделать выпуклую оптимизацию в Python с модулем CVXOPT? - PullRequest
0 голосов
/ 04 июня 2018

Я хочу максимизировать Ax = b, где A - матрица m -by- n, а x - n -вектор.Ограничения на x заключаются в том, что его записи составляют 1 и что A x >= 0.

1 Ответ

0 голосов
/ 05 июня 2018

Использование CVXPY вместо:

from cvxpy import *
import numpy as np

m = 30
n = 10

# generate random data
np.random.seed(1)
A = np.random.randn(m,n)
b = np.random.randn(m)

# optimization variable
x = Variable(n)

# build optimization problem
prob = Problem( Maximize(sum(A*x)), [ sum(x) == 1, A*x >= 0 ])

# solve optimization problem and prints results
result = prob.solve()
print x.value

Эта проблема оптимизации неограничена и, таким образом, не существует оптимального решения.

...