Skip to main content

Applied mathematics: Optimization and Network ModelsLaajuus (3 cr)

Code: TZLM7030

Credits

3 op

Teaching language

  • Finnish

Responsible person

  • Pekka Varis
  • Harri Varpanen

Objective

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Qualifications

Ohjelmoinnin perusosaaminen

Assessment criteria, approved/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Enrollment

18.11.2024 - 09.01.2025

Timing

13.01.2025 - 07.03.2025

Number of ECTS credits allocated

3 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV23S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV23SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Time and location

Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2025

Learning materials and recommended literature

Ahuja, Magnanti, Orlin. Network Flows. Theory, Algorithms, and Applications. Prentice-Hall 1993.

See also:
https://coral.ise.lehigh.edu/~ted/teaching/ie411/
https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b

Teaching methods

Weekly lectures and exercise sessions.

The course is completed by doing the weekly exercises (mostly python) and by peer-reviewing exercises done by the other students. Completing all the exercises is mandatory in order to pass the course.

We use the networkx python library. A working python environment is installed on the student.labranet.jamk.fi server, and one can use just an SSH connection in order to do all the work.

Content scheduling

Six weeks:

1. Basics & course orientation
2. Network traversals, minimal spanning trees
3. Shortest paths
4. Scheduling via graph coloring
5. Min cost flow
6. More min cost flow.

Further information for students

No previous python experience is required, but the general process of editing and running computer code should be familiar from before.

More specific course conventions will be negotiated during the first week of the course.

Evaluation scale

0-5

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen

Enrollment

01.08.2024 - 22.08.2024

Timing

21.10.2024 - 18.12.2024

Number of ECTS credits allocated

3 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • Finnish
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV23S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV23SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV23S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Time and location

Teaching in Dynamo (with Teams broadcast & recording).

Learning materials and recommended literature

Ahuja, Magnanti, Orlin. Network Flows. Theory, Algorithms, and Applications. Prentice-Hall 1993.

See also:
https://coral.ise.lehigh.edu/~ted/teaching/ie411/
https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b

Teaching methods

Weekly lectures and exercise sessions.

The course is completed by doing the weekly exercises (mostly python) and by peer-reviewing exercises done by the other students. Completing all the exercises is mandatory in order to pass the course. In addition, there is a final exam in the Exam system.

We use the networkx python library. A working python environment is installed on the student.labranet.jamk.fi server, and one can use just an SSH connection in order to do all the work.

Content scheduling

Six weeks:

1. Basics & course orientation
2. Network traversals, minimal spanning trees
3. Shortest paths
4. Scheduling via graph coloring
5. Min cost flow
6. More min cost flow.

Further information for students

No previous python experience is required, but the general process of editing and running computer code should be familiar from before.

More specific course conventions will be negotiated during the first week of the course.

Evaluation scale

0-5

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen

Enrollment

20.11.2023 - 04.01.2024

Timing

08.01.2024 - 23.02.2024

Number of ECTS credits allocated

3 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV22S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S1
    Tieto- ja viestintätekniikka (AMK)
  • TTV22SM2
    Tieto- ja viestintätekniikka (AMK)

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Time and location

Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2023

Learning materials and recommended literature

Ahuja, Magnanti, Orlin. Network Flows. Theory, Algorithms, and Applications. Prentice-Hall 1993.

See also:
https://coral.ise.lehigh.edu/~ted/teaching/ie411/
https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b

Teaching methods

Weekly lectures and exercise sessions.

The course is completed by doing the weekly exercises (mostly python) and by peer-reviewing exercises done by the other students. Completing all the exercises is mandatory in order to pass the course.

We use the networkx python library. A working python environment is installed on the student.labranet.jamk.fi server, and one can use just an SSH connection in order to do all the work.

Content scheduling

Six weeks:

1. Basics & course orientation
2. Network traversals, minimal spanning trees
3. Shortest paths
4. Scheduling via graph coloring
5. Min cost flow
6. More min cost flow.

Further information for students

No previous python experience is required, but the general process of editing and running computer code should be familiar from before.

More specific course conventions will be negotiated during the first week of the course.

Evaluation scale

0-5

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen

Enrollment

01.08.2023 - 24.08.2023

Timing

23.10.2023 - 19.12.2023

Number of ECTS credits allocated

3 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • Finnish
Seats

20 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV22S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Time and location

Teaching in Dynamo (with Teams broadcast & recording).

Learning materials and recommended literature

Ahuja, Magnanti, Orlin. Network Flows. Theory, Algorithms, and Applications. Prentice-Hall 1993.

See also:
https://coral.ise.lehigh.edu/~ted/teaching/ie411/
https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b

Teaching methods

