You can create a Groovy plugin build step and "Execute a system Groovy script":

import hudson.model.*;
Hudson.instance.doSafeRestart(null);

or the new Jenkins instance

import jenkins.model.*
Jenkins.instance.doSafeRestart(null);

Then, you can set this job to be triggered by schedule. For example, to restart Jenkins daily on midnight, set "Build periodically": H 00 * * *