We propose an algorithm which performs a progressive approximation of a viability kernel, iteratively using a classification method. We establish the mathematical conditions that the classification method should fulfill to guarantee the convergence to the actual viability kernel. We study more particularly the use of support vector machines (SVMs) as classification techniques. We show that they make possible to use gradient optimisation techniques to find a viable control at each time step, and over several time steps. This allows us to avoid the exponential growth of the computing time with the dimension of the control space. It also provides simple and efficient control procedures. We illustrate the method with some examples inspired from ecology.
Approximating viability kernels with support vector machines