hyperbolic programming