SHARE
TWEET

Untitled

a guest Dec 6th, 2019 110 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Nome do arquivo de saida, informado pela aplicacao
  2. ArqSaida <- 'gantt-cadeira.png'
  3.  
  4. #
  5. # Parametros que devem ser informados pelo pert-solver
  6. #
  7.  
  8. # Numero de atividades e makespan calculado
  9. Makespan <- 20.500000
  10. Atividades <- 14
  11. # Vetor com as flags das atividades criticas
  12. Cp <- c(T,T,F,F,T,F,F,F,T,F,T,T,T,T)
  13. # Vetor com os indices das atividades
  14. K <- c(0,1,2,3,4,5,6,7,8,9,10,11,12,13)
  15.  
  16. # Vetor com os tempos de início das atividades
  17. Sk <- c(0.00,0.00,3.00,3.00,3.00,3.00,0.00,1.00,10.00,12.00,12.00,15.00,20.00,20.50)
  18.  
  19. # Vetor com os tempos de termino das atividades
  20. Tk <- c(0.00,3.00,7.00,9.00,10.00,6.00,1.00,3.00,12.00,14.00,15.00,20.00,20.50,20.50)
  21.  
  22. #
  23. # Fim dos parametros. Daqui pra frente deve ser automatico.
  24. #
  25.  
  26. # Calculos auxiliares
  27. xMin <- 0
  28. xMax <- 21.50
  29. yMin <- 0
  30. yMax <- 15
  31.  
  32. # Geracao de arquivo
  33. png(ArqSaida, width=1200)
  34.  
  35. # Cria o plot
  36. titulo <- 'Gráfico de Gantt'
  37. plot(c(xMin, xMax), c(yMin, yMax), type='n',main=titulo, xlab='Tempo', ylab='Atividades');
  38.  
  39. # Desenha um retangulo para cada atividade
  40. for(indice in 1:length(K))
  41. {
  42.     # Busca as coordenadas dos pontos do retangulo
  43.     Px1 <- Sk[indice]
  44.     Py1 <- K[indice]
  45.     Px2 <- Tk[indice]
  46.     Py2 <- K[indice]
  47.     Px3 <- Tk[indice]
  48.     Py3 <- K[indice]+1
  49.     Px4 <- Sk[indice]
  50.     Py4 <- K[indice]+1
  51.  
  52.     # Define a cor de acordo com a flag de criticidade
  53.     if(Cp[indice] == T)
  54.     {
  55.         cor <- 'red'
  56.         cortexto <- 'white'
  57.     }
  58.     else
  59.     {
  60.         cor <- 'yellow'
  61.         cortexto <- 'black'
  62.     }
  63.  
  64.     # Desenha o polígono, fechando as coordenadas
  65.     polygon(c(Px1, Px2, Px3, Px4, Px1),c(Py1, Py2, Py3, Py4, Py1), col=cor)
  66.  
  67.     text((Px1 + Px2)/2, (Py1 + Py3)/2, K[indice], col=cortexto)
  68. }
  69. dev.off();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top