Automatic protein design with all atom force-fields by exact and heuristic optimization