Need help with mathematical optimization - fmincon

조회 수: 2 (최근 30일)
Swapnil Sinha
Swapnil Sinha 2020년 7월 1일
답변: Zaikun Zhang 2020년 7월 14일
I have developed a simulation code that predicts strength value for different designs. It takes in a variable (factors that define the design) and spits an output value. This code requires 4 constants that I need to find. I have few experimental datapoints, and I was hoping to use them to obtain these 4 constants.
I have experimental data for 7 different cases of inputs. I tried to obtain the constants by setting up an error function and running 'fmincon' on it to minimize the error. I did not get any output for 5 days, so I quit the program. I ran the same fmincon function for only one case. This took about 20 hours, but gave me an output. I do not get same constants when I run the code individually for these 7 different cases.
Now, I am looking for a more robust way to obtain these constants.
Each run for my code takes about 15 mins to give me a value
My code is complex and needs to be simplified/optimized, however I am currently focusing my efforrts on finding the best way to find these constants.
This is for a research work, so I would greatly appreciate suggestions/comments on standard ways to do this.

답변 (2개)

Alan Weiss
Alan Weiss 2020년 7월 2일
Your problem sounds natural for the surrogateopt solver in Global Optimization Toolbox. In particular, fmincon is a gradient-based solver, and quite frequently simulations are not as smooth as this solver wants. Also, surrogateopt can use checkpointing which can help you recover from a crash or other issue with an optimization.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

Zaikun Zhang
Zaikun Zhang 2020년 7월 14일
Your problem is a simulation-based optimization problem.
You may try PDFO ( https://www.mathworks.com/matlabcentral/fileexchange/75195-pdfo-powell-s-derivative-free-optimization-solvers ), which contains solvers particularly designed for simulation-based optimization by late Professor M. J. D. Powell ( https://en.wikipedia.org/wiki/Michael_J._D._Powell ).
See https://www.pdfo.net for more information.

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by