Home

Mikael Zayenz Lagerkvist

Welcome to my personal website. I am a researcher specializing in constraint programming, combinatorial optimization, and game tree search. My work explores efficient algorithms for solving complex decision problems, particularly in the context of board games and AI systems.

Feel free to explore my research page for a comprehensive list of my publications, or check out my blog for more informal discussions and insights into my work.

Recent Updates

  • Blog Post9 min read

    Processing MLIR with Zirium

    A small question about an MLIR file can require a surprising amount of machinery to answer. What uses this value? Which operations contribute to a particular return value? Did a compiler pass change the dataflow, or merely rename a few values? Text tools are convenient, but following those relationships requires more than matching operation names.

    The Zirium wordmark with an orange outlined Zi monogram
  • Blog Post8 min read

    zdev 1.0: yet another agentic loop, this one is mine

    When I use coding agents for work larger than a single patch, the coding harness usually handles each activity well. It can explore the repository, compare designs, implement a task, and review the result. The awkward part is keeping the work coherent between sessions. There are many systems for running agentic loops. I have built one too.

    The zdev task loop from exploration through implementation, verification, and completion
  • Blog Post20 min read

    From constraint models to playable puzzle games

    I wanted to play some puzzles produced by my constraint-programming experiments. That small wish grew into nine games.

    An in-progress square Zip puzzle with a colourful path connecting numbered cells
  • Blog Post7 min read

    Gecode 6.3.0 and 6.4.0 are released

    After a long pause, Gecode has two new releases. Gecode 6.3.0 is dated 7 July 2026, and Gecode 6.4.0 followed on 15 July.

    Gecode logo
  • Blog Post7 min read

    Propagating the minimum distance between selected points

    Selecting well-spaced points is easy to state mathematically, but the straightforward CP model creates a distance variable for every selected pair. My ModRef 2026 paper [*Propagation Algorithms for the Minimum-Distance Constraint over Selected

    Eight candidate sites with five selected sites connected by their closest distances
  • Blog Post4 min read

    Table Talk Tuning

    Martin Butler and I needed to arrange the tables for a real wedding. Our ModRef 2026 paper No More Awkward Silences with Table Talk Tuning describes the MiniZinc model we built for that problem. A seating plan can satisfy every capacity and grouping request and still leave someone with little to talk about.

    Supported conversation topics and their scores for a table of wedding guests
  • Blog Post3 min read

    What happens when Sudoku scales?

    There is now a public collection of 434,201 generated Sudoku instances, ranging from 6×6 to 36×36. The paper describes how the collection was generated, and its experiments provide a map for navigating it.

    Propagation-based Sudoku hardness categories from 6×6 through 36×36

Skills & Expertise

Research Areas

  • Constraint Programming
  • Combinatorial Optimization
  • Game Tree Search
  • Board Game AI
  • Machine Learning Applications

Technical Skills

  • Algorithm Design & Analysis
  • Optimization and scheduling
  • Python, C++, Java, TypeScript
  • Large Language Models and Neural Network Architectures
  • Software Engineering

Contact

Feel free to reach out to me at fromweb@zayenz.se