繁体   English   中英

使用CVXOPT或CVXPY进行凸面编程

[英]Convex programming with CVXOPT or CVXPY

我需要用Python解决CVXOPT或CVXPY的优化问题,并且遇到了困难。 目标函数是

Minimize Sum(a*x^2+b/x)

受到以下约束

5 <= x < 40;

sum(v/d)<=T

其中向量x是最优化变量,给出了向量ab ,而T是给定的标量。

以下代码解决了CVXPY中的问题。 我假设您的意思是sum(x/d) <= T

# Replace these with your values.
n = 2
a = 2
b = 2
d = 2
T = 1000

import cvxpy as cvx

x = cvx.Variable(n)
obj = cvx.sum_entries(a*x**2 + b*cvx.inv_pos(x))
constr = [5 <= x, 
          x <= 40,
          cvx.sum_entries(x/d) <= T]
prob = cvx.Problem(cvx.Minimize(obj), constr)
prob.solve()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM