有谁知道如何使用 CVXOPT 模块在 Python 中进行凸优化?
Does anyone know how to do convex optimization in Python with CVXOPT module?
我想最大化 Ax = b
,其中 A
是一个 m
-by-n
矩阵,x
是一个 n
-向量。 x
的约束是它的条目总和为 1
并且 A x >= 0
.
改用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
这个优化问题是无界,因此没有最优解。
我想最大化 Ax = b
,其中 A
是一个 m
-by-n
矩阵,x
是一个 n
-向量。 x
的约束是它的条目总和为 1
并且 A x >= 0
.
改用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
这个优化问题是无界,因此没有最优解。