Weekly lectures and exercise sessions.

The course is completed by doing the weekly exercises (mostly python) and by peer-reviewing exercises done by the other students. Completing all the exercises is mandatory in order to pass the course. In addition, there is a final exam in the Exam system.

We use the networkx python library. A working python environment is installed on the student.labranet.jamk.fi server, and one can use just an SSH connection in order to do all the work.

Content scheduling

Six weeks:

1. Basics & course orientation
2. Network traversals, minimal spanning trees
3. Shortest paths
4. Scheduling via graph coloring
5. Min cost flow
6. More min cost flow.

Further information for students

No previous python experience is required, but the general process of editing and running computer code should be familiar from before.

More specific course conventions will be negotiated during the first week of the course.

Evaluation scale

0-5

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen

Enrollment

01.11.2022 - 05.01.2023

Timing

09.01.2023 - 24.02.2023

Number of ECTS credits allocated

3 op

Virtual portion

2 op

Mode of delivery

34 % Face-to-face, 66 % Online learning

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV21SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Time and location

Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2023

Learning materials and recommended literature

Ahuja, Magnanti, Orlin. Network Flows. Theory, Algorithms, and Applications. Prentice-Hall 1993.

See also:
https://coral.ise.lehigh.edu/~ted/teaching/ie411/
https://towardsdatascience.com/graph-theory-and-deep-learning-know-hows-6556b0e9891b

Teaching methods

Weekly lectures and exercise sessions.

The course is completed by doing the weekly exercises (mostly python) and by peer-reviewing exercises done by the other students. Completing all the exercises is mandatory in order to pass the course.

We use the networkx python library. A working python environment is installed on the student.labranet.jamk.fi server, and one can use just an SSH connection in order to do all the work.

Content scheduling

Six weeks:

1. Basics & course orientation
2. Network traversals, minimal spanning trees
3. Shortest paths
4. Scheduling via graph coloring
5. Min cost flow
6. More min cost flow.

Further information for students

No previous python experience is required, but the general process of editing and running computer code should be familiar from before.

More specific course conventions will be negotiated during the first week of the course.

Evaluation scale

0-5

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen

Enrollment

01.11.2021 - 09.01.2022

Timing

10.01.2022 - 25.02.2022

Number of ECTS credits allocated

3 op

Virtual portion

2 op

Mode of delivery

34 % Face-to-face, 66 % Online learning

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • Finnish
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Harri Varpanen
Groups
  • TTV20S5
    Tieto- ja viestintätekniikka
  • TTV20S3
    Tieto- ja viestintätekniikka
  • TTV20S2
    Tieto- ja viestintätekniikka
  • TTV20S1
    Tieto- ja viestintätekniikka

Objectives

Course objective

Network models and optimization is one of the alternatives for the applied mathematics courses of information and communication technology. In this course, you will focus your knowledge in systems sciences, i.e. operations research. You will learn about network optimization models that are actively used, e.g. in logistics and urban planning. You will also learn how to solve optimization problems programmatically using both network algorithms and more general linear algorithms.

Competences

EUR-ACE Knowledge and Understanding
- knowledge and understanding of natural scientific and mathematical principles in ICT
- knowledge and understanding of the own specialization field in engineering sciences at a level that enables achieving the other program outcomes including an understanding of requirements in your own field.

EUR-ACE Engineering Practice
- knowledge about the linear techniques and their limitations

Learning outcomes

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Content

Directed and undirected graph. Graph coloring, scheduling problems. Minimal spanning tree, shortest path. Flow networks with applications. Linear optimization. Examples of non-linear optimization. Selected algorithms.

Learning materials and recommended literature

Opettaja antaa materiaalit opintojakson alussa / aikana.

Teaching methods

Luennot ja ohjaukset alkuviikosta luokassa, loppuviikosta Zoomissa (samat asiat kuin alkuviikosta, tallennetaan).

Viikoittaiset tehtävät, palautetaan kirjallisesti.

Lopputesti.

Läpäisykriteerit: kaikki tehtävät hyväksytysti palautettu, lopputesti läpäisty.

Python-koodia ja student-palvelinta käytetään havainnollistamaan algoritmeja. Aiempaa python-kokemusta ei tarvita.

Student workload

Ohjaukset 30h, itsenäinen työskentely 51h.

Evaluation scale

Pass/Fail

Evaluation criteria, pass/failed

You know the basic concepts related to networks. You know how to process networks programmatically and how to run optimization algorithms for networks. You understand how the elementary network algorithms work. You are able to formulate a linear optimization problem programmatically and find a solution for it. You understand the general principle of optimization and have familiarized yourself with some non-linear optimization problems.

Prerequisites

Ohjelmoinnin perusosaaminen