This code is designed for solving the truss optimization problem with continuous design variables via quasi-Newton gradient methods. The problem firstly make gradient check to adapt the quasi-Newton gradient method to truss optimization problem. Then solve it using MATLAB fmincon tool.
Changelog:
- Refactor (Objective Function): Stripped the penalty term from truss_objective.m. The function now returns the pure "Raw Weight," allowing fmincon to handle constraints natively via truss_constraints.m (nonlcon).
- Feature (History Logging): Implemented a "Best-So-Far" (monotonic) filter in the fmincon_capture_penalized_history function. This prevents the logging of high-penalty (infeasible) spikes during the line-search process, resulting in a cleaner convergence graph.
- Fix (3D FEM Analysis): Corrected the Degree of Freedom (DOF) mapping and the B-matrix size in truss_analysis_and_sensitivity.m to correctly support 3D truss structures (3 DOFs per node).
- Improvement (Reporting): The script now manually calculates the "Penalized Weight" (W⋅(1+P)^2 for the final output, ensuring that QN results are directly comparable to GA results in the FeasibilityPerformance.txt report.
引用格式
ibrahim aydogdu (2025). Quasi-Newton method for truss optimization problem. (https://ww2.mathworks.cn/matlabcentral/fileexchange/182261-quasi-newton-method-for-truss-optimization-problem), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
创建方式
R2025b
兼容任何版本
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!