参加ICASSP2016时了解到Python下有一个优化工具包cvxpy,代码形式非常简洁,于是想尝试一下。
1.环境
本机环境windows 10 x64 + python2.7。
2.安装方法
运行如下命令:
pip install cvxpy
执行样例代码
from cvxpy import *
import numpy
# Problem data.
m = 30
n = 20
numpy.random.seed(1)
A = numpy.random.randn(m, n)
b = numpy.random.randn(m)
# Construct the problem.
x = Variable(n)
objective = Minimize(sum_squares(A*x - b))
constraints = [0 <= x, x <= 1]
prob = Problem(objective, constraints)
# The optimal objective is returned by prob.solve().
result = prob.solve()
# The optimal value for x is stored in x.value.
print(x.value)
# The optimal Lagrange multiplier for a constraint
# is stored in constraint.dual_value.
prin