CROSS-OPT: Cross-Entropy Optimization for Truss Structures is a Matlab package that implements a framework for size and shape structural optimization of truss systems. The package leverages the Cross-Entropy (CE) method for global search optimization and employs an augmented Lagrangian formulation to handle equality and inequality constraints. With some straightforward adaptations, the CROSS-OPT strategy can also be applied to other structural systems and optimization problems.
CROSS-OPT uses as optimization tool the package CEopt - Cross-Entropy Optimizer, which can be downloaded at https://ceopt.org.
- Overview
- Features
- Usage
- Documentation
- Reproducibility
- Authors
- Citing CROSS-OPT
- License
- Institutional support
- Funding
CROSS-OPT was developed to solve nonconvex optimization problems involving truss structures. The underlying results are reported in the following publication: More details are in the following paper:
- M. V. Issa, A. Pereira and A. Cunha Jr, The cross-entropy method for nonconvex structural optimization, 2024 (under review)
Preprint available here.
To get started with CROSS-OPT, follow these steps:
- Clone the repository:
git clone https://github.com/americocunhajr/CROSS-OPT.git
- Navigate to the code directory:
cd CROSS-OPT/CROSS-OPT-1.0
- To optimize a structure, execute the main file corresponding to your case:
Main_TrussNbars_ObjFuncType_ConstraintType_Solver
This package includes the following files:
- CEopt -- Cross-entropy solver
- Main_Truss10_MassMin_YieldStress_CE.m -- Mass minimization with yield stress constraints for a 10 bars truss using CE
- Main_Truss10_MassMin_YieldStress_GA.m -- Mass minimization with yield stress constraints for a 10 bars truss using GA
- Main_Truss10_MassMin_YieldStress_SPQ.m -- Mass minimization with yield stress constraints for a 10 bars truss using SQP
- Main_Truss10_MassMin_YieldStress_BoxPlot.m -- BoxPlot for mass minimization with yield stress constraints for a 10 bars truss
- Main_Truss10_MassMin_FrequencyBounds_CE.m -- Mass minimization with frequency constraints for a 10 bars truss using CE
- Main_Truss10_MassMin_FrequencyBounds_GA.m -- Mass minimization with frequency constraints for a 10 bars truss using GA
- Main_Truss10_MassMin_FrequencyBounds_SQP.m -- Mass minimization with frequency constraints for a 10 bars truss using SQP
- Main_Truss10_MassMin_FrequencyBounds_BoxPlot.m -- BoxPlot for mass minimization with frequency constraints for a 10 bars truss
- Main_Truss37_MassMin_FrequencyBounds_CE.m -- Mass minimization with frequency constraints for a 37 bars truss using CE
- Main_Truss37_MassMin_FrequencyBounds_GA.m -- Mass minimization with frequency constraints for a 37 bars truss using GA
- Main_Truss37_MassMin_FrequencyBounds_SQP.m -- Mass minimization with frequency constraints for a 37 bars truss using SQP
- Main_Truss37_MassMin_FrequencyBounds_BoxPlot.m -- BoxPlot for mass minimization with frequency constraints for a 37 bars truss
The routines in CROSS-OPT are well-commented to explain their functionality. Each routine includes a description of its purpose, as well as inputs and outputs.
Simulations done with CROSS-OPT are fully reproducible, as can be seen on this CodeOcean capsule.
- Marcos Vinicius Issa
- Anderson Pereira
- Americo Cunha Jr
We ask the code users to cite the following manuscript in any publications reporting work done with our code:
- M. V. Issa, A. Pereira and A. Cunha Jr, The cross-entropy method for nonconvex structural optimization, 2024 (under review)
@article{Issa2024CROSS-OPT,
author = {M. V. Issa and A. Pereira and A {Cunha~Jr}},
title = {The cross-entropy method for nonconvex structural optimization},
journal = {Under Review},
year = {2024},
volume = {~},
pages = {~},
doi = {~},
}
CROSS-OPT is released under the MIT license. See the LICENSE file for details. All new contributions must be made under the MIT license.