Differentiable Edge-based OPC