Difference between revisions of "MSc: Computational Intelligence"
R.sirgalina (talk | contribs) |
|||
(8 intermediate revisions by 2 users not shown) | |||
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:AnalyticGeometryAndLinearAlgebraI CSE202 — Analytical Geometry and Linear Algebra I] |
||
+ | * CSE202 — Analytical Geometry and Linear Algebra I |
||
− | * [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraII 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 === |
||
− | 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 Linear algebra |
||
+ | == Course Topics == |
||
+ | {| 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? === |
||
+ | 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 === |
− | |||
− | === - What should a student remember at the end of the course? === |
||
− | |||
− | By the end of the course, the students should be able to outline: |
||
+ | ==== 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 47: | 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. |
||
− | === |
+ | ==== 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 66: | Line 93: | ||
* PSO 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 ... |
||
− | |||
− | 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 77: | 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 |
+ | === 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 & 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 & |
+ | * Konar, A., 2006. Computational intelligence: principles, techniques and applications. Springer Science & Business Media. |
− | == |
+ | === 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''' |
||
− | + | == 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 == |
||
− | === |
+ | === Ongoing performance assessment === |
− | ==== Section |
+ | ==== 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
Section | Topics within the section |
---|---|
Introduction to optimization methods |
|
Convex Optimization. |
|
Global Optimization |
|
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
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
- 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.
- Which non-linear algorithms can solve problems with non-convex domains?
The retake exam
Section 1
Section 2
Section 3