cvxpy: Python优化库

编程入门 行业动态 更新时间:2024-10-28 04:16:50

<a href=https://www.elefans.com/category/jswz/34/1027937.html style=cvxpy: Python优化库"/>

cvxpy: Python优化库

cvxpy: Python优化库
对于如下所示的线性规划问题:

首先,定义变量

import cvxpy as cpx = 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 cphelp(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))
参考:.html
/

官方文档:
.html

更多推荐

cvxpy: Python优化库

本文发布于:2023-11-16 09:29:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1615955.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:cvxpy   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!