Hi all,
I’m trying to optimize MIU and S (mitigation and savings) for a small variation of MimiDICE2013. But I only know how to optimize one parameter, in the following way:
using BlackBoxOptim
m_opt = GreenDICE
function eval_dice(x)
set_param!(m_opt,:emissions,:MIU,x)
run(m_opt)
return -m_opt[:welfare, :UTILITY]
end
res = bboptimize(eval_dice;SearchRange=(0.,1.), NumDimensions=60, Method=:adaptive_de_rand_1_bin_radiuslimited,MaxSteps=99999)
best_candidate(res) # optimal vector of miu emissions trajectories
When I try to add the second parameter bboptimize won’t work:
function eval_dice(x)
m = x[:,1]
s = x[:,2]
set_param!(m_opt,:emissions,:MIU,m)
set_param!(m_opt,:neteconomy,:S,s)
run(m_opt)
return -m_opt[:welfare, :UTILITY]
end
res = bboptimize(eval_dice;SearchRange=(0.,1.), NumDimensions=[2,60], Method=:adaptive_de_rand_1_bin_radiuslimited,MaxSteps=99999)
I get this error:
ERROR: MethodError: no method matching fill(::Tuple{Float64,Float64}, ::Array{Int64,1})
Closest candidates are:
fill(::Any, ::Union{Integer, AbstractUnitRange}...) at array.jl:401
fill(::Any, ::Tuple{}) at array.jl:404
fill(::Any, ::Tuple{Vararg{Integer,N}}) where N at array.jl:403
...
Stacktrace:
[1] symmetric_search_space(::Array{Int64,1}, ::Tuple{Float64,Float64}) at C:\Users\bastien\.julia\packages\BlackBoxOptim\RgNEa\src\search_space.jl:109
[2] check_and_create_search_space(::DictChain{Symbol,Any}) at C:\Users\bastien\.julia\packages\BlackBoxOptim\RgNEa\src\default_parameters.jl:64
[3] setup_problem(::Function, ::DictChain{Symbol,Any}) at C:\Users\bastien\.julia\packages\BlackBoxOptim\RgNEa\src\bboptimize.jl:27
[4] #bbsetup#73(::Base.Iterators.Pairs{Symbol,Any,NTuple{4,Symbol},NamedTuple{(:SearchRange, :NumDimensions, :Method, :MaxSteps),Tuple{Tuple{Float64,Float64},Array{Int64,1},Symbol,Int64}}}, ::Function, ::Function, ::Dict{Symbol,Any}) at C:\Users\bastien\.julia\packkages\BlackBoxOptim\RgNEa\src\bboptimize.jl:86
[5] #bbsetup at .\none:0 [inlined]
[6] #bboptimize#72(::Base.Iterators.Pairs{Symbol,Any,NTuple{4,Symbol},NamedTuple{(:SearchRange, :NumDimensions, :Method, :MaxSteps),,Tuple{Tuple{Float64,Float64},Array{Int64,1},Symbol,Int64}}}, ::Function, ::Function, ::Dict{Symbol,Any}) at C:\Users\bastien\.juliap\packages\BlackBoxOptim\RgNEa\src\bboptimize.jl:69
[7] #bboptimize at .\none:0 [inlined] (repeats 2 times)
[8] top-level scope at none:0
Thanks in advance for your help!