小编Ste*_*ios的帖子

使用Scipy最大化优化

我试图用下面所示的约束来解决这个线性规划函数,答案是x1x2应该分别26,并且目标函数的值应该等于36.我写的代码给了我答案43.我可能做错了什么?功能最大化z=3*x1 + 5*x2.限制是x1 <= 4; 2*x2 <=12; 3*x1 + 2*x2 <= 18; x1>=0; x2>=0.

import numpy as np
from scipy.optimize import minimize
def objective(x, sign=1.0):
    x1 = x[0]
    x2 = x[1]
    return sign*((3*x1) + (5*x2))
def constraint1(x, sign=1.0):
    return sign*(3*x[0] +2*x[1]- 18.0)
x0=[0,0]

b1 = (0,4)
b2 = (0,12)
bnds= (b1,b2)
con1 = {'type': 'ineq', 'fun': constraint1}

cons …
Run Code Online (Sandbox Code Playgroud)

python scipy

7
推荐指数
2
解决办法
1万
查看次数

具有线性约束的Scipy.optimize.minimize SLSQP失败

考虑以下(凸)优化问题:

minimize 0.5 * y.T * y
s.t.     A*x - b == y
Run Code Online (Sandbox Code Playgroud)

其中优化(矢量)变量xyA,b是适当维度的矩阵和向量,分别.

下面的代码使用SLSQPScipy中的方法轻松找到解决方案:

import numpy as np
from scipy.optimize import minimize 

# problem dimensions:
n = 10 # arbitrary integer set by user
m = 2 * n

# generate parameters A, b:
np.random.seed(123) # for reproducibility of results
A = np.random.randn(m,n)
b = np.random.randn(m)

# objective function:
def obj(z):
    vy = z[n:]
    return 0.5 * vy.dot(vy)

# …
Run Code Online (Sandbox Code Playgroud)

python optimization numpy scipy

4
推荐指数
1
解决办法
3974
查看次数

如何在 sympy 中显示完整的表达式?

我正在尝试在 Jupyter 笔记本中使用sympy以可重复的方式记录和执行一系列数学计算。

如果我定义以下内容:

from sympy import *

init_printing()
x, y, z = symbols("x y z")

x=y+z
x
Run Code Online (Sandbox Code Playgroud)

然后我可以显示x(即y+z)的值。

如何显示完整的方程 ( x=y+z)?

运行Eq(x,y+z),即使有evaluate=False) 返回具有x替换 ( y+z=y+z)值的表达式。

sympy

4
推荐指数
2
解决办法
3441
查看次数

标签 统计

python ×2

scipy ×2

numpy ×1

optimization ×1

sympy ×1