anchor.diff:  									  	(equal (job-shop-task-start.time task1) (job-shop-task-start.time task2))))
   							(return-from estados-iguais nil))))))
   		(return-from estados-iguais t)))
  +
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ; Struct aux functions
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code: 				(setf return-list (append return-list (list (job-task-w-constr-job-task (aref jobs-tasks i j)))))))
  		return-list))
  
  (defun converte-para-estado-interno (job-shop-prob) 
    (let ((operadores (list #'inicia-task))
  		(n.jobs (job-shop-problem-n.jobs job-shop-prob))
  		(estado-inicial nil)
  
negative.code:        	 (dimensions (array-dimensions estado))
         	 (rows (car dimensions)) ;numero de jobs igual ao numero de linhas
         	 (tempos-maquinas (state-job-schedule-machine-times state-job))
         	 (tarefas-a-atribuir (state-job-schedule-non-allocated-tasks state-job))
         	 (funcao-heuristica-estado (state-job-schedule-funcao-heuristica state-job))) 
  
      (loop for job from 0 to (- rows 1) do
        (let* ((prox-task (proxima-tarefa estado job))
  