Skip to content

nsga2 use of StackViews only allows concrete types #126

Description

@Alessandro-Barbieri

I'm trying to use custom types in nsga2 but it fails with this error:

ERROR: LoadError: ArgumentError: Input arrays should be homogenous.
Stacktrace:
  [1] _default_eltype
    @ ~/.julia/packages/StackViews/2wEBK/src/StackViews.jl:100 [inlined]
  [2] StackViews.StackView(slices::Tuple{Vector{Int64}, Vector{NoisyFitness}}, dims::Val{1})
    @ StackViews ~/.julia/packages/StackViews/2wEBK/src/StackViews.jl:88
  [3] StackViews.StackView(slices::Tuple{Vector{Int64}, Vector{NoisyFitness}}, dims::Int64)
    @ StackViews ~/.julia/packages/StackViews/2wEBK/src/StackViews.jl:85
  [4] StackViews.StackView(::Vector{Int64}, ::Vararg{AbstractArray}; dims::Int64)
    @ StackViews ~/.julia/packages/StackViews/2wEBK/src/StackViews.jl:83
  [5] update_state!(objfun::Evolutionary.EvolutionaryObjective{…}, constraints::Evolutionary.NoConstraints, state::Evolutionary.NSGAState{…}, parents::Vector{…}, method::Evolutionary.NSGA2{…}, options::Evolutionary.Options{…}, itr::Int64)
    @ Evolutionary ~/.julia/packages/Evolutionary/65hL6/src/nsga2.jl:79
  [6] optimize(objfun::Evolutionary.EvolutionaryObjective{…}, constraints::Evolutionary.NoConstraints, method::Evolutionary.NSGA2{…}, population::Vector{…}, options::Evolutionary.Options{…}, state::Evolutionary.NSGAState{…})
    @ Evolutionary ~/.julia/packages/Evolutionary/65hL6/src/api/optimize.jl:105
  [7] optimize(objfun::Evolutionary.EvolutionaryObjective{…}, constraints::Evolutionary.NoConstraints, method::Evolutionary.NSGA2{…}, population::Vector{…}, options::Evolutionary.Options{…})
    @ Evolutionary ~/.julia/packages/Evolutionary/65hL6/src/api/optimize.jl:70
  [8] optimize(f::typeof(fitness_jl), constraints::Evolutionary.NoConstraints, method::Evolutionary.NSGA2{…}, population::Vector{…}, opts::Evolutionary.Options{…})
    @ Evolutionary ~/.julia/packages/Evolutionary/65hL6/src/api/optimize.jl:55
  [9] optimize
    @ ~/.julia/packages/Evolutionary/65hL6/src/api/optimize.jl:42 [inlined]
 [10] optimize
    @ ~/.julia/packages/Evolutionary/65hL6/src/api/optimize.jl:14 [inlined]
 [11] main()
    @ Main ~/sorgenti/magesim/wow.jl:397
 [12] top-level scope
    @ ~/sorgenti/magesim/wow.jl:516
 [13] include(fname::String)
    @ Base.MainInclude ./client.jl:489
 [14] top-level scope
    @ REPL[2]:1

with ga I can use custom types

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions