如何解决茱莉亚有可变参数的分布吗?
有什么方法可以将静态分布用于目标函数和约束?如果是这样,哪种求解器最适合对其进行优化? 感谢您的帮助:)。
sig=0.86;
@variable(ALT,k>=0);
@variable(ALT,i>=0);
@constraint(ALT,c1,400*cdf(Normal(0,1),-k)<=1);
f=(1-cdf(Normal(0,k-sig*sqrt(i))+cdf(Normal(0,-k-sig*sqrt(i)));
@objective(ALT,Min,f);
status=solve(ALT); ```
解决方法
使用用户定义的函数:https://jump.dev/JuMP.jl/v0.21.1/nlp/#User-defined-Functions-1
using JuMP,Distributions,Ipopt
f(x) = cdf(Normal(0,1),x)
model = Model(Ipopt.Optimizer)
JuMP.register(model,:f,1,f; autodiff = true)
@variable(model,k >= 0)
@variable(model,i >= 0)
@NLconstraint(model,f(-k) <= 1)
@NLobjective(model,Min,1 - f(k - sqrt(i)) + f(-k - sqrt(i)))
optimize!(model)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。