Optimization and Multiagent Systems

Course

URL study guide

https://studiegids.vu.nl/en/courses/2025-2026/E_EORM_OMS

Course Objective

The course focusses on the analysis and optimization of multiagent systems (modeling large systems of agents taking independent decisions). Building on game-theoretic foundations, students learn state-of-the-art techniques to analyze such systems and to design algorithms to reduce the inefficiency caused by selfish behavior. These techniques find their applications, for example, in Traffic Routing, Network Design, Cost Sharing, Resource Allocation and Auction Design.

Course Content

equilibrium strategies of self-interested agents network routing and the price of anarchy computation and inefficiency of equilibria congestion games and cost sharing games auction theory and combinatorial auctions sponsored search auctions mechanism design and the VCG mechanism assignment and matching mechanisms without monetary transfers

Teaching Methods

Lectures and tutorials. Exercises will be issued throughout the course and students are expected to present their solutions during the tutorial sessions. In addition, students will have to hand in 1 or 2 take-home assignment(s) (which will be graded).

Method of Assessment

Final exam – Individual assessment Assignments – Group assessment

Literature

The following books contain most of the material we cover in class:Y. Shoham and K. Leyton-Brown, Multiagent Systems, Cambridge University Press, 2009.M. Bichler, Market Design. A Linear Programming Approach to Auctions and Matching, Cambridge University Press, 2017.Recommended further reading:N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani (Editors), Algorithmic Game Theory, Cambridge University Press, 2007.T. Roughgarden, Twenty Lectures on Algorithmic Game Theory, Cambridge University Press, 2016.Additional material (research papers) will be provided via Canvas

Recommended background knowledge

Students should have some background knowledge of combinatorial optimization; in particular, they should be familiar with fundamental optimization problems (shortest path, matching, flow, scheduling), algorithms and complexity (exact and approximation algorithms, P vs. NP), and linear and convex programming (duality, KKT conditions).Students should also be comfortable with implementing algorithms in Python.
Academic year1/09/2531/08/26
Course level6.00 EC

Language of Tuition

  • English

Study type

  • Master