An integer optimization approach for reverse engineering of gene regulatory networks