Helmut has been working on Constraint Programming for 35 years, initially at ECRC in Munich, an industrial research centre of Siemens, ICL, and Bull, where they developed the CHIP constraint programming language.
He then became a co-founder and technical director of COSYTEC in France, before moving to Imperial College London, and working in some start-ups on optimization for network management. Since 2008 he has been at University College Cork, in a team that is part of the Insight SFI Centre for Data Analytics, bringing together around 400 researchers throughout Ireland. His main interests and research focus are on applications of optimization techniques to various industrial problems. He was the President of the Association for Constraint Programming in 2013 and 2014, and program chair for both CP and CPAIOR conferences, the main conferences in their research area, he is also somewhat involved in more basic research.
Félicien: Dear Helmut, In ASSISTANT we go on the concept of model acquisition, could you explain that a bit?
Helmut: When applying optimization techniques to practical problems, we find that understanding the problem and formulating a model of the problem are a major bottleneck in development. Model Acquisition tries to help with that. We want to learn from existing solutions, and by an interactive process with a domain expert, who knows the problem domain very well, but may not have a background in Optimization. The idea is to suggest constraints of the model (like “this type of activity must be followed by that type of activity”, or “you can do at most three of these activities at the same time”) that hold in all examples given.
Félicien: Sounds excellent, in what type of problem model acquisition can be used?
Helmut: Much of the work on Model Acquisition is quite generic, and not specific to a particular domain. But of course, adding background information can strengthen the model, and avoid searching for irrelevant aspects of a model. In the past, I have been working with Nicolas Beldiceanu from IMT, also a partner in the ASSISTANT project, on acquiring models of power plants for EDF, the French electricity company. There we developed a whole new set of constraints, based on time-series, to express the constraints under which a power plant is operating.
Félicien: I have heard about this work related to EDF power plants. Very nice industrial application of model acquisition. Can we also, apply model acquisition for production planning or process planning?
Helmut: In ASSISTANT, we focus on the acquisition of scheduling problems, because scheduling has been a major success story for Constraint Programming, and there are many tools and solvers available. For CHIP, we developed our first scheduling example in 1987, so there is a long history of which constraints may occur, and how they can be expressed. While there have been some notable results of using constraints and optimization on process planning, this is still less developed.
Félicien: What are the main challenges when designing and implementing model acquisition?
Helmut: There are three main issues: We learn from example solutions, or by asking questions from a user. The number of example solutions that are available can be quite small, and they may not be of the right size. How do we extract the maximum information from the examples, and how do we transfer the model learned to new data, quite likely of a different size? When interacting with a user, we must be careful about how many questions we ask: People get tired of answering questions very quickly, while we also cannot trust the answers completely. It is very easy to make a mistake when answering a question, so we must keep that in mind. In the past, people have focused on only learning the constraints of specific problem instances, like today’s production schedule, but in ASSISTANT we want to be able to use our acquired model to solve tomorrow’s schedule.
Félicien: What technologies / tools are involved in the design and implementation of model acquisition?
Helmut: There are several different AI (Artificial Intelligence) and Optimization techniques that can be used for Constraint Acquisition, one approach is how to ask the user the most relevant question, one that helps us determine which constraints we should include in our model, and which reduces the search space the most. Another tool we are using is the Global Constraint Catalogue, a description of common constraints and their mathematical properties. If a constraint has been used in a specific problem domain in the past, then it is much more likely to appear in future models in that domain as well.
Félicien: The actual manufacturing environment is subject to many uncertainties, making it difficult to set up some models. How does Model Acquisition deal with uncertainty in input data?
Helmut: This is where different approaches make different assumptions. If we are given current solutions of the problem, like the planned schedule for the factory of today, we can assume that the plan is correct, and respects all usual constraints. If instead we look at the actual log of the operation of the plant, we may be confused by all types of exceptions, where a problem occurred, and an ad-hoc solution was implemented. But this does not mean that we should always use this workaround and learn this as a constraint of the model.
Félicien: What advantage for manufacturers to switch from their current methodologies / technologies used for scheduling to the Model Acquisition one?
Helmut: Building a successful scheduling solution requires input from both domain experts and from optimization consultants, so spending a lot of time to define and refine a model can be quite expensive. We have found that in many cases, people are quite bad in describing all constraints of a problem up front. Often, some constraints are only discovered when a system has been implemented, and proposed solutions are shown to the domain expert. This means that there are many iterations in the development process, and the system is not immediately productive. Constraint acquisition can help to shorten
this development process, making sure that we benefit from a solution more quickly. At the same time, factories evolve much more rapidly than in the past. If we can use our tools to keep the scheduling solution current, we dramatically reduce the maintenance cost of such a tool.
Félicien: That’s the beauty of Model Acquisition for sure. By the way, what is the future of Model Acquisition in an AI environment?
Helmut: In an article 20 years ago, Gene Freuder, one of the founders of the field, explained that Constraint Programming is close to the holy grail of Computer Science and AI: The user only states the constraints of the problem, the constraint engine then finds a solution for the problem, without being told how to do this by the user. Constraint Acquisition takes this one step further: Instead of defining the constraints one by one, we can learn which constraints should apply by looking at example solutions. If we can make this work, then this is a very nice result for AI in general.
Félicien: Wonderful. Finally, what do you think of the ASSISTANT project?
Helmut: It is very nice to see people from quite different fields coming together for these European projects. It takes some time before we each understand what the other people are talking about, but this type of interaction can lead to rapid progress by bringing together different tools that complement each other. I am very excited to be able to test some of my more abstract ideas on industrial test cases and see which more fundamental questions need to be resolved to provide novel solutions to the manufacturing industry.
Félicien: Thank you Helmut.
Helmut: Thank you for having me.