Complementary Geometric Programming