Quasi-Newton method for truss optimization problem.

版本 2.0.0 (24.3 KB) 作者: ibrahim aydogdu
This code is designed for solving the truss optimization problem with continuous design variables via quasi-Newton gradient methods.
13.0 次下载
更新时间 2025/12/17

查看许可证

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!
版本 已发布 发行说明
2.0.0

This update refines the interaction between fmincon and the objective function, fixes 3D FEM formulation details, and improves the convergence history logging to prevent infeasible spikes.

1.0.0