Difference between revisions of "MSc: Computational Intelligence"

From IU
Jump to navigation Jump to search
 
Line 1: Line 1:
  +
 
= Computational intelligence =
 
= Computational intelligence =
  +
* '''Course name''': Computational intelligence
  +
* '''Code discipline''': R-02
  +
* '''Subject area''': Computer Science and Engineering
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Computational Intelligence
 
  +
This course covers the following concepts: Convex Optimization; Global Optimization; Machine Learning and function approximation.
* <span>'''Course number:'''</span> R-02
 
* <span>'''Area of instruction:'''</span> Computer Science and Engineering
 
 
== Course Characteristics ==
 
 
== What subject area does your course (discipline) belong to? ==
 
 
* Machine Learning
 
* Optimization
 
 
=== Key concepts of the class ===
 
 
* Convex Optimization
 
* Global Optimization
 
* Machine Learning and function approximation
 
 
=== What is the purpose of this course? ===
 
 
Computational Intelligence serves as a combined multidisciplinary subject, encompassing a wide range of topics. These include numeric optimization, especially convex optimization, which is the necessary and required topic for most of the modern engineering and scientific work. The course also covers global non-convex optimization methods, which are important instruments in a number of areas: product design and manufacturing, control, and others. Basic information from a number of other areas, such as machine learning, are added to complete the picture of modern intelligent computational tools that serve the same set of goals.
 
   
 
== Prerequisites ==
 
== Prerequisites ==
   
  +
