A graph convolutional network-based solver for approximating argument acceptability
SoftwareX 32, DOI: 10.1016/j.softx.2025.102434, 2025.
University of York · Computer Science
My main research interests are in discrete optimization, constraint programming, SAT and related areas of artificial intelligence. I work on modelling and solving methods for discrete optimization and constraint satisfaction problems. I am also interested in statistical inference, in particular applying discrete optimization and machine learning to statistical inference tasks.
The way in which a discrete optimization or satisfaction problem is modelled (presented to the solver) makes a huge difference to the performance of the solver, and modelling requires extensive human expertise. My research into modelling has two aspects: to generalise and automate modelling techniques used by expert modellers, and to automatically select and sequence these techniques to create high-performance models, starting with a naïve model or an abstract specification. The ultimate goal is to exceed the performance of models written by experts. As part of this research I am developing a tool called Savile Row implementing some of the ideas above, and I am collaborating on another tool named Conjure. Some aspects of both of these tools are described in papers listed below.
I am also interested in solving methods, including propagation algorithms for constraint solvers. Most of my work in this area has been implemented in the Minion solver or the Dominion constraint solver synthesizer.
If you are interested in coming to the beautiful city of York and studying for a PhD in artificial intelligence, please have a look at my PhD topics page.
SoftwareX 32, DOI: 10.1016/j.softx.2025.102434, 2025.
Journal of Artificial Intelligence Research 82, pages 1999-2056, DOI: 10.1613/jair.1.17032, 2025.
Artificial Intelligence 340:104277, DOI: 10.1016/j.artint.2024.104277, 2025.
Artificial Intelligence 336:104209, DOI: 10.1016/j.artint.2024.104209, 2024.
Constraints, Volume 29, pages 40–79, DOI: 10.1007/s10601-024-09370-x, 2024.
Constraints, Volume 28, pages 397-426, DOI: 10.1007/s10601-023-09364-1, 2023.
Artificial Intelligence 310:103751, DOI: 10.1016/j.artint.2022.103751, 2022.
Artificial Intelligence 302:103604, DOI: 10.1016/j.artint.2021.103604, 2022.
Biometrics 78:1, DOI: 10.1111/biom.13403, 2022.
IEEE Transactions on Visualization and Computer Graphics, Volume 26, Issue 8, DOI: 10.1109/TVCG.2019.2895085, 2020.
Journal of Environmental Statistics, Volume 9, Issue 2, 2019.
Theory and Practice of Logic Programming, Volume 18, Special Issue 5-6 (Special Issue on Parallel and Distributed Logic Programming), Pages 725-758, 2018.
Artificial Intelligence, Volume 251, Pages 35-61, DOI: 10.1016/j.artint.2017.07.001, 2017. Some additional results are in a technical report.
AI Communications, Volume 30, Pages 325-346, 2017.
Journal of Artificial Intelligence Research, Volume 59, Pages 815-848, 2017.
PLoS ONE 10(7): e0130326. DOI: 10.1371/journal.pone.0130326, 2015.
Journal of Integer Sequences, Volume 18 issue 6, article 15.6.5, 2015.
Artificial Intelligence, Volume 211, pages 1-33, DOI: 10.1016/j.artint.2014.03.001, 2014.
Constraints (Special issue on future directions for constraint programming), Volume 19, pages 163-173, DOI: 10.1007/s10601-014-9158-6, 2014.
Journal of Artificial Intelligence Research, Volume 46, pages 1-45, 2013.
Artificial Intelligence, Volume 175 issue 2, pages 586-614, DOI: 10.1016/j.artint.2010.10.005, 2011.
Artificial Intelligence, Volume 174, pages 1407-1429, 2010.
Constraints, Volume 14, pages 539-581, 2009.
Artificial Intelligence, Volume 172 number 18, pages 1973-2000, 2008. Unfortunately this paper contains an error in one of the pseudocode algorithms. Errata
Artificial Intelligence, Volume 172, pages 738–771, 2008.
AI Communications, Volume 20, Number 3, pages 211-226, 2007.
Journal of Automated Reasoning, Volume 35, pages 143-179, 2005.
Journal of Microprocessors and Microsystems, 27(4), 159-169, 2003.
in ABZ 2026: The 12th International Conference on Rigorous State Based Models, 2026.
in Proceedings of the 31st International Conference on Principles and Practice of Constraint Programming (CP 2025), 2025.
in Proceedings of the 31st International Conference on Principles and Practice of Constraint Programming (CP 2025), 2025.
in Proceedings of the 36th IEEE International Conference on Tools with Artificial Intelligence (ICTAI), 2024.
in Proceedings of the 36th IEEE International Conference on Tools with Artificial Intelligence (ICTAI), 2024.
in Proceedings of the 32nd International Joint Conference on Artificial Intelligence, 2023.
in Proceedings of the 32nd International Joint Conference on Artificial Intelligence, 2023.
in Proceedings of the 32nd International Joint Conference on Artificial Intelligence, 2023.
in Proceedings of the 28th International Conference on Principles and Practice of Constraint Programming, 2022.
in Proceedings of the 28th International Conference on Principles and Practice of Constraint Programming, 2022.
in Proceedings of the 26th International Conference on Principles and Practice of Constraint Programming, pages 143-159, 2020.
in Proceedings of the 25th International Conference on Principles and Practice of Constraint Programming, pages 20-36, 2019.
in Proceedings of the 28th International Joint Conference on Artificial Intelligence, pages 1056-1063, 2019.
in Proceedings of the 24th International Conference on Principles and Practice of Constraint Programming (CP), pages 3-12, 2018.
in Proceedings of the 24th International Conference on Principles and Practice of Constraint Programming (CP), pages 727-736, 2018.
in Proceedings of the 27th International Joint Conference on Artificial Intelligence, pages 1242-1248, 2018.
in Proceedings of the 27th International Joint Conference on Artificial Intelligence, pages 5608-5611, 2018.
in Proceedings of the 22nd International Conference on Principles and Practice of Constraint Programming (CP), pages 3-12, 2016.
in Proceedings of the 21st International Conference on Principles and Practice of Constraint Programming (CP), pages 330-340, 2015.
(slides), in Proceedings of the 20th International Conference on Principles and Practice of Constraint Programming (CP), pages 590-605, 2014.
in Proceedings of the 20th International Conference on Principles and Practice of Constraint Programming (CP), pages 356-365, 2014.
in Proceedings of the 21st European Conference on Artificial Intelligence (ECAI), pages 3-8, 2014.
in Proceedings of the 19th International Conference on Principles and Practice of Constraint Programming (CP), pages 107-116, 2013.
(slides, poster), in Proceedings of 23nd International Joint Conference on Artificial Intelligence (IJCAI), pages 573-579, 2013.
(slides, poster), in Proceedings of 23nd International Joint Conference on Artificial Intelligence (IJCAI), 2013. This is an abstract of the Artificial Intelligence Journal paper, presented in the IJCAI 2013 Journal Track.
in Proceedings of 34th International Conference on Software Engineering (ICSE), pages 661-671, 2012.
(slides, poster) in Proceedings of 22nd International Joint Conference on Artificial Intelligence (IJCAI), pages 623-628, 2011.
in Proceedings of 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), pages 228-231, 2011.
in Proceedings of 16th International Conference on Principles and Practice of Constraint Programming (CP 2010), pages 206-220, 2010.
in Proceedings of 16th International Conference on Principles and Practice of Constraint Programming (CP 2010), pages 321-329, 2010.
in Proceedings of the 19th European Conference on Artificial Intelligence (ECAI 2010), pages 873-878, 2010.
(slides) in Proceedings of Principles and Practice of Constraint Programming (CP 2009), pages 50-64, 2009.
(slides) in Proceedings of the Twenty Second Conference on Artificial Intelligence (AAAI-07), pages 191-197, 2007.
in Proceedings of the 19th International Joint Conference on Artificial Intelligence (IJCAI 2005), pages 138-143, 2005.
Poster and short paper in Proceedings of the 11th International Conference on Principles and Practice of Constraint Programming (CP 2005), pages 792-796, 2005.
(slides) in Proceedings of the 16th European Conference on Artificial Intelligence (ECAI 2004), pages 176-180, 2004.
in Proceedings of the 15th Euromicro Conference on Real-Time Systems, 121-128, 2003.
Invited plenary talk at the 13th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2022).
Tutorial presented at CP 2014.
21st International Symposium on Mathematical Programming (ISMP 2012).
2nd Workshop on Machine Learning for Solvers and Provers (ML4SP), 2026.
CMNA 2025, pages 42-56, 2025.
The 24rd workshop on Constraint Modelling and Reformulation (ModRef 2025), 2025.
The 23rd workshop on Constraint Modelling and Reformulation (ModRef 2024), 2024.
The 23rd workshop on Constraint Modelling and Reformulation (ModRef 2024), 2024.
The 23rd workshop on Constraint Modelling and Reformulation (ModRef 2024), 2024.
The 23rd workshop on Constraint Modelling and Reformulation (ModRef 2024), 2024.
CMNA@COMMA 2024: 1-6, 2024.
Knowledge Engineering for Planning and Scheduling (KEPS 2023), 2023.
The 22nd workshop on Constraint Modelling and Reformulation (ModRef 2023), 2023.
Workshop on Computational Models of Natural Argument (CMNA 2021) pages 40-46, 2021.
The 20th workshop on Constraint Modelling and Reformulation -- ModRef 2021.
The 20th workshop on Constraint Modelling and Reformulation -- ModRef 2021.
Systems and Algorithms for Formal Argumentation (SAFA@COMMA 2020), pages 47-56, 2020.
Workshop on Optimization Based Techniques for Emerging Data Mining Problems (OEDM 2018), co-located with IEEE ICDM 2018.
in Proceedings of the 20th Automated Reasoning Workshop (ARW2013), School of Computing, University of Dundee, UK, 2013.
in Proceedings PMCS’11 Workshop on Parallel Methods for Constraint Solving, September 2011.
in Proceedings of the 3rd Workshop on Techniques for Implementing Constraint Programming Systems (TRICS), St Andrews, Scotland, September 2010.
in Proceedings of the Eighth Symposium on Abstraction, Reformulation and Approximation (SARA 2009). This paper is superseded by Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics (CP 2009).
(slides) in Proceedings of 1st Workshop on Quantification in Constraint Programming, Kostas Stergiou (ed), 2005.
in Proceedings 3rd International Workshop on Modelling and Reformulating Constraint Satisfaction Problems (ModRef 2004), co-located with CP 2004, Toronto, Canada, Frisch, AM, Miguel, I (eds), pages 95-110, 2004.
PhD thesis, University of St Andrews, 2007. Available from the University of St Andrews repository and also here.
Savile Row -- I'm the lead author of Savile Row, a tool for translating the Essence Prime modelling language to the input languages of constraint, SAT, and SMT solvers. Savile Row implements various reformulations intended to improve the model, most of which are described in the papers above.
Minion -- I wrote the network flow propagators for Minion, and they are described in papers Generalised Arc Consistency for the AllDifferent Constraint: An Empirical Survey and The Extended Global Cardinality Constraint: An Empirical Survey.
Dominion is a constraint solver synthesizer -- given a particular problem class or instance, it can create a constraint solver specifically for that class or instance by assembling a library of components.
Queso is a non-binary QCSP solver written in Java for my PhD. The source code is available on the basis that it is unsupported, but I may be able to help with some simple problems. (There is a timing component written in C for Linux, but this can probably be easily removed if you wish to run it on other systems.)
Unfortunately this section is almost a decade out of date.
Co-chair (with Özgür Akgün) of ModRef 2015.
Co-chair (with Christopher Jefferson and Guido Tack) of TRICS 2013.
PC member for AAAI 2011 - 25th Conference on Artificial Intelligence.
PC member for CP 2011 -- 17th International Conference on Principles and Practice of Constraint Programming.
PC member for CP 2010 - 16th International Conference on Principles and Practice of Constraint Programming.
Co-chair (with Standa Živný) of the CP 2010 Doctoral Programme.
Chair (with Chris Jefferson and Guido Tack) of TRICS 2010 - 3rd workshop on Techniques foR Implementing Constraint programming Systems
Publicity for CSCLP 2011, Annual ERCIM Workshop on Constraint Solving and Constraint Logic Programming.