ViSP: A PPO-Driven Framework for Sarcasm Generation with Contrastive Learning