Vous êtes sur la page 1sur 1

Structural optimization with Python

Jacobo Díaz
Universidade da Coruña - jdiaz@udc.es

1. Course overview
This course introduces optimization techniques to engineering students, including linear programming, un-
constrained and constrained methods, in the context of structural engineering. Python is the programming
language used to implement the optimization algorithms and solve the practical problems. The students receive
a solid background of the most used and reliable algorithms for each type of optimization problem and the
emphasis is placed in the practical application of the methods.
This course can be delivered in eight lectures of 55 minutes each. Lecture notes are at disposal of students
before the class. Students are supposed to have their own laptops. All the software required for the course is
distributed with an open source license. Students are instructed to download and install the software in their
laptops, so they can follow the lectures conveniently and solve practical problems with Python code.

2. Course schedule
1. Introduction to engineering optimization (1 hour): Historical development. Formulation of an opti-
mization problem: objective function, design variables and design constraints. Classification of optimization
problems. Optimization in engineering. Optimization methods.
2. Introduction to Python for engineering (2 hours): Introduction. Basic syntax. Operators. Data
types and structures. Flow control. Encapsulation: Functions and modules. Input and output. NumPy:
Arrays, Array creation, Array properties, Array operations, Linear algebra. SciPy: Integration, Interpola-
tion, Optimization and root finding, Linear algebra, Statistics. Matplotlib: XY plots, Histograms, Contour
plots, 3D plots.
3. Linear programming (1 hour): Introduction. Linear problems in engineering. Linear programming
methods, Simplex method: General formulation, Standard form of a linear problem, Basic solutions, Two-
phase Simplex method. Duality. Linear programming with Python.
4. Unconstrained optimization (2 hours): Introduction. One-dimensional minimization. Interpolation
methods. Direct search methods: Random search, Powell’s method of conjugate directions. Gradient-
based methods: Steepest descent method, Conjugate gradient method of Fletcher – Reeves, Newton’s
method, Variable metric method of Broyden – Fletcher – Goldfarb – Shanno. Test functions. Unconstrained
optimization with Python.
5. Constrained optimization (2 hours): Introduction. Indirect methods: Exterior and interior penalty
function methods. Direct methods: Sequential linear programming, Zoutendijk’s method of feasible direc-
tions, Sequential quadratic programming. Constrained optimization with Python.

3. Short CV
Dr. Jacobo Díaz is associate professor of structural mechanics at the Universidade da Coruña (Spain), where
he teaches courses on finite element analysis, optimum design of structures and mechanics of plates and shells.
His research interests are in structural and multidisciplinary design optimization, design for crashworthiness,
structural adhesives and reliability analysis methods. As a researcher, he is coauthor of more than 50 publi-
cations, including 16 articles in peer-reviewed scientific journals and one USPTO patent assigned to Airbus
Operations. He has worked in several research projects funded by spanish goverment and has participated in
the FP7 MAAXIMUS project, a joint EU-project with 57 partners and a budget of 67 M€. He maintains regular
collaborations with industry and has worked for Airbus Spain in the A380, A340, A350 and A30X programmes.
He has been visiting professor at TU Delft (Aerospace Structures and Materials Department) where he wor-
ked in the analysis and design of composite materials with non-conventional architectures. Dr. Díaz is Senior
Member of the American Institute of Aeronautics and Astronautics (AIAA) and serves as a regular reviewer
for scientific journals and conferences.

Vous aimerez peut-être aussi