【发布时间】:2018-07-16 18:53:11
【问题描述】:
我的问题是,使用下面的函数,我怎样才能在数值上找到 USL 和 LSL 的优化值,以便函数 Pythag 的返回值处于全局最小值(即 Pythag 的梯度 == 0),而不知何故绑定 Cp 和 Cpk,使 Cp 返回值 2,Cpk 返回值 1.5。(Cp==2 和 Cpk==1.5)
import numpy as np
import matplotlib.pyplot as plt
def Cp(USL,LSL,s):
return (USL-LSL)/(6*s)
def Cpk(USL,LSL,mean,sd):
return min((USL-mu)/(3*s),(mu-LSL)/(3*s))
def Pythag(USL,LSL):
return np.sqrt(np.square(USL)+np.square(LSL))
#This code below is for practice data
x = np.linspace(0,100,101)
y = np.random.random(101)
sd = np.std(y)
mu = np.mean(y)
如果需要进一步说明,请告诉我。 感谢您的问题 Rory,我在上面添加了一些关键更改,因此问题更有意义。类似问题的其他答案不够充分的原因是我很难将它们与 Cpk 函数的 min 参数集成。
【问题讨论】:
-
你试过什么?例如,您是否在“最小化 Python”或“优化 Python”上进行过网络搜索?如果是这样,为什么结果不适合您?有什么特别不明白的地方吗?此外,您要求最小化
Pythag,但该函数不调用Cp或Cpk,那么这些函数和代码底部四行的目的是什么?现在,Pythag的最小值在USL=0和LSL=0。
标签: python numpy optimization calculus