How to change patternsearch options for paretosearch algorithm?

I need to change the options for patternsearch like the 'MeshExpansionFactor' for the paretosearch algorithm. How can i acheive that using optimoptions.
My Code:
oldoptions = optimoptions('patternsearch', 'MeshExpansionFactor', 4.0)
options = optimoptions('paretosearch', 'ParetoSetSize', 500, oldoptions)
[x, fval, exitflag, output] = paretosearch(fun, nvars, [], [], Aeq, beq, lb, ub, [], options);
Error:
Error using optimoptions (line 108)
Invalid option name specified. Provide a character vector or scalar string (such as 'Display').
A list of options can be found on the PARETOSEARCH documentation page.
Error in optimizationn (line 19)
options = optimoptions('paretosearch', 'ParetoSetSize', 500, oldoptions)

 Réponse acceptée

Alan Weiss
Alan Weiss le 5 Août 2020
Did you look in the documentation of options for paretosearch? It states clearly that MeshExpansionFactor is for patternsearch only.
Obviously, this is not your real problem, it is just your way of addressing your problem. Since the easiest way of addressing your problem is not supported, perhaps you will tell us what you are really trying to do and maybe we will have some alternate suggestions.
Alan Weiss
MATLAB mathematical toolbox documentation

5 commentaires

Hello Alan, thanks for answering the question. I saw that the MeshExpansionFactor is for patternsearch only.
But what I understand from the paretosearch algorithm is that it uses patternsearch method to search iteratively for non-dominated points. In the patternsearch method you have the intial point and uses the mesh size to produce a mesh of points around the initial point. Every time you find a non-dominated point then you double your mesh size. Every time you don't find a non-dominated point then you half the mesh size. This process goes on until you reach the mesh tolerance.
If I am right about the above paragrah, Could I be able to change the MeshExpansionFactor that the patternsearch method uses inside the paretosearch algorithm.
If I am not right about the above paragraph then please let me where i am wrong and ignore the question.
If you want to rewrite your own version of paretosearch for some reason, feel free. I mean, paretosearch does not do what you want it to do, so you are free to write a version of the solver yourself.
I still don't understand what the problem is you are trying to address. You are just talking about a technique that might address your problem. But what is the problem? Do you want faster iterations? Convergence to a different sort of Pareto set? What is the problem?
Alan Weiss
MATLAB mathematical toolbox documentation
The main problem I want to solve is to make the paretosearch algorithm give me a Pareto-Optimal Front faster. For that I have been doing different things like chaging my tolerances (MeshTolerance, ParetoSetChangeTolerance) and decreasing the problem's dimensional space, etc. Some of the questions i still have are:
1) How can I make my iterations faster?
2) For a given initial point how can i converge faster, i.e. reach a mesh size of MeshTolerance?
Perhaps you would have luck giving an initial population using the InitialPoints option. I don't think that there is anything that you can do to make the iterations faster other than rewriting the solver yourself. But if you give a good initial set of points it might be possible that the algorithm will converge faster. I don't know what a good initial set of points might be, but perhaps you have some idea based on your experiments so far.
It is also possible that you can stop the iterations early using an output function and then use fgoalattain to finish the iterations, along the lines of this example (see Run fgoalattain Manually from paretosearch Solution Points).
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
I will try the example and see how it works. Thank you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by