EIPSymb

EIPSymb preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.1.0 • Viewed 384 times • Downloaded 36 times • Run 0 times
Download the 'EIPSymb' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Info tab cannot be displayed because of an encoding error

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [contador-empresas auxiliar auxiliar2 auxiliar3 auxiliar4 auxiliar5 auxiliar6 auxiliar7 auxiliar8 auxiliar9 auxiliar10 auxiliar11 auxiliar12 auxiliar13 auxiliar14 auxiliar15 quantidade-empresas quantidade-conexoes conexoes-possiveis periodo numerador
         denominador isi isi' contador-link aux-link aux-link2 aux-link3 aux-link4 aux-link5 aux-link6 aux-link7 aux-link8 aux-link9 aux-link10 aux-link11 aux-link12 eco-connectance grau-reciclagem aux-grau-reciclagem
         residuos-trocados residuos-descartados
         
         Potencial-hazard-of-by-product-A Potencial-hazard-of-by-product-B Potencial-hazard-of-by-product-C Potencial-hazard-of-by-product-D Potencial-hazard-of-by-product-E
         Potencial-hazard-of-by-product-A' Potencial-hazard-of-by-product-B' Potencial-hazard-of-by-product-C' Potencial-hazard-of-by-product-D' Potencial-hazard-of-by-product-E'
         symbiotic-utilization symbiotic-utilization' 
         
         conexoes-produto industrial-symbiosis-index link-density eco-efficiency auxiliar-co2 auxiliar-energia Potencial-hazard-of-co2 %reused-waste denominador2 resource-productivity-substance
         resource-productivity-energy ecc vmfs ldfs tfi ecfi environmental-impact embodied-carbonA embodied-carbonB embodied-carbonC embodied-carbonD embodied-carbonE co2-price
         valor-energia valor-material-virgem valor-produto valor-residuo
         energia-tep]

links-own [intensidade tempo-existencia tipo-residuo]

turtles-own [tempo-no-parque tipo-produto tipo-residuo-gerado residuo-gerado capacidade-absorcao-residuo residuo-absorvido
             tipo-produto-insumo tipo-material-virgem
             produto-produzido produto-insumo material-virgem co2 energia produto-insumo-interno produto-insumo-externo produto-enviado custo receita lucro
             recebido-venda-residuo economizado-compra-residuo produzido-com-residuo produzido-sem-residuo
             tipo-residuo-usado1 tipo-residuo-usado2 tipo-residuo-usado3 tipo-residuo-usado4 tipo-residuo-usado5
             residuo-absorvidoA residuo-absorvidoB residuo-absorvidoC residuo-absorvidoD residuo-absorvidoE]




;;;;;;;;;;;
;;;Setup;;;
;;;;;;;;;;;

to setup
  ca
  ask patches with [pxcor <= 11] [set pcolor 92]
  ask patches with [pxcor > 11] [set pcolor 35]
  create-turtles 1 [set shape "garbage can" set size 5 set color 5 setxy 14 0 set label "LANDFILL  "]
  create-turtles 1 [set shape "factory" set size 5 set color 5 setxy 14 -12 set label "OTHER EIP  "]
  
  ;ask turtle 1 [die] 
  
  
  valores-monetarios
  
  
  export-interface (word "Period " periodo ".jpg")  ; This function saves a print screen of the interface
  
  export-output (word "Period " periodo ".txt")     ; This function saves a text document of the values of each company and of each link
end 



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Definição dos valores monetários;;; COLOQUEI DENTRO DE SETUP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to valores-monetarios
  set valor-energia 0.05              ; kWh
  set valor-material-virgem 200       ; Alumina
  set valor-produto 2000              ; Prebake anode and aluminum
  set valor-residuo 1300              ; Aluminum scrap
  
  set energia-tep 0.000086            ; Não é financeiro, mas serve para transformar a unidade de energia em tonelada equivalente de petróleo                
  
  set embodied-carbonA (8 * 1000)       ; o 1000 é pra transformar em kg
  set embodied-carbonB (3 * 1000)       ; o 1000 é pra transformar em kg
  set embodied-carbonC (1 * 1000)       ; o 1000 é pra transformar em kg
  set embodied-carbonD (1 * 1000)       ; o 1000 é pra transformar em kg
  set embodied-carbonE (2 * 1000)       ; o 1000 é pra transformar em kg

  set co2-price 5                     ; valor do co2 price é 5 dolares por kg
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo das quantidades;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-quantidades
  set residuos-descartados 0
  set residuos-trocados 0
  set aux-link 0
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if link auxiliar 0 != nobody [
      ask link auxiliar 0 [set aux-link intensidade]
      set residuos-descartados residuos-descartados + aux-link
    ]
    set auxiliar auxiliar + 1
  ]
  
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    set auxiliar2 auxiliar + 1
    while [auxiliar2 <= contador-empresas + 1] [
      if link auxiliar auxiliar2 != nobody [
        ask link auxiliar auxiliar2 [if color = green [
          ask link auxiliar auxiliar2 [set aux-link intensidade]
          set residuos-trocados residuos-trocados + aux-link
        ]
        ]
      ]
      
      if link auxiliar2 auxiliar != nobody [
        ask link auxiliar2 auxiliar [if color = green [
          ask link auxiliar2 auxiliar [set aux-link intensidade]
          set residuos-trocados residuos-trocados + aux-link
        ]
        ]
      ]
      set auxiliar2 auxiliar2 + 1
    ]
    set auxiliar auxiliar + 1
  ]
