Large Scale Optimization

Základní informace

  • Název: Large Scale Optimization (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 zimním semestru 2021/22.
  • Rozvrh: Pokud máte, tak mi prosím napište vaše časové preference.
  • 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
Hybridní meta-heuristiky
  • Lokální prohledávání, Hill climbing, simulované žíhání
  • Populační metody, např. Genetické algoritmy
  • Řešení úloh pomocí redukce velikosti instance
  • Hybridní metody: Lamarckian vs. Baldwinian, příklady
  • Náhradní modely
  • Aplikace, např. v oblastech logistiky a plánování

Zápočet

Pokud se stávající nejistá situace výrazně nezmění, bude zápočet udělen za domácí úkoly, jejichž zadání najdete v gitu. Přesné podmínky budou odrážet aktuální vývoj situace.

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.