Julia'da değişken parametreli dağılımlar var mı?

Aug 18 2020

Statik dağılımların amaç işlevi ve kısıtlamalar için kullanılmasının herhangi bir yolu var mı? eğer öyleyse, bunları optimize etmek için hangi çözücüler uygundur? Nazik yardımınız için teşekkür ederim:).

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);    ```

Yanıtlar

3 OscarDowson Aug 18 2020 at 12:08

Kullanıcı tanımlı bir işlev kullanın: 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)