(CE En-Me En) Optimization Techniques in Engineering

(CE En-Me En) Optimization Techniques in Engineering
Application of computational optimization techniques to constrained engineering design. Theory and application of gradient-based and gradient-free algorithms for unconstrained and constrained nonlinear problems. Robust design methods.
CE EN
575
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesMATH 302; or MATH 313; C, C++, or similar computer language.
 TaughtWinter
 ProgramsContaining CE EN 575
Course Outcomes

Define and Use Optimization Terminology and Concepts

Define and use optimization terminology and concepts, and understand how to classify an optimization problem.

Application of Optimization Methods to Engineering Problems

Apply optimization methods to engineering problems, including developing a model, defining an optimization problem, applying optimization methods, exploring the solution, and interpreting results. Students will demonstrate the ability to choose and justify optimization techniques that are appropriate for solving realistic engineering problems.

Unconstrained Optimization Theory for Continuous Problems

Understand and apply unconstrained optimization theory for continuous problems, including the necessary and sufficient optimality conditions and algorithms such as: steepest descent, Newton's method, conjugate gradient, and quasi-Newton methods.

Computing Derivatives for Gradient-based Optimization

Understand and apply methods for computing derivatives such as: finite differencing, symbolic differentiation, complex step, algorithmic differentiation, and analytic methods (direct and adjoint).

Gradient-free and Discrete Optimization Algorithms

Understand and apply gradient-free and discrete optimization algorithms such as: genetic algorithms, particle swarm optimization, branch and bound, exhaustive search, and simulated annealing.

Constrained Optimization Theory for Continuous Problems

Understand and apply constrained optimization theory for continuous problems, including the Karush-Kuhn-Tucker conditions and algorithms such as: generalized reduced gradient, sequential quadratic programming, and interior-point methods.

Determining a Robust Design

Apply optimization techniques to determine a robust design.

Optimization Software

Be able to implement basic optimization algorithms in a computational setting and apply existing optimization software packages to solve engineering problems.