add variational learning problem