0

この多目的問題の理想的なベクトルを計算する必要があります。@objective の functs_BK1() の 1 番目と 2 番目の関数にアクセスする方法がわかりません。すべてを動的にしてn関数をサポートする方法はありますか?

using JuMP
using Ipopt


function functs_BK1(x::Vector)
    f = zeros(2)
    f[1] = x[1]^2 + x[2]^2
    f[2] = (x[1]-5.0)^2 + (x[2]-5.0)^2

    return f
end

function bounds_BK1()
    return ([-5.0;-5.0],[10.0;10.0])
end


m = Model(solver=IpoptSolver(print_level=0))
@variable(m, x[i=1:2])

@NLexpression(m, F1, functs_BK1()[1]) #<--- Problem is here
@NLexpression(m, F2, functs_BK1()[2]) #<--- here

@constraint(m, x .>= bounds_BK1()[1])
@constraint(m, x .<= bounds_BK1()[2])
s=solve(m)
4

1 に答える 1