Large Scale Optimization

Základní informace

  • Název: Large Scale Optimization: Exact Methods (NOPT059)
  • Předmět bude vyučován v českém nebo anglickém jazyce podle zájmu studentů.
  • Výuka bude probíhat v letním semestru 2022/23.
  • Rozvrh: Přednáška ve čtvrtek od 12:20 a cvičení v úterý od 14:00 na chodbě S301 na Malé Straně
  • Přednášející: Jakub Bulín

Cíle předmětu

Cílem předmětu je porozumění principů různých optimalizačních metod použitelných na velké instance pocházejících z praxe. Exaktní metody:
  • Lineární programování, dualita, komplementarita
  • Celočíselné lineární programování, větvení a mezí
  • Řezné nadroviny, generování podmínek
  • Generování sloupců, Dantzig-Wolve dekompozice
  • Lagrange relaxace
  • Vícekriteriální optimalizace, Pareto optimalita

Zápočet

Pokud se stávající situace výrazně nezmění, bude zápočet udělen za domácí úkoly, jejichž zadání najdete v gitu.

Gurobi

Gurobi is a solver (not only) for solving integer linear programming problems which we will use in the course. Although it is a commercial software, it provides an academic licence for free. For our course, it is sufficient to install Guroby's Python API.

Minimalistic instalation guide

  • Install Python package gurobipy
  • Fill the Academic License Registration and wait for their response
  • Download and unpack Licence tools
  • From the unpacked file run a program grbgetkey. The exact grbgetkey command to run for a specific license is indicated at the bottom of the License Details page (e.g., grbgetkey 253e22f3-...). Warning: Please make sure you are connected to your university network. If you are validating a home machine, use VPN or SSH to the university.
You can install complete Gurobi optimizer software with other useful tools, but their usage is not necessary in our course. The following links may be useful to install Gurobi. The following links may be useful to learn how to use Gurobi API in Python.