how to pass multiple values of x to objective function in GA / Patternsearch
Show older comments
I'm looking for ways to speed up the computation of my optimisation process. I've already used the PROFILE command to pinpoint bottlenecks in my code and have optimised the code to a point that I am happy with.
Unfortunately, the biggest chunk of time in the optimisation process occurs within the objective function which runs Finite Element solvers.
After discussing this at length with the support team of my FE package, I learned that their software has built in efficiencies for running solvers and is capable of running multiple solves at once.
Is there some way that I can force the GA and Patternsearch to pass an array of values for x into the objective function and accept a vector of objective function values?
For example, say x is a vector of length 20 (representing FE model parameters) and my FE solver is able to solve 8 FE models simultaneously. Can I get the GA and Patternsearch to chunk their outputs of x into an array of 8 rows and 20 columns, then accept a vector of length 8 as the objective function values?
I am guessing that, if this is possible, I would need to ensure that my GA population was a multiple of 8 and, likewise the number of polling points in the Patternsearch would also have to be a multiple of 8.
Any idea if this is possible? Btw, I'm already using Parallel Computing, so please don't suggest that I use Parallel Computing.
Accepted Answer
More Answers (0)
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!