julia 中有可变参数的分布吗?
is there distributions with variable parameters in julia?
有没有什么方法可以将静态分布用于 objective 函数和约束?如果是这样,哪些求解器适合优化它们?
感谢您的热心帮助:).
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,1),k-sig*sqrt(i))+cdf(Normal(0,1),-k-sig*sqrt(i)));
@objective(ALT,Min,f);
status=solve(ALT); ```
使用user-defined函数: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)
有没有什么方法可以将静态分布用于 objective 函数和约束?如果是这样,哪些求解器适合优化它们? 感谢您的热心帮助:).
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,1),k-sig*sqrt(i))+cdf(Normal(0,1),-k-sig*sqrt(i)));
@objective(ALT,Min,f);
status=solve(ALT); ```
使用user-defined函数: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)