Closed daveweisberg closed 1 year ago
For the time being can you try this:
@everywhere function my_workflow(ini::FUSE.ParametersInits, act::FUSE.ParametersActors)
dd = FUSE.init(ini, act)
FUSE.ActorWholeFacility(dd, act)
return dd
end
state = FUSE.workflow_multiobjective_optimization(ini, act, my_workflow, objective_functions, constraint_functions; optimization_parameters...);
Thanks for the fast reply @orso82 ! Unfortunately, this just returns the same Heuristics error as above:
MethodError: no method matching Metaheuristics.Problem(::FUSE.var"#672#675"{String, FUSE.ParametersInits{Float64}, FUSE.ParametersActors{Float64}, typeof(my_workflow), Vector{FUSE.ObjectiveFunction}, Vector{FUSE.ConstraintFunction}, ProgressMeter.Progress}, ::LinearAlgebra.Adjoint{Any, Matrix{Any}}; parallel_evaluation=true)
Closest candidates are:
Metaheuristics.Problem(::Function, ::S, ::Int64, ::Bool) where S at [~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:9](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:9) got unsupported keyword argument "parallel_evaluation"
Metaheuristics.Problem(::Function, ::Tuple{AbstractVector, AbstractVector}; kargs...) at [~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:50](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:50)
Metaheuristics.Problem(::Function, ::Matrix{Bool}; kargs...) at [~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:46](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/core/structures.jl:46)
...
Stacktrace:
[1] _before_optimization!(f::Function, search_space::LinearAlgebra.Adjoint{Any, Matrix{Any}}, method::Metaheuristics.Algorithm{Metaheuristics.SPEA2}, logger::Metaheuristics.var"#153#155")
@ Metaheuristics [~/.julia/packages/Metaheuristics/wLOSa/src/optimize/before.jl:7](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/optimize/before.jl:7)
[2] optimize(f::Function, search_space::LinearAlgebra.Adjoint{Any, Matrix{Any}}, method::Metaheuristics.Algorithm{Metaheuristics.SPEA2}; logger::Function)
@ Metaheuristics [~/.julia/packages/Metaheuristics/wLOSa/src/optimize/optimize.jl:49](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/optimize/optimize.jl:49)
[3] optimize(f::Function, search_space::LinearAlgebra.Adjoint{Any, Matrix{Any}}, method::Metaheuristics.Algorithm{Metaheuristics.SPEA2})
@ Metaheuristics [~/.julia/packages/Metaheuristics/wLOSa/src/optimize/optimize.jl:42](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/~/.julia/packages/Metaheuristics/wLOSa/src/optimize/optimize.jl:42)
[4] macro expansion
@ [./timing.jl:262](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/home/weisbergd/julia_dev/FUSE/playground/weisberg_FPP_opt/timing.jl:262) [inlined]
[5] workflow_multiobjective_optimization(ini::FUSE.ParametersInits{Float64}, act::FUSE.ParametersActors{Float64}, actor_or_workflow::typeof(my_workflow), objectives_functions::Vector{FUSE.ObjectiveFunction}, constraints_functions::Vector{FUSE.ConstraintFunction}; N::Int64, iterations::Int64, continue_state::Missing, save_folder::String)
@ FUSE [/fusion/ga/projects/ird/ptp/weisbergd/julia/dev/FUSE/src/workflows/optimization_workflow.jl:105](https://vscode-remote+ssh-002dremote-002bomegae.vscode-resource.vscode-cdn.net/fusion/ga/projects/ird/ptp/weisbergd/julia/dev/FUSE/src/workflows/optimization_workflow.jl:105)
[6] top-level scope
@ In[10]:27
@orso82 Update: the full run-through actually works with this fix, thanks! Not sure why my simplified test script failed with that Heuristic error, but probably due to the some issue with the worker nodes.
I should be good for now!
This error is preventing me from running any multiobjective optimizations! My guess is that it may be a result of developments made at last week's hackathon, but I'm not sure.
Running the
workflow_multiobjective_optimization
function inoptimization_workflow.jl
yields the following MethodError:If I edit the
workflow_multiobjective_optimization
function so thatactor_or_workflow
does not have a pre-assigned type, then this error no longer occurs. However, a new error in theMetaheuristics
package appears: