Beniamin BOGOSEL
Optimization Techniques
Aurel Vlaicu University, Arad
The course will explore various optimization problems and their associated numerical implementation. The contents are as follows:
- Discrete Optimization: basic notions, Optimal Assignment, minimal weight paths in graphs.
- Derivative-free algorithms in 1D
- Algorithms using derivatives in 1D
- Gradient descent in 1D
- Gradient descent in higher dimensions
- Newton and quasi-Newton methods
- Stochastic gradient methods
- Algorithms used in machine learning
- Genetic algorithms
Idei pentru proiecte: fisier pdf
Course materials will be given: slides, pdfs for exercises, Python codes for the lab. It is recommended to install the Jupyter Notebook framework for running the Python codes. Installation instructions can be found online and will be discussed during the first labs.
Course materials
- First part: discrete optimization
- Course slides: pdf
- Code Intro: Jupyter Notebook file (right click, save as)
- Code Opt Assignment: Jupyter Notebook file
- Code Dijkstra: Jupyter Notebook file
- Note Curs: Curs 2
- Note Curs: Curs 3
- Part 2: optimization in 1D
- Course slides: pdf
- Notebook: Trisection algorithm
- Notebook (for Lab): Fibonacci search
- Notebook (for Lab): Golden search
- Note Curs: Curs 4
- Genetic Optimization
- Course slides: pdf
- Notebook Exemplu genetic 1D: Genetic Algorithm
- Aproximare folosind parabole (Newton, Secanta)
- Slides: vezi cursul 2
- Exercitii laborator:Exercitii
- Notebook: Implementare Metoda Newton: Notebook Newton
- Notebook: Implementare Goldstein Price: Notebook Goldstein Price
-
Metoda Gradientului, dimensiune 1, dimensiune N
- Slides: pdf
- Notebook: Notebook Python
- Exercitii: pdf
-
Metoda Gauss-Newton: minimizarea unei sume de patrate
- Slides: vezi cursul precedent
- Notebook Gauss Newton (triangulatie, aplicatii): Notebook Python
- Notebook Population: Notebook Python
- Metode quasi-Newton, gradient conjugat
Note de curs