Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/americocunhajr/cross-opt

CROSS-OPT is a Matlab package for optimizing truss structures with the Cross-Entropy method and augmented Lagrangian formulation.
https://github.com/americocunhajr/cross-opt

augmented-lagrangian cross-entropy-method nonconvex-optimization shape-optimization simulation-based-optimization size-optimization structural-mechanics structural-optimization

Last synced: 17 days ago
JSON representation

CROSS-OPT is a Matlab package for optimizing truss structures with the Cross-Entropy method and augmented Lagrangian formulation.

Awesome Lists containing this project

README

        

## Cross-Entropy Optimization for Truss Structures

**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.

### Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Usage](#usage)
- [Documentation](#documentation)
- [Reproducibility](#reproducibility)
- [Authors](#authors)
- [Citing CROSS-OPT](#citing-cross-opt)
- [License](#license)
- [Institutional support](#institutional-support)
- [Funding](#funding)

### Overview
**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.

### Features
-

### Usage
To get started with **CROSS-OPT**, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/americocunhajr/CROSS-OPT.git
```
2. Navigate to the code directory:
```bash
cd CROSS-OPT/CROSS-OPT-1.0
```
3. To optimize a structure, execute the main file corresponding to your case:
```bash
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

### Documentation
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.

### Reproducibility

Simulations done with **CROSS-OPT** are fully reproducible, as can be seen on this CodeOcean capsule.

### Authors
- Marcos Vinicius Issa
- Anderson Pereira
- Americo Cunha Jr

### Citing CROSS-OPT
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 = {~},
}
```

### License
**CROSS-OPT** is released under the MIT license. See the LICENSE file for details. All new contributions must be made under the MIT license.

### Institutional support

   

### Funding