High number of variables optimization

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 !

Réponses (1)

John D'Errico
John D'Errico le 20 Avr 2011

0 votes

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 commentaires

Radhouane khlissa
Radhouane khlissa le 20 Avr 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 le 20 Avr 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.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by