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.