Large-scale Mathematical Optimization
(INF580 -- Optimisation mathématique à large échelle)
2nd trimester 2023/2024 (jan-mar)
News (chronological order)
Teaching Material
Teacher
Timetable
240313 wed 14-1815 INF580
240308 fri 14-1815 INF580
240301 fri 14-1815 INF580
240216 fri 14-1815 INF580
240209 fri 14-1815 INF580
240202 fri 14-1815 INF580
240126 fri 14-1815 INF580
240119 fri 14-1815 INF580
240112 fri 14-1815 INF580
Every "teaching slot" will be composed by 2h lectures (fri 14-16) in and 2h of computer practice (fri 1615-1815)
Exam: either project (in pairs) on a topic agreed with me, or oral
- AMPL is A Mathematical Programming
Language. Optimization problems coded in AMPL look very close to their corresponding mathematical formulation.
- Each problem instance is coded in AMPL using three files: a model file (extension .mod), a data file (extension .dat) and a run file (extension .run).
- The model file contains the mathematical formulation of the problem.
- The data file contains the numerical values of the problem parameters. Different data files for the same model file correspond to different instances of the same optimization problem.
- The run file specifies the solution algorithm. This may be implemented in an external numerical solver, such as CPLEX, or coded by the user in the AMPL language itself. We will often use a combination of the two.
- Although AMPL is a commercial software, various limited editions of AMPL can be downloaded for free here.
- An unlimited version of AMPL for this course, with a dynamic license limited to May 15th 2024, can be obtained here. "Dynamic license" means you need to be connected to the internet to use it. Network-free teaching bundles can also be obtained for Linux, MacOS, Windows, but without the hassle-free installer.
- AMPL is natively a command-line tool, which makes it easy to use it as part of a "pipe" command (this is a Unix command-line trick that pipes the output of a command into the input of another: it achieves a sequential algorithm without any loops). Although there is also a bare graphical user interface to use AMPL, I do not advise you to use it. It is more productive to use AMPL with a command line. Its own program files (.mod, .dat, .run) can be written using a normal text editor (nowadays, however, AMPL people advise students to use Python+AMPL on Google Co-lab: use the license UUID bf5b5ed2-ea35-4373-8776-1ab021939a37 when prompted).
More resources about mathematical programming and OR
The slides from an old course I gave at X until 2010 (INF572)
The exercise book from INF572
Other useful links