Optimize the constant by minimizing the error whit no direct relation

2 views (last 30 days)
I want to find the optimised value for the three constant C1, C2, C3 by minimising the error of ErFEM.
I run an ABAQUS job; in the first job, I define C1, C2, C3, and the ABAQUS generates a result, let's name it FEMresutl.
I subtract the FEMresult from the gold standard, and the final result is ErFEM.
ErFEM should become less than 50um by optimising C1, C2, C3.
However, there is no direct relation between the ErFEM and C1, C2, and C3.
How can I write an optimisation code that optimises the C1, C2, C3 by minimising the ErFEM?
Thanks

Answers (1)

Zuber Khan
Zuber Khan on 17 Jul 2024
Hi,
In order to optimize the constants C1, C2, and C3 by minimizing the error (ErFEM), you can use optimization techniques available in MATLAB. Specifically, you can use the "fmincon" function, which is designed for constrained nonlinear optimization.
One possible approach to set up and solve this optimization problem can be as follows:
1) Define the Objective Function: This function should run the ABAQUS job with the given constants C1, C2, and C3, obtain the, 'FEMresult', compute the 'ErFEM', and return it as the objective to be minimized.
2) Set Up the Optimization Problem: Use "fmincon" to minimize the objective function with respect to C1, C2, and C3, subject to terminating condition of ErFEM < 50 um.
3) Run the Optimization: Execute the optimization and obtain the optimized values for C1, C2, and C3.
Without the exact mathematical equations involved, it is difficult to write the optimization code. However, you can refer to the following documentation link related to "fmincon" solver to get started:
I will also recommend you to look at the following documentation for various methods to solve non-linear optimization problems in MATLAB:
I hope it will help.
Regards,
Zuber

Community Treasure Hunt

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

Start Hunting!