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 * * *