A novel heuristic algorithm that uses both neural-networks and genetic-algorithms