Learning to Optimize for Mixed-Integer Non-linear Programming