A Design Optimization Course Layout and Syllabus
The
textbook can be used for a variety of course formats.
The template below is offerred for a typical audience
for entry graduate/advanced senior engineering students,
similar to the course Design Optimization (ME 555) that has been taught at the University of
Michigan in Ann Arbor, first introduced in 1980.
OBJECTIVE
The course aims at providing the student with a first
exposure to a rational integration of traditional
design methodologies with concepts and techniques
of modern optimization theory and practice. "Design" is defined in a broad context and students from diverse disciplines, including outside engineering, can benefit from the course. The student
learns to create appropriate mathematical optimization
models and to use analytical and computational techniques
to solve them. Availability of software analysis models, such as finite element analysis, makes possible optimization of increasingly complex designs.
CONTENT
The exposition is designed for students without prior
knowledge of optimization who wish to apply optimization
in practical design situations or who may pursue advanced
research work. The treatment of topics is mathematically
rigorous but with an emphasis on practical use.
Topics relate primarily to nonlinear
models with a finite number of variables (nonlinear
programming) including the following: mathematical
modeling for design optimization, boundedness and
monotonicity analysis of models, differential theory
and optimality conditions, numerical methods of nonlinear
programming, hierarchical system design, partitioning
and coordination, and industrial case studies. Knowledge
of basic differential calculus and linear algebra
is assumed.
COURSE WORK
There are three parts in the course work: (i) A set
of homework assignments and three in-class exams;
these are intended as aids to understanding the theoretical
content of the course; (ii) an individual project
where a design problem chosen by each student is formulated,
analyzed and solved, as a independent subsystem of the larger system; (iii) a team project where
2-4 students combine their individual subsystem design
problems into a system design synthesis. The teams for
Part (iii) are formed early on so that the individual
design projects can be selected to fit into the final
system design problem. There is no final exam other than project presenations. A typical
grade distribution can be
| Homework |
20% |
| Exams
each |
10% |
| Individual
subsystem |
30% |
| System synthesis |
20% |
The project grading can be based on the model's originality
and on the successful application of the course theory
for design optimization model analysis, numerical
solution, and interpretation of results.
An
alternative is to omit Part III above in order to
simplify project work or to de-emphasize team work.
For large classes a single project can be assigned
to a group, while for smaller classes the projects
can be conducted individually.
COMPUTER
REQUIREMENTS
Several state-of-the-art optimization software packages
should be available for student use in assignments and design
project work, including commercial and in-house products.
Students
are expected to program the analysis models needed to compute objective and constraint functions and to interface them with the available optimization
packages. However, students are
not typically expected to code their own optimization
algorithms, except as practice in homework. Modeling in matlab is quite common and interfacing matlab/simulink models with optimization packages is quite easy.
MATHEMATICS
BACKGROUND
The course uses mathematics from several classical
areas typically taught at the first or second year in typical engineering or scheince curricula. This mathematical knowledge is required
at a working level: the student must have a good understanding
of the concepts and techniques rather than superficial
familiarity. Mathematical understanding is needed
because design optimization is treated as a mathematical
problem that can be solved by numerical algorithms.
The problem itself (nonlinear optimization) is a very
difficult one to solve and the available techniques
(commercial codes or otherwise) can fail to give an
answer or, worse, give an answer that is wrong. A
deeper knowledge of the mathematical reasoning behind
the algorithms is important for two reasons: one,
so that the design engineer can formulate a problem
is a way that some of the potential difficulties are
alleviated; two, so that when numerical results are
generated, proper interpretation can be given to them
and steps taken to achieve solution robustness.
Although some of math concepts can be reviewed in
the course, lack of familiarity will increase the
student’s workload, at least the first few weeks
of the course. However, this knowledge is what will
distinguish an informed user from a casual one (who
may get wrong answers and not even know it).
The main mathematical concepts needed are as follows.
| Vector
Calculus and Linear Algebra |
| |
Vector
addition, multiplication, dot products, euclidean
norms
Matrix addition, multiplication, product, inversion,
partition
Linear combinations, linear dependence/independence
Basis of a vector space, subspace, null space
Eigenvalues, eigenvectors
Solution of linear systems of equations |
| Sets
and Functions |
| |
Open,
closed sets, neighborhoods, sequences, limits
of sequences
Continuity and differentiability of functions
Partial derivatives, gradient vector
Taylor’s theorem |
A
brief summary of mathematical concepts needed for
the course can be obtained below.