cvxpy- Python优化库

cvxpy- Python优化库cvxpy Python 优化库 对于如下所示的线性规划问题 首先 定义变量 import cvxpy as cp x cp Variable y cp Variable 然后 定义目标函数和约束条件 objective cp Minimize 2

大家好,我是讯享网,很高兴认识大家。

cvxpy: Python优化库
对于如下所示的线性规划问题:
在这里插入图片描述
讯享网
首先,定义变量

import cvxpy as cp x = cp.Variable() y = cp.Variable() 

讯享网

然后,定义目标函数和约束条件:

讯享网objective = cp.Minimize(2*x + 3*y) constraint = [x + y >= 10, x >= 0, y >= 0] 

最后,求解问题并输出结果:

problem = cp.Problem(objective, constraint) problem.solve(solver=cp.ECOS) print("Optimal value:", problem.value) print("Optimal variable x:", x.value) print("Optimal variable y:", y.value) 
讯享网定义变量: import cvxpy as cp help(cp.Variable) cp.Variable(shape=(), name=None, var_id=None, kwargs) 基本属性 shape: 表示形状, 可以使用元组 (3,2) 表示 3 × 2的矩阵 name: 变量名字, 可以使用字符串 数学性质 例如 x=cp.Variable(shape=(3,3), name='cov', symmetric=True) 数域 boolean 布尔型, integer 整数型 x=cp.Variable(shape=(1),boolean=True) y=cp.Variable(shape=(1),integer=True) neg 负数 nonneg 非负 x=cp.Variable(shape=(1),nonneg=True) pos 正数 nonpos 非正 x=cp.Variable(shape=(1),nonpos=True) complex 复数 imag 虚数 矩阵 hermitian 共轭对称性 NSD 半负定矩阵 PSD 半正定矩阵 symmetric 对称矩阵 

注意:
1.Problems 是不可变的,这意味着它们在创建后不能更改。要更改目标或约束,请创建一个新问题。
2.对于最小化问题,如果问题无法实现,则最优值为 inf ;如果问题无界,则最优值为 -inf 。对于最大化问题来说,情况正好相反。
3.Variables 可以是标量、向量或矩阵,即它们可以是 0、1 或 2 维的。
目前可以使用以下类型作为常数:

NumPy的ndarrays(NumPy的多维数组)

NumPy的matrices(NumPy的矩阵)

SciPy的sparse matrices(SciPy的稀疏矩阵)

# 标量变量。 a = cp.Variable() # 形状为 (5,) 的向量变量。 x = cp.Variable(5) # 形状为 (5, 1) 的矩阵变量。 x = cp.Variable((5, 1)) # 形状为 (4, 7) 的矩阵变量。 A = cp.Variable((4, 7)) 
讯享网参考:https://www.wuzao.com/document/cvxpy/tutorial/intro/index.html
https://www.bilibili.com/read/cv8180627/
https://blog.51cto.com/u_16213400/7499611
官方文档:
https://www.cvxpy.org/examples/index.html
小讯
上一篇 2025-03-16 16:58
下一篇 2025-04-07 19:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/63761.html