Sovellettu matematiikka: Optimointi ja verkkomallitLaajuus (3 op)
Tunnus: TZLM7030
Laajuus
3 op
Opetuskieli
- suomi
Vastuuhenkilö
- Pekka Varis
- Harri Varpanen
Osaamistavoitteet
Opintojakson tarkoitus
Verkkomallit ja optimointi on vaihtoehto tieto- ja viestintätekniikan sovelletun matematiikan opintojaksoksi. Tällä opintojaksolla suuntaat osaamistasi systeemitieteisiin eli operaatiotutkimukseen. Tutustut verkko-optimointimalleihin, joita käytetään aktiivisesti mm. logistiikassa ja kaupunkisuunnittelussa. Opit myös optimointiongelmien ratkaisemista ohjelmallisesti sekä verkkoalgoritmien että yleisempien lineaaristen algoritmien avulla.
Opintojakson osaamiset
EUR-ACE Tieto ja ymmärrys
- tiedot ja ymmärrys tieto- ja viestintätekniikan luonnontieteellisistä ja matemaattisista periaatteista
- tiedot ja ymmärrys oman erikoistumisalan perustana olevista insinööritieteistä sillä tasolla, joka mahdollistaa muiden ohjelman tulosten saavuttamisen mukaan lukien käsityksen tulevaisuuden vaatimuksista omalla alalla
EUR-ACE Tekniikan soveltaminen käytäntöön
- ymmärrys soveltuvista tekniikoista ja menetelmistä sekä niiden rajoituksista
Opintojakson osaamistavoite
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Sisältö
Suunnattu ja suuntaamaton verkko. Verkon väritys, aikataulutusongelmat. Minimaalinen virittäjäpuu, lyhin reitti. Virtausverkot sovelluksineen. Lineaarinen optimointi. Epälineaarisen optimoinnin alkeita. Valittuja algoritmeja.
Esitietovaatimukset
Ohjelmoinnin perusosaaminen
Arviointikriteeri, hyväksytty/hylätty
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Enrollment
18.11.2024 - 09.01.2025
Timing
10.03.2025 - 30.04.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
-
TTV23S2Tieto- ja viestintätekniikka (AMK)
-
TTV23S3Tieto- ja viestintätekniikka (AMK)
-
TTV23S5Tieto- ja viestintätekniikka (AMK)
-
TTV23SMTieto- ja viestintätekniikka (AMK)
-
TTV23S1Tieto- ja viestintätekniikka (AMK)
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.
Location and time
Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2025
Oppimateriaali ja suositeltava kirjallisuus
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
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
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.
Qualifications
Ohjelmoinnin perusosaaminen
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
-
TTV23S2Tieto- ja viestintätekniikka (AMK)
-
TTV23S3Tieto- ja viestintätekniikka (AMK)
-
TTV23S5Tieto- ja viestintätekniikka (AMK)
-
TTV23SMTieto- ja viestintätekniikka (AMK)
-
TTV23S1Tieto- ja viestintätekniikka (AMK)
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.
Location and time
Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2025
Oppimateriaali ja suositeltava kirjallisuus
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
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
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.
Qualifications
Ohjelmoinnin perusosaaminen
Ilmoittautumisaika
01.08.2024 - 22.08.2024
Ajoitus
21.10.2024 - 18.12.2024
Opintopistemäärä
3 op
Toteutustapa
Lähiopetus
Yksikkö
Teknologiayksikkö
Toimipiste
Lutakon kampus
Opetuskielet
- Suomi
Paikat
0 - 35
Koulutus
- Tieto- ja viestintätekniikka (AMK)
Opettaja
- Harri Varpanen
Ryhmät
-
TTV23S2Tieto- ja viestintätekniikka (AMK)
-
TTV23S3Tieto- ja viestintätekniikka (AMK)
-
TTV23S5Tieto- ja viestintätekniikka (AMK)
-
TTV23SMTieto- ja viestintätekniikka (AMK)
-
TTV23S1Tieto- ja viestintätekniikka (AMK)
Tavoitteet
Opintojakson tarkoitus
Verkkomallit ja optimointi on vaihtoehto tieto- ja viestintätekniikan sovelletun matematiikan opintojaksoksi. Tällä opintojaksolla suuntaat osaamistasi systeemitieteisiin eli operaatiotutkimukseen. Tutustut verkko-optimointimalleihin, joita käytetään aktiivisesti mm. logistiikassa ja kaupunkisuunnittelussa. Opit myös optimointiongelmien ratkaisemista ohjelmallisesti sekä verkkoalgoritmien että yleisempien lineaaristen algoritmien avulla.
Opintojakson osaamiset
EUR-ACE Tieto ja ymmärrys
- tiedot ja ymmärrys tieto- ja viestintätekniikan luonnontieteellisistä ja matemaattisista periaatteista
- tiedot ja ymmärrys oman erikoistumisalan perustana olevista insinööritieteistä sillä tasolla, joka mahdollistaa muiden ohjelman tulosten saavuttamisen mukaan lukien käsityksen tulevaisuuden vaatimuksista omalla alalla
EUR-ACE Tekniikan soveltaminen käytäntöön
- ymmärrys soveltuvista tekniikoista ja menetelmistä sekä niiden rajoituksista
Opintojakson osaamistavoite
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Sisältö
Suunnattu ja suuntaamaton verkko. Verkon väritys, aikataulutusongelmat. Minimaalinen virittäjäpuu, lyhin reitti. Virtausverkot sovelluksineen. Lineaarinen optimointi. Epälineaarisen optimoinnin alkeita. Valittuja algoritmeja.
Aika ja paikka
Dynamolla (Teams-tallennus).
Opetusmenetelmät
Viikoittain luentoja ja harjoituksia.
Kurssi suoritetaan tekemällä viikoittaisia harjoituksia (lähinnä python) ja vertaisarvioimalla muiden suorituksia. Kaikkien harjoitusten suorittaminen on pakollista kurssin läpäisemiseksi. Lisäksi on Exam-loppukoe.
Käytämme networkx python -kirjastoa. Student.labranet.jamk.fi-palvelimelle on asennettu toimiva python-ympäristö, jonka tekemiseen voidaan käyttää vain SSH-yhteyttä.
Sisällön jaksotus
Kuusi viikkoa:
1. Perusteet ja orientaatio
2. Verkon läpikäynti, minimaalinen virittäjäpuu
3. Lyhin polku
4. Aikataulutus ja väritykset
5. Maksimivirtaus minimikustannuksin
6. Maksimivirtaus minimikustannuksin & lineaarinen optimointi.
Lisätietoja opiskelijoille
Aikaisempaa python-kokemusta ei vaadita, mutta se on hyödyksi. Sama pätee Linux basics -kokemukseen (työskentelemme student-palvelimella).
Tarkemmista kurssikokouksista sovitaan kurssin ensimmäisen viikon aikana.
Arviointiasteikko
0-5
Arviointikriteeri, hyväksytty/hylätty
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Esitietovaatimukset
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
-
TTV22S5Tieto- ja viestintätekniikka (AMK)
-
TTV22S2Tieto- ja viestintätekniikka (AMK)
-
TTV22S3Tieto- ja viestintätekniikka (AMK)
-
TTV22S1Tieto- ja viestintätekniikka (AMK)
-
TTV22SM2Tieto- ja viestintätekniikka (AMK)
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.
Location and time
Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2023
Oppimateriaali ja suositeltava kirjallisuus
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
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
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.
Qualifications
Ohjelmoinnin perusosaaminen
Ilmoittautumisaika
01.08.2023 - 24.08.2023
Ajoitus
23.10.2023 - 19.12.2023
Opintopistemäärä
3 op
Toteutustapa
Lähiopetus
Yksikkö
Teknologiayksikkö
Toimipiste
Lutakon kampus
Opetuskielet
- Suomi
Paikat
20 - 35
Koulutus
- Tieto- ja viestintätekniikka (AMK)
Opettaja
- Harri Varpanen
Ryhmät
-
TTV22S5Tieto- ja viestintätekniikka (AMK)
-
TTV22S2Tieto- ja viestintätekniikka (AMK)
-
TTV22S3Tieto- ja viestintätekniikka (AMK)
-
TTV22S1Tieto- ja viestintätekniikka (AMK)
Tavoitteet
Opintojakson tarkoitus
Verkkomallit ja optimointi on vaihtoehto tieto- ja viestintätekniikan sovelletun matematiikan opintojaksoksi. Tällä opintojaksolla suuntaat osaamistasi systeemitieteisiin eli operaatiotutkimukseen. Tutustut verkko-optimointimalleihin, joita käytetään aktiivisesti mm. logistiikassa ja kaupunkisuunnittelussa. Opit myös optimointiongelmien ratkaisemista ohjelmallisesti sekä verkkoalgoritmien että yleisempien lineaaristen algoritmien avulla.
Opintojakson osaamiset
EUR-ACE Tieto ja ymmärrys
- tiedot ja ymmärrys tieto- ja viestintätekniikan luonnontieteellisistä ja matemaattisista periaatteista
- tiedot ja ymmärrys oman erikoistumisalan perustana olevista insinööritieteistä sillä tasolla, joka mahdollistaa muiden ohjelman tulosten saavuttamisen mukaan lukien käsityksen tulevaisuuden vaatimuksista omalla alalla
EUR-ACE Tekniikan soveltaminen käytäntöön
- ymmärrys soveltuvista tekniikoista ja menetelmistä sekä niiden rajoituksista
Opintojakson osaamistavoite
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Sisältö
Suunnattu ja suuntaamaton verkko. Verkon väritys, aikataulutusongelmat. Minimaalinen virittäjäpuu, lyhin reitti. Virtausverkot sovelluksineen. Lineaarinen optimointi. Epälineaarisen optimoinnin alkeita. Valittuja algoritmeja.
Aika ja paikka
Dynamolla (Teams-tallennus).
Opetusmenetelmät
Viikoittain luentoja ja harjoituksia.
Kurssi suoritetaan tekemällä viikoittaisia harjoituksia (lähinnä python) ja vertaisarvioimalla muiden suorituksia. Kaikkien harjoitusten suorittaminen on pakollista kurssin läpäisemiseksi. Lisäksi on Exam-loppukoe.
Käytämme networkx python -kirjastoa. Student.labranet.jamk.fi-palvelimelle on asennettu toimiva python-ympäristö, jonka tekemiseen voidaan käyttää vain SSH-yhteyttä.
Sisällön jaksotus
Kuusi viikkoa:
1. Perusteet ja orientaatio
2. Verkon läpikäynti, minimaalinen virittäjäpuu
3. Lyhin polku
4. Aikataulutus ja väritykset
5. Maksimivirtaus minimikustannuksin
6. Maksimivirtaus minimikustannuksin & lineaarinen optimointi.
Lisätietoja opiskelijoille
Aikaisempaa python-kokemusta ei vaadita, mutta se on hyödyksi. Sama pätee Linux basics -kokemukseen (työskentelemme student-palvelimella).
Tarkemmista kurssikokouksista sovitaan kurssin ensimmäisen viikon aikana.
Arviointiasteikko
0-5
Arviointikriteeri, hyväksytty/hylätty
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Esitietovaatimukset
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
-
TTV21S3Tieto- ja viestintätekniikka (AMK)
-
TTV21S5Tieto- ja viestintätekniikka (AMK)
-
TTV21SMTieto- ja viestintätekniikka (AMK)
-
TTV21S2Tieto- ja viestintätekniikka (AMK)
-
TTV21S1Tieto- ja viestintätekniikka (AMK)
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.
Location and time
Teaching in Dynamo (with Teams broadcast & recording), Jan-Feb 2023
Oppimateriaali ja suositeltava kirjallisuus
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
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
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.
Qualifications
Ohjelmoinnin perusosaaminen
Ilmoittautumisaika
01.11.2021 - 09.01.2022
Ajoitus
10.01.2022 - 25.02.2022
Opintopistemäärä
3 op
Virtuaaliosuus
2 op
Toteutustapa
34 % Lähiopetus, 66 % Verkko-opetus
Yksikkö
Teknologiayksikkö
Toimipiste
Lutakon kampus
Opetuskielet
- Suomi
Paikat
0 - 35
Koulutus
- Tieto- ja viestintätekniikka (AMK)
Opettaja
- Harri Varpanen
Ryhmät
-
TTV20S5Tieto- ja viestintätekniikka
-
TTV20S3Tieto- ja viestintätekniikka
-
TTV20S2Tieto- ja viestintätekniikka
-
TTV20S1Tieto- ja viestintätekniikka
Tavoitteet
Opintojakson tarkoitus
Verkkomallit ja optimointi on vaihtoehto tieto- ja viestintätekniikan sovelletun matematiikan opintojaksoksi. Tällä opintojaksolla suuntaat osaamistasi systeemitieteisiin eli operaatiotutkimukseen. Tutustut verkko-optimointimalleihin, joita käytetään aktiivisesti mm. logistiikassa ja kaupunkisuunnittelussa. Opit myös optimointiongelmien ratkaisemista ohjelmallisesti sekä verkkoalgoritmien että yleisempien lineaaristen algoritmien avulla.
Opintojakson osaamiset
EUR-ACE Tieto ja ymmärrys
- tiedot ja ymmärrys tieto- ja viestintätekniikan luonnontieteellisistä ja matemaattisista periaatteista
- tiedot ja ymmärrys oman erikoistumisalan perustana olevista insinööritieteistä sillä tasolla, joka mahdollistaa muiden ohjelman tulosten saavuttamisen mukaan lukien käsityksen tulevaisuuden vaatimuksista omalla alalla
EUR-ACE Tekniikan soveltaminen käytäntöön
- ymmärrys soveltuvista tekniikoista ja menetelmistä sekä niiden rajoituksista
Opintojakson osaamistavoite
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Sisältö
Suunnattu ja suuntaamaton verkko. Verkon väritys, aikataulutusongelmat. Minimaalinen virittäjäpuu, lyhin reitti. Virtausverkot sovelluksineen. Lineaarinen optimointi. Epälineaarisen optimoinnin alkeita. Valittuja algoritmeja.
Oppimateriaali ja suositeltava kirjallisuus
Opettaja antaa materiaalit opintojakson alussa / aikana.
Opetusmenetelmät
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.
Opiskelijan ajankäyttö ja kuormitus
Ohjaukset 30h, itsenäinen työskentely 51h.
Arviointiasteikko
Hyväksytty/Hylätty
Arviointikriteeri, hyväksytty/hylätty
Tunnet verkkoihin liittyvät peruskäsitteet. Osaat käsitellä verkkoja ohjelmallisesti ja ajaa verkoille optimointialgoritmeja. Ymmärrät alkeellisten verkkoalgoritmien toimintaperiaatteet. Kykenet muotoilemaan lineaarisen optimointiongelman ohjelmallisesti ja etsiä sille ratkaisun. Ymmärrät optimoinnin yleisen periaatteen ja olet tutustunut joihinkin epälineaarisiin optiointiongelmiin.
Esitietovaatimukset
Ohjelmoinnin perusosaaminen