=== Prerequisite subjects ===
* [https://eduwiki.innopolis.university/index.php/BSc:_Analytic_Geometry_And_Linear_Algebra_I CSE202] — Analytical Geometry and Linear Algebra I
 
  +
* CSE202 — Analytical Geometry and Linear Algebra I
* [https://eduwiki.innopolis.university/index.php/BSc:_Analytic_Geometry_And_Linear_Algebra_II CSE204] — Analytic Geometry And Linear Algebra II: SVD, least squares, pseudoinverse, semidefinite matrices, solving systems of linear eq., dot product, norms. Basic Geometry (ellipsoids, planes, normal, tangent).
 
  +
* CSE204 — Analytic Geometry And Linear Algebra II: SVD, least squares, pseudoinverse, semidefinite matrices, solving systems of linear eq., dot product, norms. Basic Geometry (ellipsoids, planes, normal, tangent).
 
* Basic multivariable Calculus (extremum and minimum of a function, derivatives, Jacobians)
 
* Basic multivariable Calculus (extremum and minimum of a function, derivatives, Jacobians)
 
* Programming (Python/Matlab)
 
* Programming (Python/Matlab)
   
  +
=== Prerequisite topics ===
== Recommendations for students on how to succeed in the course ==
 
How can students fill the gap?
 
* [https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab 3blue1brown playlist on Linear Algebra] can help to overview selected topics, or [https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/]
 
* Or any textbook on [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraI CSE202 — Analytical Geometry and Linear Algebra I], [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraII CSE204 — Analytic Geometry And Linear Algebra II]
 
   
== Course objectives based on Bloom’s taxonomy ==
 
   
  +
== Course Topics ==
=== What should a student remember at the end of the course? ===
 
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Introduction to optimization methods ||
  +
# Optimization problem types.
  +
# Constraint types.
  +
# Cost function (Reward function) types.
  +
# Practical examples of optimization problems.
  +
# Basic optimization algorithms and their limitations.
  +
# Lagrange multipliers.
  +
# Gradient descent.
  +
|-
  +
| Convex Optimization. ||
  +
# Convex sets.
  +
# Convex functions.
  +
# Convex optimization problems.
  +
# Properties of the convex optimizations.
  +
# Linear Programming
  +
# Quadratic Programming.
  +
# Second Order Cone Programming.
  +
# Semidefinite Programming.
  +
# Vertical Stability of a bipedal robot as an optimization.
  +
# Quadrotor path planning as an optimization.
  +
# Controller design as an optimization.
  +
# CVX.
  +
|-
  +
| Global Optimization ||
  +
# Properties of non-convex problems.
  +
# Problems with multiple solutions.
  +
# Problems with weak local minima.
  +
# Problems with computationally expensive gradients.
  +
# Path planning on non-convex maps.
  +
# Controller design as a non-convex problem.
  +
# Relaxations.
  +
# Mixed integer programming.
  +
# PSO.
  +
# RRT.
  +
# Genetic Algorithm.
  +
# Machine Learning.
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
   
  +
=== What is the main purpose of this course? ===
By the end of the course, the students should be able to outline:
 
  +
Computational Intelligence serves as a combined multidisciplinary subject, encompassing a wide range of topics. These include numeric optimization, especially convex optimization, which is the necessary and required topic for most of the modern engineering and scientific work. The course also covers global non-convex optimization methods, which are important instruments in a number of areas: product design and manufacturing, control, and others. Basic information from a number of other areas, such as machine learning, are added to complete the picture of modern intelligent computational tools that serve the same set of goals.
   
  +
=== ILOs defined at three levels ===
  +
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Convexity, Convex Sets, Convex optimization
 
* Convexity, Convex Sets, Convex optimization
 
* Quadratic programming, Second Order Cone Programming, Semidefinite Programming
 
* Quadratic programming, Second Order Cone Programming, Semidefinite Programming
Line 45: Line 76:
 
* Nonlinear non-convex optimization, RRT algorithm, Genetic Algorithm, Particle Swarm Optimization, Function approximation.
 
* Nonlinear non-convex optimization, RRT algorithm, Genetic Algorithm, Particle Swarm Optimization, Function approximation.
   
=== What should a student be able to understand at the end of the course? ===
+
==== Level 2: What basic practical skills should a student be able to perform? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to understand:
 
 
 
* Structure of optimization problems
 
* Structure of optimization problems
 
* Convexity criteria
 
* Convexity criteria
Line 64: Line 93:
 
* PSO implementation
 
* PSO implementation
   
=== What should a student be able to apply at the end of the course? ===
+
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to
 
 
 
* Design Control using Convex Optimization.
 
* Design Control using Convex Optimization.
 
* Implement iterative non-linear controllers with inequality constraints.
 
* Implement iterative non-linear controllers with inequality constraints.
Line 75: Line 102:
 
* make RRT-based algorithms, understand their limitations
 
* make RRT-based algorithms, understand their limitations
 
* make PSO-based algorithms, understand their limitations
 
* make PSO-based algorithms, understand their limitations
* make GA-based algorithms, understand their limitations
+
* make GA-based algorithms, understand their limitations
  +
== Grading ==
   
=== Course evaluation ===
+
=== Course grading range ===
  +
{| class="wikitable"
 
{|
+
|+
|+ Course grade breakdown
 
!align="center"|
 
!align="center"|
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
! Grade !! Range !! Description of performance
|align="center"| Labs/seminar classes
 
|align="center"| 20
 
|align="center"| 30
 
 
|-
 
|-
  +
| A. Excellent || 85-100 || -
|align="center"| Interim performance assessment
 
|align="center"| 30
 
|align="center"| 20
 
 
|-
 
|-
  +
| B. Good || 70-84 || -
|align="center"| Exams
 
  +
|-
|align="center"| 50
 
  +
| C. Satisfactory || 50-69 || -
|align="center"| 50
 
  +
|-
  +
| D. Poor || 0-49 || -
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
=== Grades range ===
 
  +
{| class="wikitable"
 
{|
+
|+
|+ Course grading range
 
!align="center"|
 
!align="center"|
 
!align="center"| '''Proposed range'''
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
|align="center"| A. Excellent
 
|align="center"| 90-100
 
|align="center"| 85-100
 
 
|-
 
|-
  +
| Labs/seminar classes || 30
|align="center"| B. Good
 
|align="center"| 75-89
 
|align="center"| 70-84
 
 
|-
 
|-
  +
| Interim performance assessment || 20
|align="center"| C. Satisfactory
 
|align="center"| 60-74
 
|align="center"| 50-69
 
 
|-
 
|-
  +
| Exams || 50
|align="center"| D. Poor
 
|align="center"| 0-59
 
|align="center"| 0-49
 
 
|}
 
|}
   
  +
=== Recommendations for students on how to succeed in the course ===
=== Resources and reference material ===
 
   
Main textbooks:
 
   
  +
== Resources, literature and reference materials ==
* Engelbrecht, A.P., 2007. Computational intelligence: an introduction. John Wiley &amp; Sons.
 
  +
  +
=== Open access resources ===
  +
* Engelbrecht, A.P., 2007. Computational intelligence: an introduction. John Wiley & Sons.
 
* Pedrycz, W., 1997. Computational intelligence: an introduction. CRC press.
 
* Pedrycz, W., 1997. Computational intelligence: an introduction. CRC press.
* Konar, A., 2006. Computational intelligence: principles, techniques and applications. Springer Science &amp; Business Media.
+
* Konar, A., 2006. Computational intelligence: principles, techniques and applications. Springer Science & Business Media.
   
== Course Sections ==
+
=== Closed access resources ===
   
The main sections of the course and approximate hour distribution between them is as follows:
 
   
  +
=== Software and tools used within the course ===
{|
 
  +
|+ Course Sections
 
  +
= Teaching Methodology: Methods, techniques, & activities =
!align="center"| '''Section'''
 
  +
! '''Section Title'''
 
!align="center"| '''Teaching Hours'''
+
== Activities and Teaching Methods ==
  +
{| class="wikitable"
  +
|+ Activities within each section
 
|-
 
|-
  +
! Learning Activities !! Section 1 !! Section 2 !! Section 3
|align="center"| 1
 
| Introduction to optimization methods
 
|align="center"| 6
 
 
|-
 
|-
  +
| Homework and group projects || 1 || 1 || 1
|align="center"| 2
 
| Convex Optimization
 
|align="center"| 6
 
 
|-
 
|-
  +
| Testing (written or computer based) || 1 || 0 || 0
|align="center"| 3
 
  +
|-
| Global Optimization
 
  +
| Reports || 1 || 1 || 1
|align="center"| 6
 
|}
+
|-
  +
| Midterm evaluation || 0 || 1 || 0
  +
|-
  +
| Discussions || 0 || 1 || 0
  +
|}
  +
== Formative Assessment and Course Activities ==
   
=== Section 1 ===
+
=== Ongoing performance assessment ===
   
==== Section title: ====
+
==== Section 1 ====
  +
{| class="wikitable"
 
  +
|+
Introduction to optimization methods
 
 
=== Topics covered in this section: ===
 
 
* Optimization problem types.
 
* Constraint types.
 
* Cost function (Reward function) types.
 
* Practical examples of optimization problems.
 
* Basic optimization algorithms and their limitations.
 
* Lagrange multipliers.
 
* Gradient descent.
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
{|
 
!align="center"|
 
!align="center"| '''Yes/No'''
 
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
|align="center"| Development of individual parts of software product code
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Describe an engineering problem as an optimization problem. || 1
|align="center"| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is the domain of an optimization problem? || 1
|align="center"| Midterm evaluation
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What is the difference between Convex and Non-convex optimization? || 1
|align="center"| Testing (written or computer based)
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Formulate a linear system with multi-dimensional solution space and inequality constraints. || 0
|align="center"| Reports
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Solve a linear system with inequality constraints via gradient descent. || 0
|align="center"| Essays
 
  +
|}
|align="center"| 0
 
  +
==== Section 2 ====
  +
{| class="wikitable"
  +
|+
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
|align="center"| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Provide examples of convex problems. || 1
|align="center"| Discussions
 
|align="center"| 0
 
|}
 
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# Describe an engineering problem as an optimization problem.
 
# What is the domain of an optimization problem?
 
# What is the difference between Convex and Non-convex optimization?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Formulate a linear system with multi-dimensional solution space and inequality constraints.
 
# Solve a linear system with inequality constraints via gradient descent.
 
 
=== Section 2 ===
 
 
==== Section title: ====
 
 
Convex Optimization.
 
 
=== Topics covered in this section: ===
 
 
* Convex sets.
 
* Convex functions.
 
* Convex optimization problems.
 
* Properties of the convex optimizations.
 
* Linear Programming
 
* Quadratic Programming.
 
* Second Order Cone Programming.
 
* Semidefinite Programming.
 
* Vertical Stability of a bipedal robot as an optimization.
 
* Quadrotor path planning as an optimization.
 
* Controller design as an optimization.
 
* CVX.
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
{|
 
!align="center"|
 
!align="center"| '''Yes/No'''
 
 
|-
 
|-
  +
| Question || What is a convex domain? || 1
|align="center"| Development of individual parts of software product code
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Examples of problems with a convex cost but non-convex domain? || 1
|align="center"| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is the difference between quadratic and conic programming? || 1
|align="center"| Midterm evaluation
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is the hierarchy of convex optimization problems? || 1
|align="center"| Testing (written or computer based)
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What solvers can solve quadratic programs? || 1
|align="center"| Reports
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What solvers can solve SOCP? || 1
|align="center"| Essays
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What solvers can solve LP? || 1
|align="center"| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What solvers can solve SDP? || 1
|align="center"| Discussions
 
  +
|-
|align="center"| 1
 
  +
| Question || What kinds of inequality constraints make the problem non-convex? || 0
|}
 
  +
|-
 
  +
| Question || What kinds of inequality constraints make the problem non-feasible? || 0
=== Typical questions for ongoing performance evaluation within this section ===
 
  +
|-
 
  +
| Question || Show an example of a problem where the cost is a 2-norm. Show that it is a SOCP. || 0
# Provide examples of convex problems.
 
  +
|-
# What is a convex domain?
 
  +
| Question || Show an example of a problem where the cost is a 2-norm. Prove that it can be equivalently solved as a QP. || 0
# Examples of problems with a convex cost but non-convex domain?
 
  +
|-
# What is the difference between quadratic and conic programming?
 
  +
| Question || Solve trajectory planning for a quadrotor as a SOCP. || 0
# What is the hierarchy of convex optimization problems?
 
# What solvers can solve quadratic programs?
 
# What solvers can solve SOCP?
 
# What solvers can solve LP?
 
# What solvers can solve SDP?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# What kinds of inequality constraints make the problem non-convex?
 
# What kinds of inequality constraints make the problem non-feasible?
 
# Show an example of a problem where the cost is a 2-norm. Show that it is a SOCP.
 
# Show an example of a problem where the cost is a 2-norm. Prove that it can be equivalently solved as a QP.
 
# Solve trajectory planning for a quadrotor as a SOCP.
 
# Solve vertical stability check for a biped as a QP.
 
# implement ZMP trajectory planning as a QP.
 
# implement LTI controller design as a SDP.
 
 
=== Section 3 ===
 
 
==== Section title: ====
 
 
Global Optimization
 
 
==== Topics covered in this section: ====
 
 
* Properties of non-convex problems.
 
* Problems with multiple solutions.
 
* Problems with weak local minima.
 
* Problems with computationally expensive gradients.
 
* Path planning on non-convex maps.
 
* Controller design as a non-convex problem.
 
* Relaxations.
 
* Mixed integer programming.
 
* PSO.
 
* RRT.
 
* Genetic Algorithm.
 
* Machine Learning.
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
{|
 
!align="center"|
 
!align="center"| '''Yes/No'''
 
 
|-
 
|-
  +
| Question || Solve vertical stability check for a biped as a QP. || 0
|align="center"| Development of individual parts of software product code
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || implement ZMP trajectory planning as a QP. || 0
|align="center"| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || implement LTI controller design as a SDP. || 0
|align="center"| Midterm evaluation
 
  +
|}
|align="center"| 0
 
  +
==== Section 3 ====
  +
{| class="wikitable"
  +
|+
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
|align="center"| Testing (written or computer based)
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Provide examples of non-convex problems? || 1
|align="center"| Reports
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Why non-convex problems can have multiple solutions? || 1
|align="center"| Essays
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What are local minima? || 1
|align="center"| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What is global optimization? || 1
|align="center"| Discussions
 
  +
|-
|align="center"| 0
 
  +
| Question || Provide an example of a non-convex path planning problems? || 1
|}
 
  +
|-
  +
| Question || What are the limitations of PSO? || 1
  +
|-
  +
| Question || Implement PSO for a parameter optimization problem. || 0
  +
|-
  +
| Question || Make a comparative study of PSO, GA and Random Search. || 0
  +
|-
  +
| Question || What is the difference between random search, Sobol sequences-based methods and PSO? Show it in the numerical examples. || 0
  +
|-
  +
| Question || Implement RRT || 0
  +
|-
  +
| Question || Implement GA || 0
  +
|}
  +
=== Final assessment ===
  +
'''Section 1'''
   
  +
'''Section 2'''
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# Provide examples of non-convex problems?
 
# Why non-convex problems can have multiple solutions?
 
# What are local minima?
 
# What is global optimization?
 
# Provide an example of a non-convex path planning problems?
 
# What are the limitations of PSO?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
# Implement PSO for a parameter optimization problem.
 
# Make a comparative study of PSO, GA and Random Search.
 
# What is the difference between random search, Sobol sequences-based methods and PSO? Show it in the numerical examples.
 
# Implement RRT
 
# Implement GA
 
 
==== Test questions for final assessment in this section ====
 
   
  +
'''Section 3'''
 
# Solve minimum distance to a plane problem, when the domain is non-convex.
 
# Solve minimum distance to a plane problem, when the domain is non-convex.
 
# Find optimal controller parameters for a given trajectory of a non-linear system.
 
# Find optimal controller parameters for a given trajectory of a non-linear system.
 
# Which non-linear algorithms can solve problems with non-convex domains?
 
# Which non-linear algorithms can solve problems with non-convex domains?
  +
  +
=== The retake exam ===
  +
'''Section 1'''
  +
  +
'''Section 2'''
  +
  +
'''Section 3'''

Latest revision as of 11:47, 29 August 2022

Computational intelligence

  • Course name: Computational intelligence
  • Code discipline: R-02
  • Subject area: Computer Science and Engineering

Short Description

This course covers the following concepts: Convex Optimization; Global Optimization; Machine Learning and function approximation.

Prerequisites

Prerequisite subjects

  • CSE202 — Analytical Geometry and Linear Algebra I
  • CSE204 — Analytic Geometry And Linear Algebra II: SVD, least squares, pseudoinverse, semidefinite matrices, solving systems of linear eq., dot product, norms. Basic Geometry (ellipsoids, planes, normal, tangent).
  • Basic multivariable Calculus (extremum and minimum of a function, derivatives, Jacobians)
  • Programming (Python/Matlab)

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Introduction to optimization methods
  1. Optimization problem types.
  2. Constraint types.
  3. Cost function (Reward function) types.
  4. Practical examples of optimization problems.
  5. Basic optimization algorithms and their limitations.
  6. Lagrange multipliers.
  7. Gradient descent.
Convex Optimization.
  1. Convex sets.
  2. Convex functions.
  3. Convex optimization problems.
  4. Properties of the convex optimizations.
  5. Linear Programming
  6. Quadratic Programming.
  7. Second Order Cone Programming.
  8. Semidefinite Programming.
  9. Vertical Stability of a bipedal robot as an optimization.
  10. Quadrotor path planning as an optimization.
  11. Controller design as an optimization.
  12. CVX.
Global Optimization
  1. Properties of non-convex problems.
  2. Problems with multiple solutions.
  3. Problems with weak local minima.
  4. Problems with computationally expensive gradients.
  5. Path planning on non-convex maps.
  6. Controller design as a non-convex problem.
  7. Relaxations.
  8. Mixed integer programming.
  9. PSO.
  10. RRT.
  11. Genetic Algorithm.
  12. Machine Learning.

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

Computational Intelligence serves as a combined multidisciplinary subject, encompassing a wide range of topics. These include numeric optimization, especially convex optimization, which is the necessary and required topic for most of the modern engineering and scientific work. The course also covers global non-convex optimization methods, which are important instruments in a number of areas: product design and manufacturing, control, and others. Basic information from a number of other areas, such as machine learning, are added to complete the picture of modern intelligent computational tools that serve the same set of goals.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Convexity, Convex Sets, Convex optimization
  • Quadratic programming, Second Order Cone Programming, Semidefinite Programming
  • Optimization in Controller design, Optimization in path planning, Optimization in Mechanical Engineering
  • Nonlinear non-convex optimization, RRT algorithm, Genetic Algorithm, Particle Swarm Optimization, Function approximation.

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • Structure of optimization problems
  • Convexity criteria
  • Properties of convex optimization
  • Types of problems that cab be transformed into Linear Programs
  • Types of problems that cab be transformed into Quadratic Programs
  • Types of problems that cab be transformed into Second Order Cone Programs
  • Types of problems that cab be transformed into Semidefinite Programs
  • Types of non-convex problems that can be approximated by a convex relaxation
  • Mixed-integer Optimization
  • Path planning as an optimization
  • Controller design as an optimization
  • Optimal parameter choice
  • RRT implementation
  • PSO implementation

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Design Control using Convex Optimization.
  • Implement iterative non-linear controllers with inequality constraints.
  • Find optimal parameter choice for processes
  • proof convexity of a problem
  • program optimization in CVX
  • make RRT-based algorithms, understand their limitations
  • make PSO-based algorithms, understand their limitations
  • make GA-based algorithms, understand their limitations

Grading

Course grading range

Grade Range Description of performance
A. Excellent 85-100 -
B. Good 70-84 -
C. Satisfactory 50-69 -
D. Poor 0-49 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 30
Interim performance assessment 20
Exams 50

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Engelbrecht, A.P., 2007. Computational intelligence: an introduction. John Wiley & Sons.
  • Pedrycz, W., 1997. Computational intelligence: an introduction. CRC press.
  • Konar, A., 2006. Computational intelligence: principles, techniques and applications. Springer Science & Business Media.

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Homework and group projects 1 1 1
Testing (written or computer based) 1 0 0
Reports 1 1 1
Midterm evaluation 0 1 0
Discussions 0 1 0

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question Describe an engineering problem as an optimization problem. 1
Question What is the domain of an optimization problem? 1
Question What is the difference between Convex and Non-convex optimization? 1
Question Formulate a linear system with multi-dimensional solution space and inequality constraints. 0
Question Solve a linear system with inequality constraints via gradient descent. 0

Section 2

Activity Type Content Is Graded?
Question Provide examples of convex problems. 1
Question What is a convex domain? 1
Question Examples of problems with a convex cost but non-convex domain? 1
Question What is the difference between quadratic and conic programming? 1
Question What is the hierarchy of convex optimization problems? 1
Question What solvers can solve quadratic programs? 1
Question What solvers can solve SOCP? 1
Question What solvers can solve LP? 1
Question What solvers can solve SDP? 1
Question What kinds of inequality constraints make the problem non-convex? 0
Question What kinds of inequality constraints make the problem non-feasible? 0
Question Show an example of a problem where the cost is a 2-norm. Show that it is a SOCP. 0
Question Show an example of a problem where the cost is a 2-norm. Prove that it can be equivalently solved as a QP. 0
Question Solve trajectory planning for a quadrotor as a SOCP. 0
Question Solve vertical stability check for a biped as a QP. 0
Question implement ZMP trajectory planning as a QP. 0
Question implement LTI controller design as a SDP. 0

Section 3

Activity Type Content Is Graded?
Question Provide examples of non-convex problems? 1
Question Why non-convex problems can have multiple solutions? 1
Question What are local minima? 1
Question What is global optimization? 1
Question Provide an example of a non-convex path planning problems? 1
Question What are the limitations of PSO? 1
Question Implement PSO for a parameter optimization problem. 0
Question Make a comparative study of PSO, GA and Random Search. 0
Question What is the difference between random search, Sobol sequences-based methods and PSO? Show it in the numerical examples. 0
Question Implement RRT 0
Question Implement GA 0

Final assessment

Section 1

Section 2

Section 3

  1. Solve minimum distance to a plane problem, when the domain is non-convex.
  2. Find optimal controller parameters for a given trajectory of a non-linear system.
  3. Which non-linear algorithms can solve problems with non-convex domains?

The retake exam

Section 1

Section 2

Section 3