ROGO solver using constraint programming