anchor.diff:  (defun beam-search (problema is-better-solution-fn beam-width max-beam-width) 
     (let* ((*nos-gerados* 0)
   		 (*nos-expandidos* 0)
  -		 (tempo-inicio (get-internal-real-time))
  +		 (tempo-inicio (get-internal-run-time))
   		 (objectivo? (problema-objectivo? problema))
   		 (heur (problema-heuristica problema))
   		 ;(estado= (problema-estado= problema))
  -
   		 (result nil)
   		 (tempo 300))
  +
       (labels ((beam (estados)
  -              (cond ((<= (- tempo (/ (- (get-internal-run-time) tempo-inicio) internal-time-units-per-second)) 0.2) (return-from beam-search result))
  +              (cond ((<= (- tempo (/ (- (get-internal-run-time) tempo-inicio) internal-time-units-per-second)) 0.2)
  +              		 (return-from beam-search (list result (round (/ (- (get-internal-run-time) tempo-inicio) internal-time-units-per-second)) *nos-expandidos* *nos-gerados*)))
   		    		((funcall objectivo? (first estados)) (list (first estados)))
                       ((null (first estados)) nil)
                       (t 
  
positive.code: 		
  		;estimativa do quao boa esta a ser a paralelizacao
  		(dotimes (nr-maquina n-maquinas)
  			(let ((tempo-actual (aref tempos-maquinas 0 nr-maquina))
  			      (last-task-duration (aref tempos-maquinas 1 nr-maquina)))
  				(if (null tempo-actual)
  					(setf machines-time-working (+ machines-time-working 0))
  			  		(setf machines-time-working (+ machines-time-working tempo-actual)))))
  
negative.code: 		(dolist (task tarefas-nao-alocadas)
  			(setf heuristica-value (+ heuristica-value (task-info-task-duration task))))
  		heuristica-value)) 		
  
  
  ;heuristica que faz um peso entre o racio da paralelizacao e o tempo que falta para terminar a atribuicao
  (defun heuristica-tempo-final-v2 (job-state)
  