High number of variables optimization

15 views (last 30 days)
Radhouane khlissa
Radhouane khlissa on 20 Apr 2011
Hello I'm working on structure optimization of magnetic actuator. I need to calculate the surface of recoverment of 2 surfaces using a numerical method (done). I need also to optimize this surface, I m using fmincon to optimize the density values of my elementary surfaces. The problem is that I have a high number of optimization variables ( about 400 ) and fmincon doesnt give me really an optimal result. I tried to work to adapt my objective function. The optimal for me is to have a 0/1 optimization so that I will get descrete values of densities.
My questions are : Is fmincon the best function to solve such problem ? If no, which is the 'optimal' function for high number of variables ?
Is there any tool to solve my problem with descrete variables ? with ( 2^(400)) iterations I will have to wait a year even by lunching calculations on lab server !!!
Thanks for your help !

Answers (1)

John D'Errico
John D'Errico on 20 Apr 2011
Fmincon does NOT handle 0/1 problems anyway! If you have tried some kludge where you try to use a solver like fmincon on a discrete problem, then no surprise if it failed to work well.
Fmincon is able to handle a large number of variables, however ANY solver will be poor if your starting values are terribly poor, or if you use a continuous solver on a discrete problem.
You might consider a stochastic solver. Perhaps a genetic algorithm, or any the the many others that are available. They will not give you assured convergence, but then there is no assurance anyway.
John
  2 Comments
Radhouane khlissa
Radhouane khlissa on 20 Apr 2011
Hi, I m using fmincon with CONTINEOUS values of densities for the optimization with fmincon, and then i procede to discretization under certain constraints!
I m affraid that the optimization time with a direct disrete resolution will be prohibiting. That's why i m using fmincon
Thanks anyways !
Radhouane
John D'Errico
John D'Errico on 20 Apr 2011
There is NO expectation that the use of a continuous solver, then discretizing the result will give anything of value at all. The discretized result may be arbitrarily bad. It may no longer be a feasible solution. There is a reason why discrete problems have their own solvers, but that is an expensive problem to solve. This is why stochastic solvers are often employed here.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!