Particleswarm connection to parallel workers
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
When 'UseParallel' is set to true for particleswarm optimization, it seems that the optimizer needs to be 'Connected to parallel workers' quickly enough by obtaining a value for the objective function for each worker or particle. Otherwise I've been getting the error:
Error Caused by:
Error using fcnvectorizer
Function to evaluate must be represented as a string scalar, character vector, or function_handle object.
Failure in user-supplied fitness function evaluation. GA cannot continue.)
Is there a way to increase that time for all parallel workers to be connected for objective functions that take a long time to evaluate?
1 Kommentar
Sam Marshalik
am 6 Sep. 2023
@ss_19, When the optimization is run in parallel there is some data transfer that needs to occur to send data from the MATLAB client to the parallel process workers. I have not seen a scenario where that data transfer has caused failures like this.
Can you include the code you are running to generate this error?
Does this error occur when you run it in serial? If there is an issue with the transfer component, you can try using parpool("Threads", NumWorkers) to start thread based workers, which should not need to transfer any data between the MATLAB client and the workers.
Antworten (0)
Siehe auch
Kategorien
Mehr zu Optimization Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!