exhaustive search algorithm Consept

2 views (last 30 days)
Nourhan Elsayed
Nourhan Elsayed on 26 Oct 2020
Commented: Nourhan Elsayed on 29 Oct 2020
Dear all
i am doing an optimization model for a system, and i want to find the optimum for different system configurations. then i has to run the optimization prblem several times each time with different parameters and then compare the results of each run to get out the optimum.
i have done this through for loop. it works very well and very fast. and then code compare the result of each loop resuslt. my question is
since, the outer for loop passes every group of new parameters to the inner fmincon optimization problem, with reference to the concept of exhaustive search algorithm, is my method concidered as exhaustive search methode,

Answers (2)

Tarunbir Gambhir
Tarunbir Gambhir on 29 Oct 2020
It depends on if you are optimising your model using every possible parameter value with all the combinations among different parameters. If you are sure that your program feeds in all the possible combinations of model parameters, then yes it can be considered as an exhaustive search method.
  2 Comments
John D'Errico
John D'Errico on 29 Oct 2020
Note that fmincon is the optimizer used.
Nourhan Elsayed
Nourhan Elsayed on 29 Oct 2020
fmincon is used for differnt variables and different function inside the for loop

Sign in to comment.


John D'Errico
John D'Errico on 29 Oct 2020
The method you are using is comonly called a multi-start method. It is generally NOT an exhaustive search, although that depends on the optimizations performed and the parameter space involved.
If your parameter space is a continuous one and you do not have known bounds on the derivatives of your function, then in fact it can be proven that no search method on such a problem can be exhaustive.
If your problem has only discrete variables on a finite sample space, then yes, your scheme MAY be considered to be exhaustive, if it truly fully searches the sample space. But even for a discrete problem, what you are doing can fail to exhaustively search the space. However, since I read from your question that you are using fmincon, and since fmincon cannot handle discrete variables, then no, your search is NOT an exhaustive search.
  1 Comment
Nourhan Elsayed
Nourhan Elsayed on 29 Oct 2020
Ok, Thank You John D'Errico for your reply. i am using fmicon for other parameters different from the variables involved in the for loop. for example
F1 = F(x1, x2)
F2 = f( y1 , y2, y3, y4, x1, x2)
x1 and x2 are system parameters and they can be any value from a specefic set
so, [x1 x2] belongs to {[1 1], [1 2], [2 1], [2 2]} and cannot be any number outside this set.
F2 is to be optimized by changing "y" for a fixed "x" value. by another word, for every set of [x1 x2] , the seconf function is optimized to find optimum y using fmincon. and that to be repeated for all possible values of x . so i make a for loop to choose x from a defined set and , inside the for loop, run fmincon solver for F2.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!