<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _initial_interior_point(self, buses, generators, xmin, xmax, ny):
 """ Selects an interior initial point for interior point solver. """

        Va = self.om.get_var("Va")
        va_refs = [b.v_angle * pi / 180.0 for b in buses
                   if b.type == REFERENCE]
        x0 = (xmin + xmax) / 2.0

        x0[Va.i1:Va.iN + 1] = va_refs[0] # Angles set to first reference angle.

        if ny > 0:
            yvar = self.om.get_var("y")

            # Largest y-value in CCV data
            c = []
            for g in generators:
                if g.pcost_model == PW_LINEAR:
                    for _, y in g.p_cost:
                        c.append(y)


            x0[yvar.i1:yvar.iN + 1] = max(c) * 1.1

        return x0