
Ilustração de um operador de crossover em um algoritmo evolutivo. Assuma uma aplicação compreendendo 7 tarefas, com o ponto de crossover selecionado na posição 3. Para o vetor de localização de execução, as primeiras 3 localizações de execução de tarefa do descendente são herdadas do pai 2 (2, 4 e 1, respectivamente), e as últimas 4 são herdadas do pai 1 (3, 5, 2 e 4, respectivamente). Para o vetor de ordem de execução, o descendente primeiro copia as primeiras 3 tarefas do pai 2 (T1, T3, T2), depois anexa as tarefas restantes na ordem do pai 1 (T4, T5, T6, T7) e, finalmente, garante que a ordem seja válida através de reparo topológico.
```python import os import re import numpy as np import pand...