Matlab code for topology optimization with binary design variables and sequential integer linear programming via the TOBS method.
Raghavendra Sivapuram (University of California), [email protected];
Renato Picelli (University of São Paulo), [email protected];
- Problem linearization;
- Move limits (constraints relaxation);
- Sensitivity filtering;
- Integer programming*.
*This code uses the mixed-integer linear programming solver "intlinprog" from Matlab. For better performance, we recommend the use of the CPLEX library, free to download at IBM website. After installing CPLEX, the installation path,
% Add CPLEX library.
addpath('/opt/ibm/ILOG/CPLEX_Studio1271/cplex/matlab/x86-64_linux');
addpath('/opt/ibm/ILOG/CPLEX_Studio1271/cplex/examples/src/');
and
% options.Optimizer = 'cplex';
options.Optimizer = 'intlinprog';
at TopOpt/TOBS.m must be edited.
[1] R. Sivapuram, R. Picelli, Topology optimization of binary structures using Integer Linear Programming, Finite Elements in Analysis and Design 139 (2018) 49–61
[2] R. Sivapuram, R. Picelli, Y.M. Xie, Topology optimization of binary microstructures involving various non-volume constraints, Computational Materials Science (2018) 154, 405-425
[3] R. Picelli, R. Sivapuram, Y.M. Xie, A 101-line MATLAB code for topology optimization using binary variables and integer programming, Structural and Multidisciplinary Optimization (2020)