'Converts the nonconvex constraint variable ids in dims into indices.
Parameters
dims : dict
The dimensions of the cones.
var_offsets : dict
A dict of variable id to horizontal offset.
var_sizes : dict
A dict of variable id to variable dimensions.
Returns
tuple
A list of indices for the boolean variables and integer variables.'

@staticmethod
def _noncvx_id_to_idx(dims, var_offsets, var_sizes):

    bool_idx = []
    int_idx = []
    for (indices, constr_type) in zip([bool_idx, int_idx], [s.BOOL_IDS, s.INT_IDS]):
        for var_id in dims[constr_type]:
            offset = var_offsets[var_id]
            size = var_sizes[var_id]
            for i in range((size[0] * size[1])):
                indices.append((offset + i))
        del dims[constr_type]
    return (bool_idx, int_idx)