end 


    
    

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Auxiliar para Limitar a Absorção de Resíduos;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to auxiliar-absorcao-residuos
  set auxiliar6 2
  while [auxiliar6 <= contador-empresas + 1] [
    if turtle auxiliar6 != nobody[
      ask turtle auxiliar6 [set residuo-absorvido 0]
    ]
    set auxiliar6 auxiliar6 + 1
  ]
  
  set auxiliar6 2
  while [auxiliar6 <= contador-empresas + 1] [
    set auxiliar7 2
    while [auxiliar7 <= contador-empresas + 1] [
      if (turtle auxiliar6 != nobody) and (turtle auxiliar7 != nobody) and (turtle auxiliar6 != turtle auxiliar7) and (link auxiliar7 auxiliar6 != nobody) [
        ask link auxiliar7 auxiliar6 [set aux-link9 intensidade]
        ask turtle auxiliar6 [set residuo-absorvido residuo-absorvido + aux-link9]
      ]
      set auxiliar7 auxiliar7 + 1
    ]
    
   set auxiliar6 auxiliar6 + 1
  ]
  
  calculo-producao-com-residuo-e-sem-residuo
  
  
  
  ; A partir daqui calcula a quantidade absorvida de cada tipo de resíduo que a empresa pode usar
  
  set auxiliar6 2
  while [auxiliar6 <= contador-empresas + 1] [
    if turtle auxiliar6 != nobody [
      ask turtle auxiliar6 [set residuo-absorvidoA 0
                            set residuo-absorvidoB 0
                            set residuo-absorvidoC 0
                            set residuo-absorvidoD 0
                            set residuo-absorvidoE 0]
    ]
    set auxiliar6 auxiliar6 + 1
  ]
  
  set auxiliar6 2
  while [auxiliar6 <= contador-empresas + 1] [
    set auxiliar7 2
    set aux-link11 0
    set aux-link12 0
    while [auxiliar7 <= contador-empresas + 1] [ 
      if (turtle auxiliar6 != nobody) and (turtle auxiliar7 != nobody) and (turtle auxiliar6 != turtle auxiliar7) and (link auxiliar7 auxiliar6 != nobody) [
        ask link auxiliar7 auxiliar6 [set aux-link11 tipo-residuo
                                      set aux-link12 intensidade]

        if aux-link11 = "A" [
          ask turtle auxiliar6 [set residuo-absorvidoA residuo-absorvidoA + aux-link12]]
        
        if aux-link11 = "B" [
          ask turtle auxiliar6 [set residuo-absorvidoB residuo-absorvidoB + aux-link12]]
        
        if aux-link11 = "C" [
          ask turtle auxiliar6 [set residuo-absorvidoC residuo-absorvidoC + aux-link12]]
        
        if aux-link11 = "D" [
          ask turtle auxiliar6 [set residuo-absorvidoD residuo-absorvidoD + aux-link12]]
        
        if aux-link11 = "E" [
          ask turtle auxiliar6 [set residuo-absorvidoE residuo-absorvidoE + aux-link12]]
                 
          
          
      ]
      set auxiliar7 auxiliar7 + 1
    ]
    set auxiliar6 auxiliar6 + 1
  ]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Entrada de Nova Empresa;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to entrada-de-nova-empresa
  if probability-of-entry-of-a-new-company - 1 >= random 100 [
    create-turtles 1 [
      set shape "factory"
      set size 2
      setxy random-xcor random-ycor
      if xcor > 10 [set xcor xcor - 7]
      if ycor > 10 [set ycor ycor - 1]
      if xcor < -10 [set xcor xcor + 1]
      if ycor < -10 [set ycor ycor + 1]
      set tipo-produto (random 5) + 1

      if tipo-produto = 1 [set color 15 set tipo-residuo-gerado "A" 
                           set tipo-residuo-usado1 "B" set tipo-residuo-usado2 0 set tipo-residuo-usado3 0 set tipo-residuo-usado4 0 set tipo-residuo-usado5 0
                           set tipo-produto-insumo 4 set tipo-material-virgem "I"]

      if tipo-produto = 2 [set color 25 set tipo-residuo-gerado "B"
                           set tipo-residuo-usado1 "C" set tipo-residuo-usado2 "A" set tipo-residuo-usado3 "E" set tipo-residuo-usado4 0 set tipo-residuo-usado5 0 
                           set tipo-produto-insumo 5 set tipo-material-virgem "II"] 

      if tipo-produto = 3 [set color 35 set tipo-residuo-gerado "C" 
                           set tipo-residuo-usado1 "D" set tipo-residuo-usado2 "A" set tipo-residuo-usado3 0 set tipo-residuo-usado4 0 set tipo-residuo-usado5 0
                           set tipo-produto-insumo 1 set tipo-material-virgem "III"]

      if tipo-produto = 4 [set color 45 set tipo-residuo-gerado "D" 
                           set tipo-residuo-usado1 "E" set tipo-residuo-usado2 "A" set tipo-residuo-usado3 0 set tipo-residuo-usado4 0 set tipo-residuo-usado5 0
                           set tipo-produto-insumo 2 set tipo-material-virgem "IV"]

      if tipo-produto = 5 [set color 55 set tipo-residuo-gerado "E" 
                           set tipo-residuo-usado1 "A" set tipo-residuo-usado2 0 set tipo-residuo-usado3 0 set tipo-residuo-usado4 0 set tipo-residuo-usado5 0
                           set tipo-produto-insumo 3 set tipo-material-virgem "V"]


      set tempo-no-parque 0
      set produto-produzido 300                                                                   ; Produção padrão para entrada no parque
      if tipo-produto = 1 [set capacidade-absorcao-residuo (produto-produzido * 1.2)]
      if tipo-produto = 2 [set capacidade-absorcao-residuo (produto-produzido * 1.3)]
      if tipo-produto = 3 [set capacidade-absorcao-residuo (produto-produzido * 1.2)]
      if tipo-produto = 4 [set capacidade-absorcao-residuo (produto-produzido * 1.5)]
      if tipo-produto = 5 [set capacidade-absorcao-residuo (produto-produzido * 1.4)] 



      create-link-to turtle 0 [set color red set intensidade 30]                                   ; O VALOR AQUI É 30 PORQUE É DEPENDENTE DO PRODUTO-PRODUZIDO. A CONTA É (PRODUTO-PRODUZIDO * 0.1)
    ]
    set contador-empresas contador-empresas + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;
;;;Saída de Empresas;;;
;;;;;;;;;;;;;;;;;;;;;;;

to saida-de-empresas
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if probability-of-exit-of-a-company - 1 >= random 100 and turtle auxiliar != nobody[
      ask turtle auxiliar [if tempo-no-parque > 0[
        set auxiliar2 2
        while [auxiliar2 <= contador-empresas + 1] [
          if (turtle auxiliar2 != nobody) and (turtle auxiliar != turtle auxiliar2) and (link auxiliar2 auxiliar != nobody)[
            ask link auxiliar2 auxiliar [set aux-link intensidade]
            ifelse link auxiliar2 0 != nobody 
              [ask link auxiliar2 0 [set intensidade intensidade + aux-link]]
              [ask turtle auxiliar2 [create-link-to turtle 0 [set intensidade aux-link set color red]]]
          ]
          set auxiliar2 auxiliar2 + 1
        ]
        ask turtle auxiliar [die]
      ]
      
      ]
      
    ]
    
    set auxiliar auxiliar + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;
;;;Novas Conexões;;;
;;;;;;;;;;;;;;;;;;;;

to criar-conexao
  ask links [set tempo-existencia tempo-existencia + 1]
  set auxiliar2 2
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 2
    while [auxiliar3  <= contador-empresas + 1] [
    if (turtle auxiliar2 != nobody) and (turtle auxiliar3 != nobody) and (turtle auxiliar2 != turtle auxiliar3) and (link auxiliar2 auxiliar3 = nobody)
                                    and (link auxiliar2 0 != nobody) and (probability-of-creating-connection - 1 >= random 100) [
      
      ask turtle auxiliar2 [set auxiliar10 tipo-residuo-gerado]
      ask turtle auxiliar3 [set auxiliar11 tipo-residuo-usado1]
      ask turtle auxiliar3 [set auxiliar12 tipo-residuo-usado2]
      ask turtle auxiliar3 [set auxiliar13 tipo-residuo-usado3]
      ask turtle auxiliar3 [set auxiliar14 tipo-residuo-usado4]
      ask turtle auxiliar3 [set auxiliar15 tipo-residuo-usado5]
      
      
      if (auxiliar10 = auxiliar11 or auxiliar10 = auxiliar12 or auxiliar10 = auxiliar13 or auxiliar10 = auxiliar14 or auxiliar10 = auxiliar15 ) [
                                      
                                  
        ask link auxiliar2 0 [
          ifelse intensidade >= 1
          [
            ask turtle auxiliar3 [ifelse capacidade-absorcao-residuo - residuo-absorvido >= 1 [
              ask link auxiliar2 0 [set intensidade intensidade - 1]
              ask turtle auxiliar2 [create-link-to turtle auxiliar3]
              ask turtle auxiliar2 [set auxiliar10 tipo-residuo-gerado]
              ask link auxiliar2 auxiliar3 [set tipo-residuo auxiliar10 set color green set intensidade 1 set tempo-existencia 1]]
            
            [
              ask turtle auxiliar3 [set aux-link capacidade-absorcao-residuo - residuo-absorvido]
              ask link auxiliar2 0 [set intensidade intensidade - aux-link]                                      
              ask turtle auxiliar2 [create-link-to turtle auxiliar3]
              ask turtle auxiliar2 [set auxiliar10 tipo-residuo-gerado]
              ask link auxiliar2 auxiliar3 [set tipo-residuo auxiliar10 set color green set intensidade aux-link set tempo-existencia 1]
              ]
            ]
          ]
          
          [
            ask link auxiliar2 0 [set aux-link6 intensidade]
            ask turtle auxiliar3 [ifelse capacidade-absorcao-residuo - residuo-absorvido >= aux-link6 [
              ask turtle auxiliar2 [create-link-to turtle auxiliar3]
              ask turtle auxiliar2 [set auxiliar10 tipo-residuo-gerado]
              ask link auxiliar2 auxiliar3 [set tipo-residuo auxiliar10 set color green set intensidade aux-link6 set tempo-existencia 1]
              ask link auxiliar2 0 [die]
            ]
            
            [
              ask turtle auxiliar3 [set aux-link capacidade-absorcao-residuo - residuo-absorvido]
              ask turtle auxiliar2 [create-link-to turtle auxiliar3]
              ask turtle auxiliar2 [set auxiliar10 tipo-residuo-gerado]
              ask link auxiliar2 auxiliar3 [set tipo-residuo auxiliar10 set color green set intensidade aux-link set tempo-existencia 1]
              ask link auxiliar2 0 [set intensidade intensidade - aux-link]                                   
              ]
            ]
          ]
        ]
       ]
       ]
    
    auxiliar-absorcao-residuos ; Atualiza o residuo-absorvido das empresas
    
    set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Intensidade da Conexão Aumentada;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to intensidade-conexao-aumentada
  set auxiliar2 2
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 2
    while [auxiliar3  <= contador-empresas + 1] [
      set aux-link 0
      set auxiliar4 0
      while [auxiliar4 <= contador-empresas + 1] [
        if (auxiliar2 != auxiliar4) and (link auxiliar2 auxiliar4 != nobody) [
          ask link auxiliar2 auxiliar4 [set aux-link aux-link + intensidade]
      ]
        
      set auxiliar4 auxiliar4 + 1
    ] 
      
             
    if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [
      ask turtle auxiliar3 [set aux-link10 capacidade-absorcao-residuo - residuo-absorvido] ; Calcula e transfere para aux-link10 a quantidade de resíduos que a turtle auxiliar3 pode receber a mais
      ask link auxiliar2 auxiliar3 [if tempo-existencia > 1 [
          if (probability-of-increasing-connection-intensity - 1 >= random 100)[
            if link auxiliar2 0 != nobody [
            ask turtle auxiliar2 [set aux-link2 residuo-gerado]
            ifelse link auxiliar2 0 != nobody [ask link auxiliar2 0 [set aux-link3 intensidade]] [set aux-link3 0]
            ask link auxiliar2 auxiliar3 [
              ifelse (intensidade * intensity-variation-step - intensidade <= aux-link3) [
                ask link auxiliar2 auxiliar3 [ifelse aux-link10 >= intensidade * intensity-variation-step - intensidade [
                  ask link auxiliar2 auxiliar3 [set aux-link4 intensidade * intensity-variation-step - intensidade]
                  ask link auxiliar2 auxiliar3 [set intensidade intensidade * intensity-variation-step]                    
                  ask link auxiliar2 0 [set intensidade intensidade - aux-link4]                                           
                  ask link auxiliar2 0 [if intensidade <= 0 [ask link auxiliar2 0 [die]]]
           ]
              [
                ask link auxiliar2 auxiliar3 [set intensidade intensidade + aux-link10]                                    
                ask link auxiliar2 0 [set intensidade intensidade - aux-link10]                                            
                ask link auxiliar2 0 [if intensidade <= 0 [ask link auxiliar2 0 [die]]]
                ]
              
               ]
              ]
            
             
           
           [if link auxiliar2 0 != nobody
             [
               ask link auxiliar2 auxiliar3 [ifelse aux-link10 >= aux-link3 [
                 ask link auxiliar2 auxiliar3 [set intensidade intensidade + aux-link3]                                    
                 ask link auxiliar2 0 [die]
               ]
               
               [
                 ask link auxiliar2 auxiliar3 [set intensidade intensidade + aux-link10]                                   
                 ask link auxiliar2 0 [set intensidade intensidade - aux-link10]                                           
                 ]
               
               ]
             ]
             
                       
           ]
                      
           ]
            
           ]
          
           ]
          
               
      ]
      
      ]
      
      ]
    
    auxiliar-absorcao-residuos ; Atualiza o residuo-absorvido das empresas
    
    set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1

  
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Intensidade da Conexão Diminuida;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to intensidade-conexao-diminuida
  set auxiliar2 2
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 2
    while [auxiliar3  <= contador-empresas + 1] [
      set aux-link 0
      set auxiliar4 0
      while [auxiliar4 <= contador-empresas + 1] [
        if (auxiliar2 != auxiliar4) and (link auxiliar2 auxiliar4 != nobody) [
          ask link auxiliar2 auxiliar4 [set aux-link aux-link + intensidade]
      ]
        
      set auxiliar4 auxiliar4 + 1
    ] 
      
             
    if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [
      ask turtle auxiliar3 [set aux-link10 capacidade-absorcao-residuo - residuo-absorvido] ; Calcula e transfere para aux-link10 a quantidade de resíduos que a turtle auxiliar3 pode receber a mais
      ask link auxiliar2 auxiliar3 [if tempo-existencia > 1 [
        if (probability-of-decreasing-connection-intensity - 1 >= random 100)[
            ask link auxiliar2 auxiliar3 [set aux-link8 intensidade]
            ask link auxiliar2 auxiliar3 [set aux-link5 (intensidade - (intensidade / intensity-variation-step))]
            ask link auxiliar2 auxiliar3 [set intensidade (intensidade / intensity-variation-step)]                    
            ask link auxiliar2 auxiliar3 [if intensidade < 1 [set aux-link5 aux-link8]]
            ifelse link auxiliar2 0 != nobody [
              ask link auxiliar2 0 [set intensidade intensidade + aux-link5]]                                                
             [ask turtle auxiliar2 [create-link-to turtle 0 [set intensidade aux-link5 set color red]]]
            ask link auxiliar2 auxiliar3 [if intensidade < 1 [die]]
      ]
        
      ]
      
      ]
      
      ]
    
    auxiliar-absorcao-residuos ; Atualiza o residuo-absorvido das empresas
    
    set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1

  
  ]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Contagem das Conexões;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;

to contar-conexoes

  set quantidade-conexoes (count links with [color = green] - contador-link)
  set conexoes-possiveis ((quantidade-empresas * (quantidade-empresas - 1)) / 2)
  set conexoes-produto (count links with [color = blue])
end 





;;;;;;;;;;;;;;;;;;;;
;;;Calcular o ISI;;;
;;;;;;;;;;;;;;;;;;;;

to calcular-isi
  set auxiliar2 0
  set numerador 0
  set denominador 0
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 0
    while [auxiliar3  <= contador-empresas + 1] [
      if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [
        ask turtle auxiliar2 [set auxiliar11 tipo-residuo-gerado]
        ask link auxiliar2 auxiliar3 [
          if color = green [
            if tipo-residuo = "A" [set numerador numerador + ((0.25 * Legislation-Waste-A) + (0.25 * Class-Waste-A) + (0.25 * Use-Waste-A) + (0.25 * Problems/risks-Waste-A)) * intensidade]
            if tipo-residuo = "B" [set numerador numerador + ((0.25 * Legislation-Waste-B) + (0.25 * Class-Waste-B) + (0.25 * Use-Waste-B) + (0.25 * Problems/risks-Waste-B)) * intensidade]
            if tipo-residuo = "C" [set numerador numerador + ((0.25 * Legislation-Waste-C) + (0.25 * Class-Waste-C) + (0.25 * Use-Waste-C) + (0.25 * Problems/risks-Waste-C)) * intensidade]
            if tipo-residuo = "D" [set numerador numerador + ((0.25 * Legislation-Waste-D) + (0.25 * Class-Waste-D) + (0.25 * Use-Waste-D) + (0.25 * Problems/risks-Waste-D)) * intensidade]
            if tipo-residuo = "E" [set numerador numerador + ((0.25 * Legislation-Waste-E) + (0.25 * Class-Waste-E) + (0.25 * Use-Waste-E) + (0.25 * Problems/risks-Waste-E)) * intensidade]
          ]


          if color = red[
            if auxiliar11 = "A" [set denominador denominador + ((0.25 * Legislation-Waste-A) + (0.25 * Class-Waste-A) + (0.25 * 5) + (0.25 * Problems/risks-Waste-A)) * intensidade]
            if auxiliar11 = "B" [set denominador denominador + ((0.25 * Legislation-Waste-B) + (0.25 * Class-Waste-B) + (0.25 * 5) + (0.25 * Problems/risks-Waste-B)) * intensidade]
            if auxiliar11 = "C" [set denominador denominador + ((0.25 * Legislation-Waste-C) + (0.25 * Class-Waste-C) + (0.25 * 5) + (0.25 * Problems/risks-Waste-C)) * intensidade]
            if auxiliar11 = "D" [set denominador denominador + ((0.25 * Legislation-Waste-D) + (0.25 * Class-Waste-D) + (0.25 * 5) + (0.25 * Problems/risks-Waste-D)) * intensidade]
            if auxiliar11 = "E" [set denominador denominador + ((0.25 * Legislation-Waste-E) + (0.25 * Class-Waste-E) + (0.25 * 5) + (0.25 * Problems/risks-Waste-E)) * intensidade]
            
          ]
        ]
      ]
      set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1
  ]
  ;set denominador denominador + (auxiliar-co2 * 1 * 1 * 5 * 1) ; Essa parte considera o CO2 que está sendo emitido na atmosfera. Os números 1, 1, 5 e 1 correspondem
                                                               ; respectivamente à classificação dos critérios Legislação; Classe; Destinação; Problemas/Riscos. Caso eu
                                                               ; considere que o CO2 não deve ser inserido no cálculo do ISI, apenas deve excluir essa linha, ou apenas
                                                               ; inserir o símbbolo ponto e vírgula (;) para desconsiderar a linha.
  set isi ( numerador / (denominador + 1))
  
  
 
 
  ;;;; A partir daqui ele calcula o ISI de novo, para verificar diferentes valores das avaliações dos critérios 
  
  
  
  set auxiliar2 0
  set numerador 0
  set denominador 0
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 0
    while [auxiliar3  <= contador-empresas + 1] [
      if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [
        ask turtle auxiliar2 [set auxiliar11 tipo-residuo-gerado]
        ask link auxiliar2 auxiliar3 [
          
          if color = green [
            if tipo-residuo = "A" [set numerador numerador + ((0.25 * Legislation-Waste-A') + (0.25 * Class-Waste-A') + (0.25 * Use-Waste-A') + (0.25 * Problems/risks-Waste-A')) * intensidade]
            if tipo-residuo = "B" [set numerador numerador + ((0.25 * Legislation-Waste-B') + (0.25 * Class-Waste-B') + (0.25 * Use-Waste-B') + (0.25 * Problems/risks-Waste-B')) * intensidade]
            if tipo-residuo = "C" [set numerador numerador + ((0.25 * Legislation-Waste-C') + (0.25 * Class-Waste-C') + (0.25 * Use-Waste-C') + (0.25 * Problems/risks-Waste-C')) * intensidade]
            if tipo-residuo = "D" [set numerador numerador + ((0.25 * Legislation-Waste-D') + (0.25 * Class-Waste-D') + (0.25 * Use-Waste-D') + (0.25 * Problems/risks-Waste-D')) * intensidade]
            if tipo-residuo = "E" [set numerador numerador + ((0.25 * Legislation-Waste-E') + (0.25 * Class-Waste-E') + (0.25 * Use-Waste-E') + (0.25 * Problems/risks-Waste-E')) * intensidade]
          ]


          
          if color = red[
            if auxiliar11 = "A" [set denominador denominador + ((0.25 * Legislation-Waste-A') + (0.25 * Class-Waste-A') + (0.25 * 5) + (0.25 * Problems/risks-Waste-A')) * intensidade]
            if auxiliar11 = "B" [set denominador denominador + ((0.25 * Legislation-Waste-B') + (0.25 * Class-Waste-B') + (0.25 * 5) + (0.25 * Problems/risks-Waste-B')) * intensidade]
            if auxiliar11 = "C" [set denominador denominador + ((0.25 * Legislation-Waste-C') + (0.25 * Class-Waste-C') + (0.25 * 5) + (0.25 * Problems/risks-Waste-C')) * intensidade]
            if auxiliar11 = "D" [set denominador denominador + ((0.25 * Legislation-Waste-D') + (0.25 * Class-Waste-D') + (0.25 * 5) + (0.25 * Problems/risks-Waste-D')) * intensidade]
            if auxiliar11 = "E" [set denominador denominador + ((0.25 * Legislation-Waste-E') + (0.25 * Class-Waste-E') + (0.25 * 5) + (0.25 * Problems/risks-Waste-E')) * intensidade]
          ]
          
        ]
      ]
      set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1
  ]
  set isi' ( numerador / (denominador + 1))
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálcular Symbiotic Utilization;;;                  
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calcular-symbiotic-utilization
  set Potencial-hazard-of-by-product-A Legislation-Waste-A * Class-Waste-A * Problems/risks-Waste-A
  set Potencial-hazard-of-by-product-B Legislation-Waste-B * Class-Waste-B * Problems/risks-Waste-B
  set Potencial-hazard-of-by-product-C Legislation-Waste-C * Class-Waste-C * Problems/risks-Waste-C
  set Potencial-hazard-of-by-product-D Legislation-Waste-D * Class-Waste-D * Problems/risks-Waste-D
  set Potencial-hazard-of-by-product-E Legislation-Waste-E * Class-Waste-E * Problems/risks-Waste-E
  
  
  set Potencial-hazard-of-by-product-A' Legislation-Waste-A' * Class-Waste-A' * Problems/risks-Waste-A'
  set Potencial-hazard-of-by-product-B' Legislation-Waste-B' * Class-Waste-B' * Problems/risks-Waste-B'
  set Potencial-hazard-of-by-product-C' Legislation-Waste-C' * Class-Waste-C' * Problems/risks-Waste-C'
  set Potencial-hazard-of-by-product-D' Legislation-Waste-D' * Class-Waste-D' * Problems/risks-Waste-D'
  set Potencial-hazard-of-by-product-E' Legislation-Waste-E' * Class-Waste-E' * Problems/risks-Waste-E'
  
  
  set auxiliar2 0
  set symbiotic-utilization 0
  set symbiotic-utilization' 0
  while [auxiliar2 <= contador-empresas + 1] [
    set auxiliar3 0
    while [auxiliar3  <= contador-empresas + 1] [
      if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [
        ask turtle auxiliar2 [set auxiliar11 tipo-residuo-gerado]
        ask link auxiliar2 auxiliar3 [
          if color = green [
            
            if tipo-residuo = "A" [set symbiotic-utilization symbiotic-utilization + Potencial-hazard-of-by-product-A * intensidade]
            if tipo-residuo = "B" [set symbiotic-utilization symbiotic-utilization + Potencial-hazard-of-by-product-B * intensidade]
            if tipo-residuo = "C" [set symbiotic-utilization symbiotic-utilization + Potencial-hazard-of-by-product-C * intensidade]
            if tipo-residuo = "D" [set symbiotic-utilization symbiotic-utilization + Potencial-hazard-of-by-product-D * intensidade]
            if tipo-residuo = "E" [set symbiotic-utilization symbiotic-utilization + Potencial-hazard-of-by-product-E * intensidade]
          
          
            if tipo-residuo = "A" [set symbiotic-utilization' symbiotic-utilization' + Potencial-hazard-of-by-product-A' * intensidade]
            if tipo-residuo = "B" [set symbiotic-utilization' symbiotic-utilization' + Potencial-hazard-of-by-product-B' * intensidade]
            if tipo-residuo = "C" [set symbiotic-utilization' symbiotic-utilization' + Potencial-hazard-of-by-product-C' * intensidade]
            if tipo-residuo = "D" [set symbiotic-utilization' symbiotic-utilization' + Potencial-hazard-of-by-product-D' * intensidade]
            if tipo-residuo = "E" [set symbiotic-utilization' symbiotic-utilization' + Potencial-hazard-of-by-product-E' * intensidade]
          
                  
          
          ]
          
          
        ]
      ]
      set auxiliar3 auxiliar3 + 1
    ]
    set auxiliar2 auxiliar2 + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Incremento da Produção;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to incremento
     set auxiliar2 2
     while [auxiliar2 <= contador-empresas + 1] [
       if (probability-of-increasing-production - 1 >= random 100)[
         if turtle auxiliar2 != nobody [
           ask turtle auxiliar2 [set aux-link2 residuo-gerado]                                                                 ; Guarda no aux-link2 a quantidade de residuo gerada antes do incremento
           ask turtle auxiliar2 [set produto-produzido produto-produzido * increment-production]                               ; MUDEI AQUI PARA O INCREMENTO SER EM FUNÇÃO DO PRODUTO-PRODUZIDO
           ask turtle auxiliar2 [if tipo-produto = 1 [set capacidade-absorcao-residuo (produto-produzido * 1.2)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 2 [set capacidade-absorcao-residuo (produto-produzido * 1.3)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 3 [set capacidade-absorcao-residuo (produto-produzido * 1.2)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 4 [set capacidade-absorcao-residuo (produto-produzido * 1.5)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 5 [set capacidade-absorcao-residuo (produto-produzido * 1.4)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
                      
           
           auxiliar-absorcao-residuos                                                                                      ; Atualiza o que cada empresa está absorvendo
           
           ask turtle auxiliar2 [set aux-link3 residuo-gerado]                                                             ; Guarda no aux-link3 a quantidade de residuo gerada depois do incremento
           
           set aux-link7 (aux-link3 - aux-link2)                                                                           ; Guarda no aux-link7 a diferença ante e depois do incremento
           
           ifelse link auxiliar2 0 != nobody [
             ask link auxiliar2 0 [set intensidade intensidade + aux-link7]
           ]
           [
             ask turtle auxiliar2 [create-link-to turtle 0 [set color red set intensidade aux-link7]]
             
           ]
           
         ]  
         
       ]
       
       auxiliar-absorcao-residuos
       
       set auxiliar2 auxiliar2 + 1
     ]
     
     
     
     set auxiliar2 2
     while [auxiliar2 <= contador-empresas + 1] [
       if (probability-of-decreasing-production - 1 >= random 100) [
         if turtle auxiliar2 != nobody [
           ask turtle auxiliar2 [set aux-link2 residuo-gerado]                                                            ; Guarda no aux-link2 a quantidade de residuo gerada antes de diminuir a produção
           ask turtle auxiliar2 [set produto-produzido produto-produzido / increment-production]                          ; MUDEI AQUI PARA O INCREMENTO SER EM FUNÇÃO DO PRODUTO-PRODUZIDO

           ask turtle auxiliar2 [if tipo-produto = 1 [set capacidade-absorcao-residuo (produto-produzido / 1.2)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 2 [set capacidade-absorcao-residuo (produto-produzido / 1.3)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 3 [set capacidade-absorcao-residuo (produto-produzido / 1.2)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 4 [set capacidade-absorcao-residuo (produto-produzido / 1.5)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           ask turtle auxiliar2 [if tipo-produto = 5 [set capacidade-absorcao-residuo (produto-produzido / 1.4)]]    ; ADICIONEI ESSA LINHA PARA CALCULAR A CAPACIDADE-ABSROCAO-RESIDUO
           
           
           auxiliar-absorcao-residuos                                                                                 ; Atualiza o que cada empresa está absorvendo
           
           ask turtle auxiliar2 [set aux-link3 residuo-gerado]                                                        ; Guarda no aux-link3 a quantidade de residuo gerada depois de dimnuir a produção
           
           set aux-link7 (aux-link2 - aux-link3)                                                                      ; Guarda no aux-link7 a diferença ante e depois de diminuir a produção
           
           
           
           ifelse link auxiliar2 0 != nobody [
             ask link auxiliar2 0 [ifelse intensidade >= aux-link7 [
               ask link auxiliar2 0 [set intensidade intensidade - aux-link7]
               set aux-link7 0
               
               auxiliar-absorcao-residuos
               
               
               
               set auxiliar4 contador-empresas + 1
               ask turtle auxiliar2 [set aux-link8 residuo-absorvido - capacidade-absorcao-residuo]
               while [auxiliar4 >= 2 and aux-link8 > 0] [
                 if (auxiliar2 != auxiliar4) and (link auxiliar4 auxiliar2 != nobody) [
                   ask link auxiliar4 auxiliar2 [ifelse intensidade >= aux-link8 [
                     ask link auxiliar4 auxiliar2 [set intensidade intensidade - aux-link8]
                     
                     ifelse link auxiliar4 0 != nobody [
                       ask link auxiliar4 0 [set intensidade intensidade + aux-link8]]
                     [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link8 set color red]]]
                     
                     set aux-link8 0
                     ask link auxiliar4 auxiliar2 [if intensidade = 0 [die]]]
                   
                   [
                     ask link auxiliar4 auxiliar2 [set aux-link9 intensidade]
                     ask link auxiliar4 auxiliar2 [set aux-link8 aux-link8 - intensidade]
                     
                     ifelse link auxiliar4 0 != nobody [
                       ask link auxiliar4 0 [set intensidade intensidade + aux-link9]]
                     [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link9 set color red]]]
                     
                     ask link auxiliar4 auxiliar2 [die]
                   ]
                   ]
                   
                 ] 
                 
                 auxiliar-absorcao-residuos
                 
                 set auxiliar4 auxiliar4 - 1
                 
               ]
               
               
               ask link auxiliar2 0 [if intensidade = 0 [die]]]
             
             [ask link auxiliar2 0 [set aux-link7 aux-link7 - intensidade]
               set auxiliar3 contador-empresas + 1
               while [auxiliar3 >= 2 and aux-link7 > 0] [
                 if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [ 
                   ask link auxiliar2 auxiliar3 [ifelse intensidade >= aux-link7 [
                     ask link auxiliar2 auxiliar3 [set intensidade intensidade - aux-link7]
                     set aux-link7 0
                     ask link auxiliar2 auxiliar3 [if intensidade = 0 [die]]]
                   
                   [ask link auxiliar2 auxiliar3 [set aux-link7 aux-link7 - intensidade]
                     ask link auxiliar2 auxiliar3 [die]
                     
                   ]
                   
                   ]
                 ]
                 auxiliar-absorcao-residuos
                 
                 set auxiliar3 auxiliar3 - 1
               ]
               
               
               set auxiliar4 contador-empresas + 1
               ask turtle auxiliar2 [set aux-link8 residuo-absorvido - capacidade-absorcao-residuo]
               while [auxiliar4 >= 2 and aux-link8 > 0] [
                 if (auxiliar2 != auxiliar4) and (link auxiliar4 auxiliar2 != nobody) [
                   ask link auxiliar4 auxiliar2 [ifelse intensidade >= aux-link8 [
                     ask link auxiliar4 auxiliar2 [set intensidade intensidade - aux-link8]
                     
                     ifelse link auxiliar4 0 != nobody [
                       ask link auxiliar4 0 [set intensidade intensidade + aux-link8]]
                     [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link8 set color red]]]
                     
                     set aux-link8 0
                     ask link auxiliar4 auxiliar2 [if intensidade = 0 [die]]]
                   
                   [
                     ask link auxiliar4 auxiliar2 [set aux-link9 intensidade]
                     ask link auxiliar4 auxiliar2 [set aux-link8 aux-link8 - intensidade]
                     
                     ifelse link auxiliar4 0 != nobody [
                       ask link auxiliar4 0 [set intensidade intensidade + aux-link9]]
                     [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link9 set color red]]]
                     
                     ask link auxiliar4 auxiliar2 [die]
                   ]
                   ]
                   
                 ] 
                 
                 auxiliar-absorcao-residuos 
                 
                 set auxiliar4 auxiliar4 - 1
                 
               ]
               
               
               
               ask link auxiliar2 0 [die] 
             ]
             ]
           ] 
           
           
           [set auxiliar3 contador-empresas + 1
             while [auxiliar3 >= 2 and aux-link7 > 0] [
               if (auxiliar2 != auxiliar3) and (link auxiliar2 auxiliar3 != nobody) [ 
                 ask link auxiliar2 auxiliar3 [ifelse intensidade >= aux-link7 [
                   ask link auxiliar2 auxiliar3 [set intensidade intensidade - aux-link7]
                   set aux-link7 0
                   ask link auxiliar2 auxiliar3 [if intensidade = 0 [die]]]
               
                 [ask link auxiliar2 auxiliar3 [set aux-link7 aux-link7 - intensidade]
                   ask link auxiliar2 auxiliar3 [die]
                 ]
                 
                 ]
               ]
               auxiliar-absorcao-residuos
               
               set auxiliar3 auxiliar3 - 1
             ]
             
             
             set auxiliar4 contador-empresas + 1
             ask turtle auxiliar2 [set aux-link8 residuo-absorvido - capacidade-absorcao-residuo]
             while [auxiliar4 >= 2 and aux-link8 > 0] [
               if (auxiliar2 != auxiliar4) and (link auxiliar4 auxiliar2 != nobody) [
                 ask link auxiliar4 auxiliar2 [ifelse intensidade >= aux-link8 [
                   ask link auxiliar4 auxiliar2 [set intensidade intensidade - aux-link8]
                   
                   ifelse link auxiliar4 0 != nobody [
                     ask link auxiliar4 0 [set intensidade intensidade + aux-link8]]
                   [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link8 set color red]]]
                   
                   set aux-link8 0
                   ask link auxiliar4 auxiliar2 [if intensidade = 0 [die]]]
                 
                 [
                   ask link auxiliar4 auxiliar2 [set aux-link9 intensidade]
                   ask link auxiliar4 auxiliar2 [set aux-link8 aux-link8 - intensidade]
                   
                   ifelse link auxiliar4 0 != nobody [
                     ask link auxiliar4 0 [set intensidade intensidade + aux-link9]]
                   [ask turtle auxiliar4 [create-link-to turtle 0 [set intensidade aux-link9 set color red]]]
                   
                   ask link auxiliar4 auxiliar2 [die]
                 ]
                 ]
                 
               ] 
               
               auxiliar-absorcao-residuos 
               
               set auxiliar4 auxiliar4 - 1
               
             ]
             
             
             
             
           ]
           
         ]
         
       ]
       set auxiliar2 auxiliar2 + 1
     ]
end 



;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Mostra a Intensidade;;;              
;;;;;;;;;;;;;;;;;;;;;;;;;;

to mostra-intensidade
  clear-output
  
  
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      
      ifelse link auxiliar 0 != nobody
        [ask link auxiliar 0 [set aux-link intensidade]]
        [set aux-link 0]
      
      
      output-type "Company "
      output-type auxiliar
      output-type "                                                                                             "
      output-show " "
      
      output-type "Time in park = "
      ask turtle auxiliar [output-type tempo-no-parque]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Type of final product produced = "
      ask turtle auxiliar [output-type tipo-produto]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of final product produced (ton) = "
      ask turtle auxiliar [output-type produto-produzido]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Type of byproduct generated = "
      ask turtle auxiliar [output-type tipo-residuo-gerado]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of byproduct generated (ton) = "
      ask turtle auxiliar [output-type residuo-gerado]
      output-type "                                                                                             "
      output-show " "

      output-type "Amount of byproduct sent to landfill (ton) = "
      ask turtle auxiliar [output-type aux-link]
      output-type "                                                                                             "
      output-show " "

      output-type "Amount of CO2 generated (ton) = "
      ask turtle auxiliar [output-type co2]
      output-type "                                                                                             "
      output-show " "
            
      output-type "Type of virgin raw material used as input = "
      ask turtle auxiliar [output-type tipo-material-virgem]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of virgin raw material used (ton) = "
      ask turtle auxiliar [output-type material-virgem]
      output-type "                                                                                             "
      output-show " "

      output-type "Type of final product used as input = "
      ask turtle auxiliar [output-type tipo-produto-insumo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of final product used as input (ton) = "
      ask turtle auxiliar [output-type produto-insumo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of energy used (kWh) = "
      ask turtle auxiliar [output-type energia]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Type of byproduct used as input = "
      ask turtle auxiliar [output-type tipo-residuo-usado1]
      ask turtle auxiliar [if tipo-residuo-usado2 != 0 [
        output-type ", "
        ask turtle auxiliar [output-type tipo-residuo-usado2]
      ]]
      ask turtle auxiliar [if tipo-residuo-usado3 != 0 [
        output-type ", "
        ask turtle auxiliar [output-type tipo-residuo-usado3]
      ]]
      ask turtle auxiliar [if tipo-residuo-usado4 != 0 [
        output-type ", "
        ask turtle auxiliar [output-type tipo-residuo-usado4]
      ]]
      ask turtle auxiliar [if tipo-residuo-usado5 != 0 [
        output-type ", "
        ask turtle auxiliar [output-type tipo-residuo-usado5]  
      ]]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Capacity of byproduct absorption (ton) = "
      ask turtle auxiliar [output-type capacidade-absorcao-residuo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Amount of byproduct used as input (ton) = "
      ask turtle auxiliar [output-type residuo-absorvido]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Received with sale of byproduct (US$) = "
      ask turtle auxiliar [output-type recebido-venda-residuo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Saved with production with byproduct (US$) = "
      ask turtle auxiliar [output-type economizado-compra-residuo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Spent (US$) = "
      ask turtle auxiliar [output-type custo]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Earned (US$) = "
      ask turtle auxiliar [output-type receita]
      output-type "                                                                                             "
      output-show " "
      
      output-type "Profit (US$) = "
      ask turtle auxiliar [output-type lucro]
      output-type "                                                                                             "
      output-show " "
            
      output-type "------------------------------------------------------------------------------------------- "
      output-show " "
      
      
    ]
    set auxiliar auxiliar + 1
  ]
  
  
  output-type "INTENSITY OF THE LINKS OF BYPRODUCT"
  output-type "                                                                                             "
  output-show " "
  
  set auxiliar2 0
  while [auxiliar2 <= contador-empresas + 1] [
    if turtle auxiliar2 != nobody [
      set auxiliar3 0
      while [auxiliar3 <= contador-empresas + 1] [
        if link auxiliar2 auxiliar3 != nobody [
          ask link auxiliar2 auxiliar3 [if color = green or color = red [
            output-type "Intensity of the link "
            output-type auxiliar2
            output-type " "
            output-type auxiliar3
            output-type " (ton) = "
            ask link auxiliar2 auxiliar3 [output-type intensidade]
            output-type "                                                                                             "
            output-show " "
          ]
          ]
        ]
        
        set auxiliar3 auxiliar3 + 1
      ]
    ] 
    set auxiliar2 auxiliar2 + 1
  ]
  
  
  output-type "------------------------------------------------------------------------------------------- "
  output-show " "
  output-type "INTENSITY OF THE LINKS OF FINAL PRODUCT"
  output-type "                                                                                             "
  output-show " "
  
  set auxiliar2 0
  while [auxiliar2 <= contador-empresas + 1] [
    if turtle auxiliar2 != nobody [
      set auxiliar3 0
      while [auxiliar3 <= contador-empresas + 1] [
        if link auxiliar2 auxiliar3 != nobody [
          ask link auxiliar2 auxiliar3 [if color = blue [
            output-type "Intensity of the link "
            output-type auxiliar2
            output-type " "
            output-type auxiliar3
            output-type " (ton) = "
            ask link auxiliar2 auxiliar3 [output-type intensidade]
            output-type "                                                                                             "
            output-show " "
          ]
          ]
        ]
        
        set auxiliar3 auxiliar3 + 1
      ]
    ] 
    set auxiliar2 auxiliar2 + 1
  ]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Arumar os Negativos;;;
;;;;;;;;;;;;;;;;;;;;;;;;;

to arrumar-negativos
  
set auxiliar 2
while [auxiliar <= contador-empresas + 1] [
  set auxiliar2 0
  while [auxiliar2 <= contador-empresas + 1] [
    if (link auxiliar auxiliar2 != nobody) [
      ask link auxiliar auxiliar2 [if intensidade < 0 [
          set aux-link (- intensidade)
          set aux-link2 aux-link
          set auxiliar3 0
          while [auxiliar3 <= contador-empresas + 1] [
            if link auxiliar auxiliar3 != nobody[
              ask link auxiliar auxiliar3 [if intensidade > aux-link2 and aux-link2 > 0 [
                  ask link auxiliar auxiliar3 [set intensidade intensidade - aux-link2]
                  set aux-link2 0
              ]
              ]
            ]
            
            if link auxiliar3 auxiliar2 != nobody [
              ask link auxiliar3 auxiliar2 [if intensidade > aux-link and aux-link > 0 [
                  ask link auxiliar3 auxiliar2 [set intensidade intensidade - aux-link]
                  set aux-link 0
                  ask link auxiliar auxiliar2 [die]
              ]
              ]
            ]
            set auxiliar3 auxiliar3 + 1
          ]
          
          
          
      ]
      ]
    ]
    set auxiliar2 auxiliar2 + 1
  ]
  set auxiliar auxiliar + 1
]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo Indicador de Eco-Connectance;;;         
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calcular-eco-connectance
  
  ifelse conexoes-possiveis = 0 [set eco-connectance 0]
  [set eco-connectance (quantidade-conexoes / conexoes-possiveis)]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo Indicador de Grau de Reciclagem;;;      
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calcular-grau-reciclagem
  
  set aux-grau-reciclagem 0
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    set auxiliar2 auxiliar + 1
    while [auxiliar2 <= contador-empresas + 1] [
      set aux-link 0
      if link auxiliar auxiliar2 != nobody [
        ask link auxiliar auxiliar2 [if color = green [
          ask link auxiliar auxiliar2 [set aux-link intensidade]
        ]
        ]
      ]
      if link auxiliar2 auxiliar != nobody [
        ask link auxiliar2 auxiliar [if color = green [
          ask link auxiliar2 auxiliar [set aux-link aux-link + intensidade]
        ]
        ]
      ]
      
      if turtle auxiliar != nobody and turtle auxiliar2 != nobody [
        ask turtle auxiliar [set auxiliar3 residuo-gerado]
        ask turtle auxiliar2 [set auxiliar4 residuo-gerado]
        if link auxiliar auxiliar2 != nobody or link auxiliar2 auxiliar != nobody [
          set aux-grau-reciclagem aux-grau-reciclagem + (aux-link / (auxiliar3 + auxiliar4))
        ]
      ]
      
      set auxiliar2 auxiliar2 + 1
    ]
    
    set auxiliar auxiliar + 1
  ]
  
  ifelse quantidade-conexoes = 0 [set grau-reciclagem 0]
  [set grau-reciclagem eco-connectance * (aux-grau-reciclagem / quantidade-conexoes)]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo do Industrial Symbiosis Index e do Link Density;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calcular-industrial-symbiosis-index-and-link-density
 
  ifelse (quantidade-conexoes + conexoes-produto = 0)
  [set industrial-symbiosis-index 0] 
  [set industrial-symbiosis-index (quantidade-conexoes) / (quantidade-conexoes + conexoes-produto)]
 
  ifelse (quantidade-empresas = 0)
  [set link-density 0]
  [set link-density (quantidade-conexoes + conexoes-produto) / quantidade-empresas]
end   





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;   
;;;Criar links de produtos;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

to criar-link-de-produto
  
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      set auxiliar2 2
      while [auxiliar2 <= contador-empresas + 1] [
        if turtle auxiliar2 != nobody [
          ask turtle auxiliar [set auxiliar3 tipo-produto-insumo]
          ask turtle auxiliar2 [set auxiliar4 tipo-produto]
          if auxiliar3 = auxiliar4 [
            ask turtle auxiliar [set auxiliar5 produto-insumo]                                                       
            ask turtle auxiliar2 [set auxiliar6 produto-produzido - produto-enviado]
            ask turtle auxiliar [set auxiliar7 produto-insumo-interno]
            if auxiliar7 < auxiliar5 and auxiliar5 <= auxiliar6 and auxiliar5 > 0 [
              ask turtle auxiliar2 [create-link-to turtle auxiliar [set intensidade auxiliar5 set color blue]]
              ask turtle auxiliar2 [set produto-enviado produto-enviado + auxiliar5]
              ask turtle auxiliar [set produto-insumo-interno produto-insumo-interno + auxiliar5]
            ]
            if auxiliar7 < auxiliar5 and auxiliar5 > auxiliar6 and auxiliar6 > 0 [
              ask turtle auxiliar2 [create-link-to turtle auxiliar [set intensidade auxiliar6 set color blue]]
              ask turtle auxiliar2 [set produto-enviado produto-enviado + auxiliar6]
              ask turtle auxiliar [set produto-insumo-interno produto-insumo-interno + auxiliar6]
            ]
          ]
        ]
        set auxiliar2 auxiliar2 + 1
      ]
    ]
    set auxiliar auxiliar + 1
  ]
  set auxiliar8 2
  while [auxiliar8 <= contador-empresas + 1] [
    if turtle auxiliar8 != nobody [
      ask turtle auxiliar8 [set produto-insumo-externo produto-insumo - produto-insumo-interno]
    ]
    set auxiliar8 auxiliar8 + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Auxiliar de link de produto;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to auxiliar-link-de-produto
  
  ask links [if color = blue [die]]
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      ask turtle auxiliar [
        set produto-insumo-interno 0
        set produto-insumo-externo 0
        set produto-enviado 0
      ]
    ]
    set auxiliar auxiliar + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Produção com resíduo e sem resíduo;;;         COLOQUEI ESSA FUNÇAO DENTRO DA FUNÇÃO "AUXILIAR PARA LIMITAR A ABSORÇÃO DE RESÍDUOS"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-producao-com-residuo-e-sem-residuo
  
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    
    if turtle auxiliar != nobody [
      
      ask turtle auxiliar [if tipo-produto = 1 [
        
        ask turtle auxiliar [set produzido-com-residuo (residuo-absorvido / 1.2)]
        ask turtle auxiliar [set energia (produzido-com-residuo * 800)]
        ask turtle auxiliar [set co2 (produzido-com-residuo * 0.1)]
        ask turtle auxiliar [set residuo-gerado (produzido-com-residuo * 0.1)]
        
        
        ask turtle auxiliar [set produzido-sem-residuo (produto-produzido - produzido-com-residuo)]
        ask turtle auxiliar [set energia (energia + (produzido-sem-residuo * 15000))]
        ask turtle auxiliar [set co2 (co2 + (produzido-sem-residuo * 1.2))]
        ask turtle auxiliar [set residuo-gerado (residuo-gerado + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set material-virgem (produzido-sem-residuo * 2)]
        ask turtle auxiliar [set produto-insumo (produzido-sem-residuo * 0.3)]
      ]
      ]
      
      
      ask turtle auxiliar [if tipo-produto = 2 [
        
        ask turtle auxiliar [set produzido-com-residuo (residuo-absorvido / 1.3)]
        ask turtle auxiliar [set energia (produzido-com-residuo * 1200)]
        ask turtle auxiliar [set co2 (produzido-com-residuo * 0.2)]
        ask turtle auxiliar [set residuo-gerado (produzido-com-residuo * 0.1)]
        
        
        ask turtle auxiliar [set produzido-sem-residuo (produto-produzido - produzido-com-residuo)]
        ask turtle auxiliar [set energia (energia + (produzido-sem-residuo * 12000))]
        ask turtle auxiliar [set co2 (co2 + (produzido-sem-residuo * 1.4))]
        ask turtle auxiliar [set residuo-gerado (residuo-gerado + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set material-virgem (produzido-sem-residuo * 2)]
        ask turtle auxiliar [set produto-insumo (produzido-sem-residuo * 0.5)]
      ]
      ]
      
      ask turtle auxiliar [if tipo-produto = 3 [
        
        ask turtle auxiliar [set produzido-com-residuo (residuo-absorvido / 1.2)]
        ask turtle auxiliar [set energia (produzido-com-residuo * 6600)]
        ask turtle auxiliar [set co2 (produzido-com-residuo * 0.1)]
        ask turtle auxiliar [set residuo-gerado (produzido-com-residuo * 0.1)]
        
        
        ask turtle auxiliar [set produzido-sem-residuo (produto-produzido - produzido-com-residuo)]
        ask turtle auxiliar [set energia (energia + (produzido-sem-residuo * 1800))]
        ask turtle auxiliar [set co2 (co2 + (produzido-sem-residuo * 2.5))]
        ask turtle auxiliar [set residuo-gerado (residuo-gerado + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set material-virgem (produzido-sem-residuo * 3)]
        ask turtle auxiliar [set produto-insumo (produzido-sem-residuo * 0.6)]
      ]
      ]


      ask turtle auxiliar [if tipo-produto = 4 [
        
        ask turtle auxiliar [set produzido-com-residuo (residuo-absorvido / 1.5)]
        ask turtle auxiliar [set energia (produzido-com-residuo * 1000)]
        ask turtle auxiliar [set co2 (produzido-com-residuo * 0.4)]
        ask turtle auxiliar [set residuo-gerado (produzido-com-residuo * 0.1)]
        
        
        ask turtle auxiliar [set produzido-sem-residuo (produto-produzido - produzido-com-residuo)]
        ask turtle auxiliar [set energia (energia + (produzido-sem-residuo * 5000))]
        ask turtle auxiliar [set co2 (co2 + (produzido-sem-residuo * 3.3))]
        ask turtle auxiliar [set residuo-gerado (residuo-gerado + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set material-virgem (produzido-sem-residuo * 4)]
        ask turtle auxiliar [set produto-insumo (produzido-sem-residuo * 0.4)]
      ]
      ]


      ask turtle auxiliar [if tipo-produto = 5 [
        
        ask turtle auxiliar [set produzido-com-residuo (residuo-absorvido / 1.4)]
        ask turtle auxiliar [set energia (produzido-com-residuo * 1000)]
        ask turtle auxiliar [set co2 (produzido-com-residuo * 0.3)]
        ask turtle auxiliar [set residuo-gerado (produzido-com-residuo * 0.1)]
        
        
        ask turtle auxiliar [set produzido-sem-residuo (produto-produzido - produzido-com-residuo)]
        ask turtle auxiliar [set energia (energia + (produzido-sem-residuo * 1000))]
        ask turtle auxiliar [set co2 (co2 + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set residuo-gerado (residuo-gerado + (produzido-sem-residuo * 0.1))]
        ask turtle auxiliar [set material-virgem (produzido-sem-residuo * 1)]
        ask turtle auxiliar [set produto-insumo (produzido-sem-residuo * 0.2)]
      ]
      ]

      
      
      
    ]
    set auxiliar auxiliar + 1
  ]
end 












;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo financeiro;;;
;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-financeiro
  
    
  set auxiliar 2
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      ifelse link auxiliar 0 != nobody [ask link auxiliar 0 [set aux-link intensidade]] [set aux-link 0]
      ask turtle auxiliar [set recebido-venda-residuo (residuo-gerado - aux-link) *  valor-residuo]
      ask turtle auxiliar [set receita (produto-produzido * valor-produto + recebido-venda-residuo)]
      ask turtle auxiliar [set custo ((energia * valor-energia) + (produto-insumo * valor-produto) + (material-virgem * valor-material-virgem) + (residuo-absorvido * valor-residuo))]
      ask turtle auxiliar [set lucro (receita - custo)]
      
      ask turtle auxiliar [if tipo-produto = 1 [
          set economizado-compra-residuo (produzido-com-residuo * ((15000 * valor-energia + 2 * valor-material-virgem + 0.3 * valor-produto) - (800 * valor-energia + 1.2 * valor-residuo)))]]
      
      ask turtle auxiliar [if tipo-produto = 2 [
          set economizado-compra-residuo (produzido-com-residuo * ((12000 * valor-energia + 2 * valor-material-virgem + 0.5 * valor-produto) - (1200 * valor-energia + 1.3 * valor-residuo)))]]
      
      ask turtle auxiliar [if tipo-produto = 3 [
          set economizado-compra-residuo (produzido-com-residuo * ((1800 * valor-energia + 3 * valor-material-virgem + 0.6 * valor-produto) - (6600 * valor-energia + 1.2 * valor-residuo)))]]
      
      ask turtle auxiliar [if tipo-produto = 4 [
          set economizado-compra-residuo (produzido-com-residuo * ((5000 * valor-energia + 4 * valor-material-virgem + 0.4 * valor-produto) - (1000 * valor-energia + 1.5 * valor-residuo)))]]
      
      ask turtle auxiliar [if tipo-produto = 5 [
          set economizado-compra-residuo (produzido-com-residuo * ((1000 * valor-energia + 1 * valor-material-virgem + 0.2 * valor-produto) - (1000 * valor-energia + 1.4 * valor-residuo)))]]
      
      
    ]
    set auxiliar auxiliar + 1
  ]
end 





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo do indicador Eco-Efficiency;;;            OK!!!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-eco-efficiency
  
  set auxiliar 2
  set numerador 0
  set denominador 0
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      ask turtle auxiliar [set numerador numerador + recebido-venda-residuo + economizado-compra-residuo]
      ask turtle auxiliar [set denominador denominador + (co2 / 3) + ((energia * energia-tep)/ 3) + ((material-virgem + produto-insumo) / 3)] ; Aqui transformei a energia de kWh para Tonelada Equivalente de Petroleo (tep)
    ]                                                                                                                          
    set auxiliar auxiliar + 1
  ]
  ifelse denominador = 0 [set eco-efficiency 0] [set eco-efficiency (numerador / denominador)]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo de CO2 e de energia;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-co2-energia
  
  set auxiliar 2
  set auxiliar-co2 0
  set auxiliar-energia 0
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      ask turtle auxiliar [set auxiliar-co2 auxiliar-co2 + co2]
      ask turtle auxiliar [set auxiliar-energia auxiliar-energia + energia]
    ]
    set auxiliar auxiliar + 1
  ]
end 



;;;;;;;;;;;;;;;;;;;;;;;
;;;% of reused waste;;;
;;;;;;;;;;;;;;;;;;;;;;;

to calculo-%reused-waste
  
  ifelse (residuos-trocados + residuos-descartados) = 0 [set %reused-waste 0] [set %reused-waste ((residuos-trocados / (residuos-trocados + residuos-descartados)) * 100)]
end 




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo do indicador Resource Productivity;;;   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-resource-productivity
  
  set auxiliar 2
  set numerador 0
  set denominador 0
  set denominador2 0
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [
      ask turtle auxiliar [set numerador numerador + lucro]
      ask turtle auxiliar [set denominador denominador + (material-virgem + produto-insumo)]
      ask turtle auxiliar [set denominador2 denominador2 + (energia * energia-tep)]          ; Aqui transformei a energia de kWh para Tonelada Equivalente de Petroleo (tep)
    ]
    set auxiliar auxiliar + 1
  ]
  ifelse denominador = 0 [set resource-productivity-substance 0] [set resource-productivity-substance (numerador / denominador)]
  ifelse denominador2 = 0 [set resource-productivity-energy 0] [set resource-productivity-energy (numerador / denominador2)]
end   





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Cálculo do indicador Environmental Impact;;;         
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to calculo-environmental-impact
   
  set auxiliar 2
  set auxiliar2 0
  set ecc 0
  set vmfs 0
  set ldfs 0
  set tfi 0
  set ecfi 0
  while [auxiliar <= contador-empresas + 1] [
    if turtle auxiliar != nobody [


      ask turtle auxiliar [set ecc ecc + (residuo-absorvidoA * embodied-carbonA * co2-price)
                                       + (residuo-absorvidoB * embodied-carbonB * co2-price)
                                       + (residuo-absorvidoC * embodied-carbonC * co2-price)  
                                       + (residuo-absorvidoD * embodied-carbonD * co2-price)
                                       + (residuo-absorvidoE * embodied-carbonE * co2-price)
                                       ]
      
      
      
      ask turtle auxiliar [if tipo-produto = 1 [
          set vmfs vmfs + (produzido-com-residuo * ((2 * valor-material-virgem + 0.3 * valor-produto) - (0 * valor-material-virgem + 0 * valor-produto + 1.1 * valor-residuo)))]] ; Coloquei os zeros auqi porque se eu quiser mudar o balanço de massa fica mais facil
                     
      ask turtle auxiliar [if tipo-produto = 2 [
          set vmfs vmfs + (produzido-com-residuo * ((2 * valor-material-virgem + 0.5 * valor-produto) - (0 * valor-material-virgem + 0 * valor-produto + 1.1 * valor-residuo)))]] ; Coloquei os zeros auqi porque se eu quiser mudar o balanço de massa fica mais facil

      ask turtle auxiliar [if tipo-produto = 3 [
          set vmfs vmfs + (produzido-com-residuo * ((3 * valor-material-virgem + 0.6 * valor-produto) - (0 * valor-material-virgem + 0 * valor-produto + 1.1 * valor-residuo)))]] ; Coloquei os zeros auqi porque se eu quiser mudar o balanço de massa fica mais facil

      ask turtle auxiliar [if tipo-produto = 4 [
          set vmfs vmfs + (produzido-com-residuo * ((4 * valor-material-virgem + 0.4 * valor-produto) - (0 * valor-material-virgem + 0 * valor-produto + 1.1 * valor-residuo)))]] ; Coloquei os zeros auqi porque se eu quiser mudar o balanço de massa fica mais facil

      ask turtle auxiliar [if tipo-produto = 5 [
          set vmfs vmfs + (produzido-com-residuo * ((1 * valor-material-virgem + 0.2 * valor-produto) - (0 * valor-material-virgem + 0 * valor-produto + 1.1 * valor-residuo)))]] ; Coloquei os zeros auqi porque se eu quiser mudar o balanço de massa fica mais facil
      
      
      ifelse link auxiliar 0 != nobody [ask link auxiliar 0 [set auxiliar2 intensidade]] [set auxiliar2 0]
      ask turtle auxiliar [set ldfs ldfs + ((residuo-gerado - auxiliar2) * valor-residuo)]  ;O auxiliar2 é a quantidade que está sendo descartada
      
      ask turtle auxiliar [if tipo-produto = 1 [
          set ecfi ecfi + (produzido-com-residuo * ((800 - 15000) * 0.5 * co2-price)) ]] ;Energia que é economizada, multiplicada pela co2 content (0.5) da energia elétrica, multiplicado pelo co2-price.
      
      ask turtle auxiliar [if tipo-produto = 2 [
          set ecfi ecfi + (produzido-com-residuo * ((1200 - 12000) * 0.5 * co2-price)) ]] ;Energia que é economizada, multiplicada pela co2 content (0.5) da energia elétrica, multiplicado pelo co2-price.
      
      ask turtle auxiliar [if tipo-produto = 3 [
          set ecfi ecfi + (produzido-com-residuo * ((6600 - 1800) * 0.5 * co2-price)) ]] ;Energia que é economizada, multiplicada pela co2 content (0.5) da energia elétrica, multiplicado pelo co2-price.
      
      ask turtle auxiliar [if tipo-produto = 4 [
          set ecfi ecfi + (produzido-com-residuo * ((1000 - 5000) * 0.5 * co2-price)) ]] ;Energia que é economizada, multiplicada pela co2 content (0.5) da energia elétrica, multiplicado pelo co2-price.
      
      ask turtle auxiliar [if tipo-produto = 5 [
          set ecfi ecfi + (produzido-com-residuo * ((1000 - 1000) * 0.5 * co2-price)) ]] ;Energia que é economizada, multiplicada pela co2 content (0.5) da energia elétrica, multiplicado pelo co2-price.
      
      
    ]
    
 
  set auxiliar auxiliar + 1
]
set environmental-impact ((ecc - vmfs - ldfs + tfi + ecfi) / 5) ; O 5 é a soma dos pesos. Temos pesos igauis para todos os indicadores.
end 








;;;;;;;;;;;;;;;;;;;;;;
;;;Função Principal;;;
;;;;;;;;;;;;;;;;;;;;;;

to go
    
  auxiliar-link-de-produto
  
  incremento
  
  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo
  
  entrada-de-nova-empresa
  
  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo
  
  saida-de-empresas
  
  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo
  
  criar-conexao
  
  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo
  
  intensidade-conexao-aumentada
  
  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo
  
  intensidade-conexao-diminuida

  auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo

  criar-link-de-produto
  
  arrumar-negativos ; Preciso dessa rotina porque o NetLogo me devolve alguns valores negativos elevados a -14 por exemplo. Aqui ele procura os links negativos, elimina eles e acerta as contas
  
  ask links [if intensidade = 0 [die]] ; Mata os links que estão com a intensidade = 0
  
  set quantidade-empresas count turtles - 2 ; Conta quantas empresas estão no parque
 
  ;ask links with [intensidade < 0 and intensidade > -0.000000000001] [die]
  
  contar-conexoes
    
  set periodo periodo + 1; Incremento do período (mês, ano, etc.)
  
  calculo-financeiro
  
  calculo-quantidades
  
  calculo-co2-energia
  
  calculo-%reused-waste
  
  calcular-isi
  
  calcular-eco-connectance
  
  calcular-grau-reciclagem
  
  calcular-symbiotic-utilization
  
  calcular-industrial-symbiosis-index-and-link-density
  
  calculo-eco-efficiency
  
  calculo-resource-productivity
  
  calculo-environmental-impact
     
  update-plots
  
  ask turtles [set tempo-no-parque tempo-no-parque + 1] ; Aumenta o tempo de existência da empresa no parque
  
  ;auxiliar-absorcao-residuos ; Atualiza o que cada empresa está absorvendo (ACHO QUE NÃO PRECISA AQUI)
  
  mostra-intensidade
  
  ;show count links with [intensidade <= 0]
  
  ;ask links with [intensidade <= 0] [show intensidade show tempo-existencia]
  
  ;ask turtles with [capacidade-absorcao-residuo - residuo-absorvido <= 1.1] [show capacidade-absorcao-residuo - residuo-absorvido]
 
  export-interface (word "Period " periodo ".jpg")  ; This function saves a print screen of the interface
  
  export-output (word "Period " periodo ".txt")     ; This function saves a text document of the values of each company and of each link
end 

There are 7 versions of this model.

Uploaded by When Description Download
Gabriel Couto Mantese about 6 years ago EIPSymb#2 - Second version of the model - With New rules for complex scenarios.nlogo Short comment describing changes: Replace the existing model with new rules for complex scenarios Download this version
Gabriel Couto Mantese about 6 years ago EIPSymb#2 - Second version of the model Download this version
Gabriel Couto Mantese about 6 years ago EIPSymb - First version of the model Download this version
Gabriel Couto Mantese about 6 years ago Reverted to older version Download this version
Gabriel Couto Mantese about 6 years ago Reverted to older version Download this version
Gabriel Couto Mantese about 6 years ago EIPSymb#2 Download this version
Gabriel Couto Mantese over 7 years ago Initial upload Download this version

Attached files

File Type Description Last updated
EIPSymb.png preview Preview for 'EIPSymb' over 7 years ago, by Gabriel Couto Mantese Download

This model does not have any ancestors.

This model does not have any descendants.