TRIOPT: a triangulation-based partitioning algorithm for global optimization