Tech ventures and roadmapping - Simulation model

Tech ventures and roadmapping - Simulation model 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 6.1.1 • Viewed 48 times • Downloaded 2 times • Run 0 times
Download the 'Tech ventures and roadmapping - Simulation model' modelDownload this modelEmbed this model

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


Comments and Questions

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

Click to Run Model

globals [
  Periodo
  Tempo_medio_decorrido_para_preenchimento_dos_Roadmaps
  Quantidade_media_de_empresas_colaboradoras_em_cada_Roadmap
  Valor_medio_Roadmap
  Valor_total_Roadmaps
  Contador                                                 ; Auxiliar
  Contador2                                                ; Auxiliar
  Auxiliar                                                 ; Auxiliar
  Who_maior                                                ; Auxiliar
  Auxiliar2                                                ; Auxiliar
  Auxiliar3                                                ; Auxiliar
  Auxiliar4                                                ; Auxiliar
  Auxiliar5                                                ; Auxiliar
  Auxiliar6                                                ; Auxiliar
  Auxiliar7                                                ; Auxiliar
  Auxiliar8                                                ; Auxiliar
  Auxiliar9
  Number_of_Partners_aux
  Aux-tec-A                                                ; Auxiliar
  Aux-tec-B                                                ; Auxiliar
  Aux-tec-C                                                ; Auxiliar
  Aux-tec-D                                                ; Auxiliar
  Aux-tec-E                                                ; Auxiliar
  Aux-periodo                                              ; Auxiliar
  Aux_Valor_Inic_Paga_Tec_A                                ; Deste auxiliar para baixo é para auxiliar nos valores pagos e recebidos pelas Iniciadoras
  Aux_Valor_Inic_Paga_Tec_B
  Aux_Valor_Inic_Paga_Tec_C
  Aux_Valor_Inic_Paga_Tec_D
  Aux_Valor_Inic_Paga_Tec_E
  Aux_Valor_Inic_Paga_Tec_A_Inden
  Aux_Valor_Inic_Paga_Tec_B_Inden
  Aux_Valor_Inic_Paga_Tec_C_Inden
  Aux_Valor_Inic_Paga_Tec_D_Inden
  Aux_Valor_Inic_Paga_Tec_E_Inden
  Aux_Valor_Inic_Recebe_Tec_A_Inden
  Aux_Valor_Inic_Recebe_Tec_B_Inden
  Aux_Valor_Inic_Recebe_Tec_C_Inden
  Aux_Valor_Inic_Recebe_Tec_D_Inden
  Aux_Valor_Inic_Recebe_Tec_E_Inden
  Aux_Transfer_Tec_A
  Aux_Transfer_Tec_B
  Aux_Transfer_Tec_C
  Aux_Transfer_Tec_D
  Aux_Transfer_Tec_E
  Aux_Colab_Recebe_Tec
  Aux_Colab_Recebe_Inden
  Aux_Colab_Paga_Inden
  Aux_Transfer_Tec
  Qtde_Colaboradoras                     ; Daqui para baixo são os indicadores gerais
  Qtde_Iniciadoras
  Qtde_Roadmaps
  Qtde_Roadmaps_Abertos
  Qtde_Roadmaps_Interromp_Fase_0
  Qtde_Roadmaps_Interromp_Fase_1
  Qtde_Roadmaps_Interromp_Fase_2
  Qtde_Roadmaps_Interromp_Fase_3
  Qtde_Roadmaps_Interromp_Fase_4
  Qtde_Roadmaps_Finalizados
  Propr_intelec_trocada
  Pago_por_prop_intelec
  Colab_pagam_inde
  Inic_pagam_inde
  x
  y
  Platform_environment
  Prob_Phase_4_to_Finalized_Mean
  Platform_influence
]

breed [iniciadoras iniciadora]
breed [colaboradoras colaboradora]
breed [Roadmaps Roadmap]


iniciadoras-own [
  Entrada_no_modelo
  Saida_do_modelo
  Disposicao_compartilhar
  Information_reliability_aux
  Autonomy_-Less_intermediaries-_aux
  Traceability_aux
  IP_security_aux
  Accuracy_and_precision_aux
  Speed_of_processes_and_operations_aux
  Boas_experiencias_com_a_plataforma_aux
  Valor_pago_propr_intelec
  Propriedade_intelectual_recebida
  Valor_recebido_indenizacao
  Valor_pago_indenizacao
]

colaboradoras-own [
  Entrada_no_modelo
  Saida_do_modelo
  Disposicao_compartilhar
  Information_reliability_aux
  Autonomy_-Less_intermediaries-_aux
  Traceability_aux
  IP_security_aux
  Accuracy_and_precision_aux
  Speed_of_processes_and_operations_aux
  Boas_experiencias_com_a_plataforma_aux
  Tipo_colaboracao
  Valor_recebido_propr_intelec
  Propriedade_intelectual_enviada
  Valor_recebido_indenizacao
  Valor_pago_indenizacao
]

Roadmaps-own [
  Roadmap_type
  Iniciado_por
  Iniciado_em
  Tempo_maximo_aberto
  Valor_colaboracao_A
  Valor_colaboracao_B
  Valor_colaboracao_C
  Valor_colaboracao_D
  Valor_colaboracao_E
  Fase
  Periodos_na_Fase
  Encerramento
  Finalizado
  Valor_Colab_Recebe_Tec_A
  Valor_Colab_Recebe_Tec_B
  Valor_Colab_Recebe_Tec_C
  Valor_Colab_Recebe_Tec_D
  Valor_Colab_Recebe_Tec_E
  Valor_Colab_Recebe_Tec_A_Inden
  Valor_Colab_Recebe_Tec_B_Inden
  Valor_Colab_Recebe_Tec_C_Inden
  Valor_Colab_Recebe_Tec_D_Inden
  Valor_Colab_Recebe_Tec_E_Inden
  Valor_Colab_Paga_Tec_A_Inden
  Valor_Colab_Paga_Tec_B_Inden
  Valor_Colab_Paga_Tec_C_Inden
  Valor_Colab_Paga_Tec_D_Inden
  Valor_Colab_Paga_Tec_E_Inden
  Valor_Inic_Paga_Tec_A
  Valor_Inic_Paga_Tec_B
  Valor_Inic_Paga_Tec_C
  Valor_Inic_Paga_Tec_D
  Valor_Inic_Paga_Tec_E
  Valor_Inic_Paga_Tec_A_Inden
  Valor_Inic_Paga_Tec_B_Inden
  Valor_Inic_Paga_Tec_C_Inden
  Valor_Inic_Paga_Tec_D_Inden
  Valor_Inic_Paga_Tec_E_Inden
  Valor_Inic_Recebe_Tec_A_Inden
  Valor_Inic_Recebe_Tec_B_Inden
  Valor_Inic_Recebe_Tec_C_Inden
  Valor_Inic_Recebe_Tec_D_Inden
  Valor_Inic_Recebe_Tec_E_Inden
  Transfer_Tec_A
  Transfer_Tec_B
  Transfer_Tec_C
  Transfer_Tec_D
  Transfer_Tec_E
  End_Phase4-Probability
  Phase3_to_Phase4-Probability
  Phase2_to_Phase3-Probability
  Phase1_to_Phase2-Probability
]

links-own [
  colaboracao
  Valor
  Kind
  Situacao
]

to setup
  ca
  set periodo 0
  set contador 0
   while [contador < Number_of_creators] [
      create-iniciadoras 1 [
      if who > who_maior [set who_maior who]
      set Entrada_no_modelo periodo
      set Saida_do_modelo "N/A"
      set Information_reliability_aux Information_reliability
      set Autonomy_-Less_intermediaries-_aux Autonomy_-Less_intermediaries-
      set Traceability_aux Traceability
      set IP_security_aux IP_security
      set Accuracy_and_precision_aux Accuracy_and_precision
      set Speed_of_processes_and_operations_aux Speed_of_processes_and_operations
      set Boas_experiencias_com_a_plataforma_aux 4  ; Recebe essa valor por ser uma média, pois começam sem experiências
      set Disposicao_compartilhar ((Information_reliability_aux + Autonomy_-Less_intermediaries-_aux + Traceability_aux + IP_security_aux +        ; Puldei de linha apenas para deixar alinhado
        Accuracy_and_precision_aux + Speed_of_processes_and_operations_aux + Boas_experiencias_com_a_plataforma_aux)  / 0.49)                      ; 0.49 é usado para trazer para base de 100
      set shape "computer"
      set size 3.5
      set color 5
      set label who
      setxy (-15 + 3.3 * contador) 18
    ]
    set contador contador + 1
  ]

  set contador 0
   while [contador < Number_of_partners] [
      create-colaboradoras 1 [
      if who > who_maior [set who_maior who]
      set Entrada_no_modelo periodo
      set Saida_do_modelo "N/A"
      set Tipo_colaboracao (random 5) + 1
      if Tipo_colaboracao = 1 [set Tipo_colaboracao "A"]
      if Tipo_colaboracao = 2 [set Tipo_colaboracao "B"]
      if Tipo_colaboracao = 3 [set Tipo_colaboracao "C"]
      if Tipo_colaboracao = 4 [set Tipo_colaboracao "D"]
      if Tipo_colaboracao = 5 [set Tipo_colaboracao "E"]
      set Information_reliability_aux Information_reliability
      set Autonomy_-Less_intermediaries-_aux Autonomy_-Less_intermediaries-
      set Traceability_aux Traceability
      set IP_security_aux IP_security
      set Accuracy_and_precision_aux Accuracy_and_precision
      set Speed_of_processes_and_operations_aux Speed_of_processes_and_operations
      set Boas_experiencias_com_a_plataforma_aux 4  ; Recebe essa valor por ser uma média, pois começam sem experiências
      set Disposicao_compartilhar ((Information_reliability_aux + Autonomy_-Less_intermediaries-_aux + Traceability_aux + IP_security_aux +        ; Puldei de linha apenas para deixar alinhado
        Accuracy_and_precision_aux + Speed_of_processes_and_operations_aux + Boas_experiencias_com_a_plataforma_aux) / 0.49)                      ; 0.49 é usado para trazer para base de 100
      set shape "house"
      set size 2
      set color 5
      set label who

      if Number_of_partners <= 10 [set Number_of_Partners_aux -22.5]
      if Number_of_partners >= 11 [set Number_of_Partners_aux -20]
      if Number_of_partners >= 21 [set Number_of_Partners_aux -17.5]
      if Number_of_partners >= 31 [set Number_of_Partners_aux -15]
      if Number_of_partners >= 41 [set Number_of_Partners_aux -12.5]
      if Number_of_partners >= 51 [set Number_of_Partners_aux -10]
      if Number_of_partners >= 61 [set Number_of_Partners_aux -7.5]
      if Number_of_partners >= 71 [set Number_of_Partners_aux -5]
      if Number_of_partners >= 81 [set Number_of_Partners_aux -2.5]
      if Number_of_partners >= 91 [set Number_of_Partners_aux 0]

      if contador >= 0 and contador <= 9 [
        setxy (-15 + 3.3 * contador) (5 + Number_of_Partners_aux)
      ]
      if contador >= 10 and contador <= 19 [
        setxy (-15 + 3.3 * (contador - 10)) (2.5 + Number_of_Partners_aux)
      ]
      if contador >= 20 and contador <= 29 [
        setxy (-15 + 3.3 * (contador - 20)) (0 + Number_of_Partners_aux)
      ]
      if contador >= 30 and contador <= 39 [
        setxy (-15 + 3.3 * (contador - 30)) (-2.5 + Number_of_Partners_aux)
      ]
      if contador >= 40 and contador <= 49 [
        setxy (-15 + 3.3 * (contador - 40)) (-5 + Number_of_Partners_aux)
      ]
      if contador >= 50 and contador <= 59 [
        setxy (-15 + 3.3 * (contador - 50)) (-7.5 + Number_of_Partners_aux)
      ]
      if contador >= 60 and contador <= 69 [
        setxy (-15 + 3.3 * (contador - 60)) (-10 + Number_of_Partners_aux)
      ]
      if contador >= 70 and contador <= 79 [
        setxy (-15 + 3.3 * (contador - 70)) (-12.5 + Number_of_Partners_aux)
      ]
      if contador >= 80 and contador <= 89 [
        setxy (-15 + 3.3 * (contador - 80)) (-15 + Number_of_Partners_aux)
      ]
      if contador >= 90 and contador <= 99 [
        setxy (-15 + 3.3 * (contador - 90)) (-17.5 + Number_of_Partners_aux)
      ]
    ]
    set contador contador + 1
  ]

  ;;;; Já no Setup é necessário fazer o cálculo dos indicadores e atualizar os gráficos
  Atualizar_empresas
  Calculo_indicadores
  update-plots

  if export = true [                                        ; exporta o mundo netlogo e os textos
    export-interface (word "Interface Period " periodo ".png")
    export-output (word "Output Period " periodo ".csv")
  ]
end 

to Iniciar_um_Roadmap_colaborativo
  set contador 0
  while [contador <= who_maior] [
    ask turtle contador [
      set auxiliar2 0
      if breed = iniciadoras [
        set auxiliar2 1
        set auxiliar disposicao_compartilhar
      ]
    ]



      set contador2 0                           ; Zera o contador, o auxiliar que ajuda a selecionar o Roadmap da vez
      set auxiliar8 1                         ; Um pouco mais pra frente é guardado no auxiliar8 se o link existente com outros Roadmaps ainda está na situação de "Proposta". Agora é guardado o 1 no auxiliar8, pois existe a possibilidade de a iniciadora não ter nenhum link.
      while [contador2 <= who_maior] [           ; Este while tem objetivo de verificar se a iniciadora da vez tem algum link que ainda está na situação de "Proposta". Caso tenha, essa iniciadora não poderá criar outro link de proposta para outro Roadmap
        if link contador contador2 != nobody [  ; If para verificar se o link contador contador2 existe. Caso chame um lilnk inexistente é retornado um erro
          ask link contador contador2 [         ; Chama o link contador contador2
              if (situacao = "Proposta" or situacao = "Maturação") [set auxiliar8 0] ; Se a iniciadora tiver link de "Proposta" para outro Roadmap, então auxiliar8 recebe valor 0. Caso não tenha nenhum, então continua com valor 1 recebido antes de entra no if
          ]                                            ; Fecha o ask link
        ]                                              ; Fecha o if
        set contador2 contador2 + 1                      ; Soma 1 no contador para voltar ao while
      ]                                                ; Fecha o while de verificação de se a iniciadora da vez tem link na situaçã de "Porposta"




    if (auxiliar >= (random 100) + 1) and (auxiliar2 = 1) and (auxiliar8 = 1)[
      create-Roadmaps 1 [
        if who > who_maior [set who_maior who]
        if Roadmaps_Type = "Random" [set Roadmap_Type one-of ["Shaper" "Adapter" "Integrator" "Explorer"]]
        if Roadmaps_Type != "Random" [set Roadmap_Type Roadmaps_Type]
        set shape "book"
        set size 2
        set color 5
        set ycor (random (8 - Number_of_Partners_aux) + 7.5 + Number_of_Partners_aux)
        set xcor ((random 30) - 15)
        set Iniciado_por contador
        set Iniciado_em periodo
        set Tempo_maximo_aberto "N/A"       ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Valor_colaboracao_A "N/A"        ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Valor_colaboracao_B "N/A"        ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Valor_colaboracao_C "N/A"        ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Valor_colaboracao_D "N/A"        ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Valor_colaboracao_E "N/A"        ; Pensar nisso ainda, deixei como N/A, mas quando crescer a complexidade do modelo, isso deve ser considerado
        set Encerramento "Open"
        set Finalizado "Open"
        set label who


        ; Este bloco abaixo guarda as probabilidade de passagem de fases do Roadmap, que é calculado com base em uma probabilidade mínima, que é fornecida pelo usuário e mais um valor que depende do tipo de Roadmap.

        if Roadmap_Type = "Shaper" [
        set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
        set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
        set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 37.5
        set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 12.5
        ]

        if Roadmap_Type = "Adapter" [
        set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
        set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
        set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 37.5
        set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 12.5
        ]

        if Roadmap_Type = "Integrator" [
        set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
        set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
        set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
        set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
        ]

        if Roadmap_Type = "Explorer" [
        set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
        set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
        set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 0
        set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 0
        ]



          create-link-from turtle contador [
          set colaboracao "N/A"
          set valor "N/A"
          set kind "Iniciadora"
          set situacao "Proposta"
        ]
      ]
    ]
    set contador contador + 1
  ]
end 

to Iniciar_Colaboracao_no_Roadmap
  if any? Roadmaps with [iniciado_em = periodo] [   ; Só entra neste subcomando se existir pelo menos um Roadmap criado neste mesmo período
    set contador2 0                          ; Zera o contador2, o auxiliar que ajuda a selecionar a colaboradora da vez
    while [contador2 <= who_maior] [         ; Chama todos os agentes em busca de agentes colaboradoras dispostas a compartilhar
      set auxiliar2 0                        ; Zera o auxiliar2, que guarda a informação se a colaboradora da vez é uma colaboradora ou não
      set auxiliar3 0                        ; Zera o auxiliar3, que guarda a informação do "Disposicao_compartilhar" da colaboradora da vez. Se o agente da vez não for uma colaboradora, então assume valor 0
      ask turtle contador2 [                 ; Chama o agente da vez
        if breed = colaboradoras [           ; Se o agente for uma colaboradora...
          set auxiliar2 1                    ; ...então é dado o valor 1 para o auxiliar 2
          set auxiliar3 disposicao_compartilhar ; Guarda o valor de Disposição em compartilhar no auxiliar3
        ]                                       ; Fecha o if breed = colaboradora
        set contador 0                            ; Zera o contador, o auxiliar que ajuda a selecionar o Roadmap da vez
        set auxiliar8 1                         ; Um pouco mais pra frente é guardado no auxiliar8 se o link existente com outros Roadmaps ainda está na situação de "Proposta". Agora é guardado o 1 no auxiliar8, pois existe a possibilidade de a colaboradora não ter nenhum link.
        while [contador <= who_maior] [           ; Este while tem objetivo de verificar se a colaboradora da vez tem algum link que ainda está na situação de "Proposta". Caso tenha, essa colaboradora não poderá criar outro link de proposta para outro Roadmap
          if link contador2 contador != nobody [  ; If para verificar se o link contador2 contador existe. Caso chame um link inexistente é retornado um erro
            ask link contador2 contador [         ; Chama o link contador2 contador
              if (situacao = "Proposta" or situacao = "Maturação") [set auxiliar8 0] ; Se a colaboradora tiver link de "Proposta" ou "Maturação" para outro Roadmap, então auxiliar8 recebe valor 0. Caso não tenha nenhum, então continua com valor 1 recebido antes de entra no if
            ]                                            ; Fecha o ask link
          ]                                              ; Fecha o if
          set contador contador + 1                      ; Soma 1 no contador para voltar ao while
        ]                                                ; Fecha o while de verificação de se a colaboradora da vez tem link na situaçã de "Porposta"

      ]                                                  ;  Fecha o ask que chama a colaboradora da vez
      if (auxiliar3 >= (random 100) + 1) and (auxiliar2 = 1) and (auxiliar8 = 1) [   ; Entra no if se a Dsiposição em compartilhar for maior que o número sorteado, se for uma colaboradora, e se não existirem links com a situação igual a "Proposta" ou "Maturação".
        ask turtle contador2 [                                   ; Chama a colaboradora da vez
          set auxiliar4 tipo_colaboracao                        ; Guarda o tipo de colaboracao no auxiliar4
        ]                                                      ; Fecha o ask colaboradora da vez


        ask one-of Roadmaps with [iniciado_em = periodo] [
          set auxiliar7 who
          create-link-from turtle contador2 [
            set colaboracao auxiliar4
            set valor (random-normal 100 10)
            set kind "Colaboradora"
            set situacao "Proposta"
          ]
        ]
      ]
      set contador2 contador2 + 1
    ]
  ]
end 

to Definir_Roadmap_Fase_1
  set contador 0                                   ; Zera o auxiliar que define o agente da posição de Roadmap
  set contador2 0                                  ; Zera o auxiliar que define o agente da posição de colaboradora
  while [contador <= who_maior] [                  ; Inicia o primeiro while para fazer a varredura nos Roadmaps
    set Aux-tec-A 10000                            ; Define o auxiliar Aux-tec-A com um valor bem alto, pois a ideia é selecionar pelo menor valor
    set Aux-tec-B 10000                            ; Define o auxiliar Aux-tec-B com um valor bem alto, pois a ideia é selecionar pelo menor valor
    set Aux-tec-C 10000                            ; Define o auxiliar Aux-tec-C com um valor bem alto, pois a ideia é selecionar pelo menor valor
    set Aux-tec-D 10000                            ; Define o auxiliar Aux-tec-D com um valor bem alto, pois a ideia é selecionar pelo menor valor
    set Aux-tec-E 10000                            ; Define o auxiliar Aux-tec-E com um valor bem alto, pois a ideia é selecionar pelo menor valor
    set auxiliar 0                                 ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador é um Roadmap ou não
    if turtle contador != nobody [                 ; Pergunta se a turtle da vez existe ou não. Caso não exista, pula o if, pois se chamar um agente que não existe é retornado um erro
      ask turtle contador [ifelse (breed = Roadmaps) [set auxiliar 1] [set auxiliar 0]]     ; Entrou no if. Aí chama a turtle da vez. Se for um Roadmap, então auxiliar guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
    ]                                                                                   ; Fecha o if
    set contador2 0                                                                     ; Zera o auxiliar que define o agente da posição de colaboradora. Esse comando é importante aqui, pois ele deve ser sempre zerado antes de entrar no while
    while [contador2 <= who_maior] [                                                    ; Inicia o segundo while para fazer a varredura das colaboradoras
      set auxiliar2 0                                                                   ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador2 é um colaborador ou não
      if link contador2 contador != nobody [                                            ; Pergunta se o link de contador2 para contador existe ou não. Caso não exista, pula o if, pois se chamar um link que não existe é retornado um erro
        ask turtle contador2 [ifelse (breed = colaboradoras) [set auxiliar2 1] [set auxiliar2 0]]   ; Entrou no if. Aí chama a turtle da vez. Se for uma colaboradora, então auxiliar2 guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
      ]                                                                                 ; Fecha o if
      if (auxiliar = 1) and (auxiliar2 = 1) [                                           ; Se a turtle contador fou um Roadmap (auxiliar = 1) e se o link de turtle contador2 para turtle contador existir (auxiliar2 = 1) então entra no if
        ask link contador2 contador [                                                   ; Chama o link de contador2 para contador. Ou seja, da colaboradora da vez para o Roadmap da vez
          if colaboracao = "A" [                                        ; Se o link for de colaboracao A (isso foi definido na criação do link com base na colaboracao da colaboradora da qual sai o link), então entra no if
            if Aux-tec-A > valor [set Aux-tec-A valor]                 ; Se o valor do link for menor do que o Aux-tec-A (um auxiliar), então o Aux-tec-A assume o valor desse link. Na primeira vez que isso ocorre para cada Roadmap o Aux-tec-A deve ter o valor de 10000
          ]                                                            ; Fecha o if
          if colaboracao = "B" [                                        ; Se o link for de colaboracao B (isso foi definido na criação do link com base na colaboracao da colaboradora da qual sai o link), então entra no if
            if Aux-tec-B > valor [set Aux-tec-B valor]                 ; Se o valor do link for menor do que o Aux-tec-B (um auxiliar), então o Aux-tec-B assume o valor desse link. Na primeira vez que isso ocorre para cada Roadmap o Aux-tec-B deve ter o valor de 10000
          ]                                                            ; Fecha o if
          if colaboracao = "C" [                                        ; Se o link for de colaboracao C (isso foi definido na criação do link com base na colaboracao da colaboradora da qual sai o link), então entra no if
            if Aux-tec-C > valor [set Aux-tec-C valor]                 ; Se o valor do link for menor do que o Aux-tec-C (um auxiliar), então o Aux-tec-C assume o valor desse link. Na primeira vez que isso ocorre para cada Roadmap o Aux-tec-C deve ter o valor de 10000
          ]                                                            ; Fecha o if
          if colaboracao = "D" [                                        ; Se o link for de colaboracao D (isso foi definido na criação do link com base na colaboracao da colaboradora da qual sai o link), então entra no if
            if Aux-tec-D > valor [set Aux-tec-D valor]                 ; Se o valor do link for menor do que o Aux-tec-D (um auxiliar), então o Aux-tec-D assume o valor desse link. Na primeira vez que isso ocorre para cada Roadmap o Aux-tec-D deve ter o valor de 10000
          ]                                                            ; Fecha o if
          if colaboracao = "E" [                                        ; Se o link for de colaboracao E (isso foi definido na criação do link com base na colaboracao da colaboradora da qual sai o link), então entra no if
            if Aux-tec-E > valor [set Aux-tec-E valor]                 ; Se o valor do link for menor do que o Aux-tec-E (um auxiliar), então o Aux-tec-E assume o valor desse link. Na primeira vez que isso ocorre para cada Roadmap o Aux-tec-E deve ter o valor de 10000
          ]                                                            ; Fecha o if
        ]                                                              ; Fecha o ask link contador2 contador

        ask turtle contador [                                          ; Chama o Roadmap da vez
          set Valor_colaboracao_A Aux-tec-A                             ; O valor da colaboracao A será o Aux-tec-A, que é o menor valor dentre os liks com colaboracao formados. Ou caso nenhum link com colaboracao A tenha sido formado, então deve receber o valor de 10000 (uma valor muito alto)
          set Valor_colaboracao_B Aux-tec-B                             ; O valor da colaboracao A será o Aux-tec-B, que é o menor valor dentre os liks com colaboracao formados. Ou caso nenhum link com colaboracao A tenha sido formado, então deve receber o valor de 10000 (uma valor muito alto)
          set Valor_colaboracao_C Aux-tec-C                             ; O valor da colaboracao A será o Aux-tec-C, que é o menor valor dentre os liks com colaboracao formados. Ou caso nenhum link com colaboracao A tenha sido formado, então deve receber o valor de 10000 (uma valor muito alto)
          set Valor_colaboracao_D Aux-tec-D                             ; O valor da colaboracao A será o Aux-tec-D, que é o menor valor dentre os liks com colaboracao formados. Ou caso nenhum link com colaboracao A tenha sido formado, então deve receber o valor de 10000 (uma valor muito alto)
          set Valor_colaboracao_E Aux-tec-E                             ; O valor da colaboracao A será o Aux-tec-E, que é o menor valor dentre os liks com colaboracao formados. Ou caso nenhum link com colaboracao A tenha sido formado, então deve receber o valor de 10000 (uma valor muito alto)
        ]                                                              ; Fecha o chamado do Roadmap da vez
      ]                                                                ; Fecha o if que entra apenas se a turtle contador for um Roadmap e se existir um link da colaboradora para o Roadmap
      set contador2 contador2 + 1               ; Contador2 é usado no while que seleciona a colaboradora da vez
    ]                                           ; Fecha o while que seleciona a colaboradora da vez
    set contador contador + 1                   ; Contador é usado no while que seleciona o Roadmap da vez
  ]                                             ; Fecha o whiole que seleciona o Roadmap da vez



  ;;;;;; A partir daqui, é feita uma varredura para matar os links com valores maiores
  set contador 0
  set contador2 0
  while [contador <= who_maior] [
    set auxiliar 0
    if turtle contador != nobody [
      ask turtle contador [ifelse (breed = Roadmaps) [set auxiliar 1] [set auxiliar 0]]
    ]
    if (auxiliar = 1) [
      ask turtle contador [
        set Aux-tec-A Valor_colaboracao_A
        set Aux-tec-B Valor_colaboracao_B
        set Aux-tec-C Valor_colaboracao_C
        set Aux-tec-D Valor_colaboracao_D
        set Aux-tec-E Valor_colaboracao_E
      ]
    ]

    set contador2 0
    while [contador2 <= who_maior] [
      set auxiliar2 0
      if link contador2 contador != nobody [
        ask turtle contador2 [ifelse (breed = colaboradoras) [set auxiliar2 1] [set auxiliar2 0]]
      ]
      if (auxiliar = 1) and (auxiliar2 = 1) [
        ask link contador2 contador [
          if (colaboracao = "A" and Valor > Aux-tec-A) [die]                      ; O aprnedizado deve ser influenciado aqui. Nesse caso o aprendizado é negativo para a colaboradora. Ainda não codei isso!
          if (colaboracao = "B" and Valor > Aux-tec-B) [die]
          if (colaboracao = "C" and Valor > Aux-tec-C) [die]
          if (colaboracao = "D" and Valor > Aux-tec-D) [die]
          if (colaboracao = "E" and Valor > Aux-tec-E) [die]
        ]
      ]
      set contador2 contador2 + 1
    ]
    set contador contador + 1
  ]

  set contador 0
  while [contador <= who_maior] [
    set auxiliar 0
    set auxiliar2 0
    if turtle contador != nobody [
      ask turtle contador [ifelse (breed = Roadmaps and encerramento = "Open") [set auxiliar 1] [set auxiliar 0]]
    ]
    if (auxiliar = 1) [
      ask turtle contador [
        if (Valor_colaboracao_A = 10000 or Valor_colaboracao_A = "N/A") [set auxiliar2 1]
        if (Valor_colaboracao_B = 10000 or Valor_colaboracao_B = "N/A") [set auxiliar2 1]
        if (Valor_colaboracao_C = 10000 or Valor_colaboracao_C = "N/A") [set auxiliar2 1]
        if (Valor_colaboracao_D = 10000 or Valor_colaboracao_D = "N/A") [set auxiliar2 1]
        if (Valor_colaboracao_E = 10000 or Valor_colaboracao_E = "N/A") [set auxiliar2 1]
      ]
      if auxiliar2 = 1 [
        ask turtle contador [
          set finalizado "Interrupted in Phase 0"
          set Encerramento periodo
          set color 115
          ask my-links [die]                 ; O aprendizado deve ser influenciado aqui. Nesse caso o aprendizado é negativo para a colaboradora e também para iniciadora. Ainda não codei isso!
        ]
      ]
      if auxiliar2 = 0 [
        ask turtle contador [
          if iniciado_em = periodo [              ; Esse IF é importante pois ele só define esses valores para os Roadmap que foram criados no período atual. Se não estivesse aqui, ele iria retornar todos os Roadmaps para a Fse 1 periodo 1
            set finalizado "Open"               ; O aprendizado deve ser influenciado aqui. Nesse caso o aprendizado é positivo para a colaboradora e também para iniciadora. Ainda não codei isso!
            set Fase 1
            set Periodos_na_Fase 1
          ]
        ]
      ]
    ]
    set contador contador + 1
  ]
end 

to Passar_fase
  ;;;;; Antes de tudo, devem ser definidos os valores das probabilidades de passar de cada fase

;  set Platform_environment (Information_reliability + Autonomy_-Less_intermediaries- + Traceability + IP_security + Accuracy_and_precision + Speed_of_processes_and_operations) / 6    ; Cálculo da variável que guarda as informações do ambiente da plataforma, que também influencia na passagem de cada fase e finalização
;  set End_Phase4-Probability (Technology_development + Product_embodiment + Product_development + Product_commercialization + Technology_transfer + Platform_environment) / 0.42       ; A probabilidade de finalizar é com base em critérios gerais das empresas. O 0.42 é para trazer para base de 100
;  set Phase3_to_Phase4-Probability (Technology_development + Product_embodiment + Product_development + Product_commercialization + Technology_transfer + Platform_environment) / 0.42 ; A probabilidade de passar da fase 3 para a 4 é com base em critérios gerais das empresas. O 0.42 é para trazer para base de 100
;  set Phase2_to_Phase3-Probability (Technology_development + Product_embodiment + Product_development + Product_commercialization + Technology_transfer + Platform_environment) / 0.42 ; A probabilidade de passar da fase 2 para a 3 é com base em critérios gerais das empresas. O 0.42 é para trazer para base de 100
;  set Phase1_to_Phase2-Probability (Technology_development + Product_embodiment + Product_development + Product_commercialization + Technology_transfer + Platform_environment) / 0.42 ; A probabilidade de passar da fase 1 para a 2 é com base em critérios gerais das empresas. O 0.42 é para trazer para base de 100

  ;;; Nas quatro linhas acima, coloquei alguns pesos aleatórios, mas que podem ser mudadados a qulquer momento. Fiz isso para as probabilidades não ficarem iguais de fase para fase.






  ;;;;; Primeiro tem que andar ou finalizar os sa fase 3
  ;;;;; Depois tem que andar os da fase 2 ou passá-los para a fase 3
  ;;;;; Só depois tem que andar os da fase 1 ou passá-los para a fase 2
  ;;;;; Importante lembrar que esse comando (Passar_fase) deve ser colocado no início do comando GO, pois caso contrário, um Roadmap seria criado e passado de fase já no primeiro período.

  ;;;;; Essa parte é para finalizar Roadmap depois de 1 período na fase 4 (Fechamento) ou para interromper
  set contador 0                        ; Zera o auxiliar que define o agente da posição de Roadmap
  set auxiliar 0                        ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador é um Roadmap ou não
  while [contador <= who_maior] [       ; Inicia o while para fazer a varredura nos Roadmaps
    if turtle contador != nobody [      ; Pergunta se a turtle da vez existe ou não. Caso não exista, pula o if, pois se chamar um agente que não existe é retornado um erro
      ask turtle contador [ ifelse (breed = Roadmaps and finalizado = "Open") [set auxiliar 1] [set auxiliar 0] ] ; Entrou no if. Aí chama a turtle da vez. Se for um Roadmap e estiver aberto, então auxiliar guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
      if auxiliar = 1 [                 ; Só entra no IF se a turtle for um Roadmap e estiver aberto
        ask turtle contador [           ; Chama o Roadmap da vez
          if (fase = 4) [               ; Se o Roadmap estiver na Fase 4, então entra no IF, pois é candidato ser finalizado
            ifelse (End_Phase4-Probability >= (random 100 + 1)) [  ; Se for verdadeiro, então é finalizado com sucesso, caso contrário então o Roadmap é interrompido
              set finalizado "Yes"                         ; Finalizado com sucesso
              set encerramento periodo                     ; Guarda o período na variável encerramento do Roadmap
              set color 65
              ask my-links [
                set situacao "Finalizado"                  ; Muda a situação de todos os links para esse Roadmap
                set color 65                               ; Todos os links ficam verdes
              ]                                            ; Fecha ask my-links duas linhas acima

              ask link-neighbors with [Boas_experiencias_com_a_plataforma_Aux < 7] [                        ; Se a variável "Boas_experiencias_com_a_plataforma_Aux" for menor que 7, pois é o valor máximo, então...
                  set Boas_experiencias_com_a_plataforma_Aux (Boas_experiencias_com_a_plataforma_Aux + 1)    ; ... A variável é aumentada em 1
              ]                                                                                              ; Fecha o ask duas linhas acima

            ]                                              ; Fecha a primeira pare do IFELSE
            [                                              ; Abre a segunda parte do IFELSE
              ask turtle contador [                        ; Chama o Roadmap da vez
                set finalizado "Interrupted in Phase 4"    ; O Roadmap é interrompido
                set Encerramento periodo                   ; O periodo de encerramento é guardado
                set color 95                               ; O Roadmap é pintado da cor azul
                ask my-links [                             ; Chama todos os links do Roadmap da vez
                  set color 95                             ; Todos os seus links ficam azuis
                  set situacao "Quebrado em Fechamento por outra colaboradora" ;    ; Muda a variável situação do link, avisando que eles foi "Quebrado em Fechamento por outra colaboradora"
                ]                                              ; Fecha o ask my-links

                ask my-links with [kind = "Iniciadora"] [                                 ; Chama por todos os links que tem o Tipo "Iniciadora", que é apenas o link da iniciadora para o Roadmap da vez
                  set situacao "Quebrado em Fechamento por uma colaboradora"              ; Muda a situação do link para "Quebrado em Fechamento por uma colaboradora"
                ]                                                                         ; Fecha o ask de duas linhas acima

                ask one-of my-links with [kind = "Colaboradora"] [                        ; Chama por um (aleatoriamente) link que tem o Tipo "Colaboradora" como Roadmap da vez
                  set situacao "Quebrado em Fechamento por esta colaboradora"             ; Muda a situação do link para "Quebrado em Fechamento por esta colaboradora"
                  set auxiliar9 end1                                                      ; Guarda no auxiliar9 qual é a colaboradora responsável por quebrar o Roadmap, que vai ter o "Boas_experiências" diminuído por 1
                ]                                                                         ; Fecha o ask de duas linhas acima



                ask auxiliar9 [                                                                                ; Chama a colaboradora que é responsável por quebrar o Roadmap
                  if (Boas_experiencias_com_a_plataforma_Aux > 0) [                                            ; Se a variável "Boas_experiencias_com_a_plataforma_Aux" for maior que zero, pois não pode ficar negativa, então...
                    set Boas_experiencias_com_a_plataforma_Aux (Boas_experiencias_com_a_plataforma_Aux - 1)    ; ... A variável é diminuída em 1
                  ]
                ]






              ]                                            ; Fecha o ask do Roadmap da vez
            ]                                              ; Fecha a segunda parte do IFELSE
          ]                                                ; Fecha o IF que pergunta se está na Fase 1 periodo 3

        ]                                                ; Fecha o ask que chama o Roadmap da vez
      ]                                                  ; Fecha o IF que pergunta se o agente da vez é um Roadmap e se está aberto
    ]                                                    ; Fecha o IF que pergunta se o agente da vez existe
    set contador contador + 1                            ; Acrescenta 1 no contador para ir para o próximo agente ou para sair do while
  ]                                                      ; Fecha o while


  ;;;;; Essa parte é para andar o Roadmap pela fase 3 ou para passá-lo para a fase 4
  set contador 0                        ; Zera o auxiliar que define o agente da posição de Roadmap
  set auxiliar 0                        ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador é um Roadmap ou não
  while [contador <= who_maior] [       ; Inicia o while para fazer a varredura nos Roadmaps
    if turtle contador != nobody [      ; Pergunta se a turtle da vez existe ou não. Caso não exista, pula o if, pois se chamar um agente que não existe é retornado um erro
      ask turtle contador [ ifelse (breed = Roadmaps and finalizado = "Open") [set auxiliar 1] [set auxiliar 0] ] ; Entrou no if. Aí chama a turtle da vez. Se for um Roadmap e estiver aberto, então auxiliar guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
      if auxiliar = 1 [                 ; Só entra no IF se a turtle for um Roadmap
        ask turtle contador [           ; Chama o Roadmap da vez
          if (fase = 3) and (periodos_na_fase = 6) [    ; Se o Roadmap estiver na Fase 3 e estiver no período 6 dessa fase, então entra no IF, pois é candidato a passar de fase
            ifelse (Phase3_to_Phase4-Probability >= (random 100 + 1)) [  ; Se for verdadeiro, então passa para a Fase3, caso contrário então o Roadmap é interrompido
              set fase 4                                   ; Passa para a Fase 4
              set periodos_na_fase 1                       ; Primeiro período na fase 4
              ask my-links [set situacao "Fechamento"]     ; Muda a situação de todos os links para esse Roadmap
            ]                                              ; Fecha a primeira pare do IFELSE
            [                                              ; Abre a segunda parte do IFELSE
              ask turtle contador [                        ; Chama o Roadmap da vez
                set finalizado "Interrupted in Phase 3"    ; O Roadmap é interrompido
                set Encerramento periodo                   ; O periodo de encerramento é guardado
                set color 25                               ; O Roadmap é pintado da cor laranja
                ask my-links [                                 ; Chama todos os links do Roadmap da vez
                  set color 25                                 ; Todos os seus links ficam laranjas
                  set situacao "Quebrado em Desenvolvimento por outra colaboradora"   ; Muda a variável situação do link, avisando que eles foi "Quebrado em Desenvolvimento por outra colaboradora"
                ]                                              ; Fecha o ask my-links


                ask my-links with [kind = "Iniciadora"] [                                 ; Chama por todos os links que tem o Tipo "Iniciadora", que é apenas o link da iniciadora para o Roadmap da vez
                  set situacao "Quebrado em Desenvolvimento por uma colaboradora"         ; Muda a situação do link para "Quebrado em Desenvolvimento por uma colaboradora"
                ]                                                                         ; Fecha o ask de duas linhas acima

                ask one-of my-links with [kind = "Colaboradora"] [                        ; Chama por um (aleatoriamente) link que tem o Tipo "Colaboradora" como Roadmap da vez
                  set situacao "Quebrado em Desenvolvimento por esta colaboradora"        ; Muda a situação do link para "Quebrado em Desenvolvimento por esta colaboradora"
                  set auxiliar9 end1                                                      ; Guarda no auxiliar9 qual é a colaboradora responsável por quebrar o Roadmap, que vai ter o "Boas_experiências" diminuído por 1
                ]                                                                         ; Fecha o ask de duas linhas acima

                ask auxiliar9 [                                                                                ; Chama a colaboradora que é responsável por quebrar o Roadmap
                  if (Boas_experiencias_com_a_plataforma_Aux > 0) [                                            ; Se a variável "Boas_experiencias_com_a_plataforma_Aux" for maior que zero, pois não pode ficar negativa, então...
                    set Boas_experiencias_com_a_plataforma_Aux (Boas_experiencias_com_a_plataforma_Aux - 1)    ; ... A variável é diminuída em 1
                  ]
                ]


                ask one-of my-links with [kind = "Iniciadora"] [                          ; Chama a Iniciadora como Roadmap da vez
                  set auxiliar9 end1                                                      ; Guarda no auxiliar9 a inciadora, que deverá pagar indenização para outras 4 colaboradoras
                ]                                                                         ; Fecha o ask de duas linhas acima

                ask auxiliar9 [                                                                                ; Chama a iniciadora, que deve pagar indenização para 4 colaboradoras
                  if (Boas_experiencias_com_a_plataforma_Aux > 0) [                                            ; Se a variável "Boas_experiencias_com_a_plataforma_Aux" for maior que zero, pois não pode ficar negativa, então...
                    set Boas_experiencias_com_a_plataforma_Aux (Boas_experiencias_com_a_plataforma_Aux - 1)    ; ... A variável é diminuída em 1
                  ]
                ]


              ]                                                ; Fecha o ask do Roadmap da vez
            ]                                                  ; Fecha a segunda parte do IFELSE
          ]                                                    ; Fecha o IF que pergunta se está na Fase 3 periodo 6


          if (fase = 3) and (periodos_na_fase <= 5) [    ; Se o Roadmap estiver na Fase 3 e estiver no periodo 1 a 5 nessa fase...
            set periodos_na_fase periodos_na_fase + 1    ; ...então um período é adicionado
          ]                                              ; Fecha o IF
        ]                                                ; Fecha o ask que chama o Roadmap da vez
      ]                                                  ; Fecha o IF que pergunta se o agente da vez é um Roadmap e se está aberto
    ]                                                    ; Fecha o IF que pergunta se o agente da vez existe
    set contador contador + 1                            ; Acrescenta 1 no contador para ir para o próximo agente ou para sair do while
  ]                                                      ; Fecha o while


  ;;;;; Essa parte é para andar o Roadmap pela fase 2 ou para passá-lo para a fase 3
  set contador 0                        ; Zera o auxiliar que define o agente da posição de Roadmap
  set auxiliar 0                        ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador é um Roadmap ou não
  while [contador <= who_maior] [       ; Inicia o while para fazer a varredura nos Roadmaps
    if turtle contador != nobody [      ; Pergunta se a turtle da vez existe ou não. Caso não exista, pula o if, pois se chamar um agente que não existe é retornado um erro
      ask turtle contador [ ifelse (breed = Roadmaps and finalizado = "Open") [set auxiliar 1] [set auxiliar 0] ] ; Entrou no if. Aí chama a turtle da vez. Se for um Roadmap e estiver aberto, então auxiliar guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
      if auxiliar = 1 [                 ; Só entra no IF se a turtle for um Roadmap
        ask turtle contador [           ; Chama o Roadmap da vez
          if (fase = 2) and (periodos_na_fase = 3) [    ; Se o Roadmap estiver na Fase 2 e estiver no período 3 dessa fase, então entra no IF, pois é candidato a passar de fase
            ifelse (Phase2_to_Phase3-Probability >= (random 100 + 1)) [  ; Se for verdadeiro, então passa para a Fase 3, caso contrário então o Roadmap é interrompido
              set fase 3                                    ; Passa para a Fase 3
              set periodos_na_fase 1                        ; Primeiro período na fase 3
              ask my-links [set situacao "Desenvolvimento"] ; Muda a situação de todos os links para esse Roadmap
            ]                                               ; Fecha a primeira pare do IFELSE
            [                                               ; Abre a segunda parte do IFELSE
              ask turtle contador [                         ; Chama o Roadmap da vez
                set finalizado "Interrupted in Phase 2"     ; O Roadmap é interrompido
                set Encerramento periodo                    ; O periodo de encerramento é guardado
                set color 45                                ; O Roadmap é pintado da cor amarela
                ask my-links [                              ; Chama todos os links do Roadmap da vez
                  set color 45                              ; Todos os seus links ficam amarelos
                  set situacao "Quebrado em Maturação"      ; Muda a variável situação do link, avisando que eles foi quebrado no período de maturação
                ]                                           ; Fecha o ask my-links
                ask my-links with [kind = "Iniciadora"] [
                  set auxiliar9 end1                        ; Guarda no auxiliar9 qual é a colaboradora responsável por quebrar o Roadmap, que vai ter o "Boas_experiências" diminuído por 1
                ]
                ask auxiliar9 [                                                                                ; Chama a Iniciadora, que é responsável por quebrar o Roadmap
                  if (Boas_experiencias_com_a_plataforma_Aux > 0) [                                            ; Se a variável "Boas_experiencias_com_a_plataforma_Aux" for maior que zero, pois não pode ficar negativa, então...
                    set Boas_experiencias_com_a_plataforma_Aux (Boas_experiencias_com_a_plataforma_Aux - 1)    ; ... A variável é diminuída em 1
                  ]
                ]


              ]                                             ; Fecha o ask do Roadmap da vez
            ]                                               ; Fecha a segunda parte do IFELSE
          ]                                                 ; Fecha o IF que pergunta se está na Fase 1 periodo 3

          if (fase = 2) and (periodos_na_fase <= 2) [    ; Se o Roadmap estiver na Fase 2 e estiver no periodo 1 ou 2 nessa fase...
            set periodos_na_fase periodos_na_fase + 1    ; ...então um período é adicionado
          ]                                              ; Fecha o IF
        ]                                                ; Fecha o ask que chama o Roadmap da vez
      ]                                                  ; Fecha o IF que pergunta se o agente da vez é um Roadmap e se está aberto
    ]                                                    ; Fecha o IF que pergunta se o agente da vez existe
    set contador contador + 1                            ; Acrescenta 1 no contador para ir para o próximo agente ou para sair do while
  ]                                                      ; Fecha o while


  ;;;;; Essa parte é para passar o Roadmap depois de 1 período na fase 1 (Proposta) ou para interromper
  set contador 0                        ; Zera o auxiliar que define o agente da posição de Roadmap
  set auxiliar 0                        ; Zera o auxiliar que ajuda a guardar a informação se a Turtle contador é um Roadmap ou não
  while [contador <= who_maior] [       ; Inicia o while para fazer a varredura nos Roadmaps
    if turtle contador != nobody [      ; Pergunta se a turtle da vez existe ou não. Caso não exista, pula o if, pois se chamar um agente que não existe é retornado um erro
      ask turtle contador [ ifelse (breed = Roadmaps and finalizado = "Open") [set auxiliar 1] [set auxiliar 0] ] ; Entrou no if. Aí chama a turtle da vez. Se for um Roadmap e estiver aberto, então auxiliar guarda valor 1, se não for, guarda o valor 0. Aqui vai nos interessar o valor 1
      if auxiliar = 1 [                 ; Só entra no IF se a turtle for um Roadmap
        ask turtle contador [           ; Chama o Roadmap da vez
          if (fase = 1) [               ; Se o Roadmap estiver na Fase 1, então entra no IF, pois é candidato ser finalizado
            ifelse (Phase1_to_Phase2-Probability >= (random 100 + 1)) [  ; Se for verdadeiro, então passa para fase 2, caso contrário então o Roadmap é interrompido
              set fase 2                                   ; Passa para fase 2
              set periodos_na_fase 1                       ; Primeiro período na fase 2
              ask my-links [set situacao "Maturação"]      ; Muda a situação de todos os links para esse Roadmap
            ]                                              ; Fecha a primeira pare do IFELSE
            [                                              ; Abre a segunda parte do IFELSE
              ask turtle contador [                        ; Chama o Roadmap da vez
                set finalizado "Interrupted in Phase 1"    ; O Roadmap é interrompido
                set Encerramento periodo                   ; O periodo de encerramento é guardado
                set color 15                               ; O Roadmap é pintado da cor vermelha
                ask my-links [
                  set color 15                              ; Todos os seus links ficam vermelhos
                  set situacao "Quebrado em proposta"]      ; Muda a situação de todos os links para esse Roadmap
              ]                                            ; Fecha o ask do Roadmap da vez
            ]                                              ; Fecha a segunda parte do IFELSE
          ]                                                ; Fecha o IF que pergunta se está na Fase 1

        ]                                                ; Fecha o ask que chama o Roadmap da vez
      ]                                                  ; Fecha o IF que pergunta se o agente da vez é um Roadmap e se está aberto
    ]                                                    ; Fecha o IF que pergunta se o agente da vez existe
    set contador contador + 1                            ; Acrescenta 1 no contador para ir para o próximo agente ou para sair do while
  ]                                                      ; Fecha o while
end 

to Calculo_indicadores
;;;;; Primeiro são enviadas todas as informações para os Roadmaps

  set contador 0                                            ; Zera o contador, responsável pelo primeiro while, que é o que deixa na posição de início do link
  while [contador <= who_maior] [                           ; Inicia o primeiro while, que procura pelo agente iniciador do link
    set auxiliar 0                                          ; Zera o auxiliar, que irá guardar o valor dos links
    set contador2 0                                         ; Zera o contador2, responsável pelo segundo while, que é o que deixa na posição de final do link
    while [contador2 <= who_maior] [                        ; Inicia o segundo while, que procura pelo agente recebedor do link, ou seja, o Roadmap
      if link contador contador2 != nobody [                ; Este if pergunta se o link contador contador2 existe. Isso é necessário pois se um link inexistente for chamado é retornado um erro
        ask link contador contador2 [                       ; Chama o link contador contador2


          ;;;;; Se for "Quebrado em Maturação", então cada colaboradora recebe 10% do valor. Tudo isso é pago pela iniciadora. Nada de propriedade intelectual é passado de colaboradoras para iniciadora
          if situacao = "Quebrado em Maturação" [            ; Se a situação do link for "Quebrado em Maturação", então...
            set auxiliar valor                               ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                            ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                         ; Chama o Roadmap da vez
                set Valor_Colab_Recebe_Tec_A_Inden (auxiliar * 0.1) ; Coloca o 10% do valor na variável Valor_Colab_Recebe_Tec_A
                set Valor_Inic_Paga_Tec_A_Inden (auxiliar * 0.1)    ; Coloca o 10% do valor na variável Valor_Inic_Paga_Tec_A
              ]                                              ; Fecha o ask três linhas acima
            ]                                                ; Fecha o if de cinco linhas acima
            if colaboracao = "B" [                            ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_B_Inden (auxiliar * 0.1)
                set Valor_Inic_Paga_Tec_B_Inden (auxiliar * 0.1)
              ]
            ]
            if colaboracao = "C" [                            ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_C_Inden (auxiliar * 0.1)
                set Valor_Inic_Paga_Tec_C_Inden (auxiliar * 0.1)
              ]
            ]
            if colaboracao = "D" [                            ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_D_Inden (auxiliar * 0.1)
                set Valor_Inic_Paga_Tec_D_Inden (auxiliar * 0.1)
              ]
            ]
            if colaboracao = "E" [                            ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_E_Inden (auxiliar * 0.1)
                set Valor_Inic_Paga_Tec_E_Inden (auxiliar * 0.1)
              ]
            ]
          ]                                                  ; Fecha o if se é "Quebrado em Maturação"

          ;;;;; Se for "Quebrado em Desenvolvimanto por esta colaboradora", então esta colaboradora paga 50% do valor para a Iniciadora. Propriedade intelectual não é repassada
          if situacao = "Quebrado em Desenvolvimento por esta colaboradora" [            ; Se a situação do link for "Quebrado em Desenvolvimento por esta colaboradora", então...
            set auxiliar valor                                                           ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                                                        ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                                                     ; Chama o Roadmap da vez
                set Valor_Colab_Paga_Tec_A_Inden (auxiliar * 0.5)                              ; Coloca 50% do valor na variável Valor_Colab_Paga_Tec_A
                set Valor_Inic_Recebe_Tec_A_Inden (auxiliar * 0.5)                             ; Coloca 50% do valor na variável Valor_Inic_Recebe_Tec_A
              ]                                                                          ; Fecha o ask de três linha acima
            ]                                                                            ; Fecha o if de cinco linhas acima
            if colaboracao = "B" [                                                        ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_B_Inden (auxiliar * 0.5)
                set Valor_Inic_Recebe_Tec_B_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "C" [                                                        ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_C_Inden (auxiliar * 0.5)
                set Valor_Inic_Recebe_Tec_C_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "D" [                                                        ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_D_Inden (auxiliar * 0.5)
                set Valor_Inic_Recebe_Tec_D_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "E" [                                                        ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_E_Inden (auxiliar * 0.5)
                set Valor_Inic_Recebe_Tec_E_Inden (auxiliar * 0.5)
              ]
            ]
          ]                                                  ; Fecha o if se é "Quebrado em Desenvolvimento por esta colaboradora"



          ;;;;; Se for "Quebrado em Desenvolvimento por outra colaboradora", então esta colaboradora recebe 50% do valor da Iniciadora. Propriedade intelectual não é repassada
          if situacao = "Quebrado em Desenvolvimento por outra colaboradora" [           ; Se a situação do link for "Quebrado em Desenvolvimento por outra colaboradora", então...
            set auxiliar valor                                                           ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                                                        ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                                                     ; Chama o Roadmap da vez
                set Valor_Colab_Recebe_Tec_A_Inden (auxiliar * 0.5)                            ; Coloca 50% do valor na variável Valor_Colab_Recebe_Tec_A
                set Valor_Inic_Paga_Tec_A_Inden (auxiliar * 0.5)                               ; Coloca 50% do valor na variável Valor_Inic_Paga_Tec_A
              ]                                                                          ; Fecha o ask de três linha acima
            ]                                                                            ; Fecha o if de cinco linhas acima
            if colaboracao = "B" [                                                        ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_B_Inden (auxiliar * 0.5)
                set Valor_Inic_Paga_Tec_B_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "C" [                                                        ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_C_Inden (auxiliar * 0.5)
                set Valor_Inic_Paga_Tec_C_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "D" [                                                        ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_D_Inden (auxiliar * 0.5)
                set Valor_Inic_Paga_Tec_D_Inden (auxiliar * 0.5)
              ]
            ]
            if colaboracao = "E" [                                                        ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_E_Inden (auxiliar * 0.5)
                set Valor_Inic_Paga_Tec_E_Inden (auxiliar * 0.5)
              ]
            ]
          ]                                                  ; Fecha o if se é "Quebrado em Desenvolvimento por outra colaboradora"



          ;;;;; Se for "Quebrado em Fechamento por esta colaboradora", então esta colaboradora paga 100% do valor para a Iniciadora. Propriedade intelectual não é repassada
          if situacao = "Quebrado em Fechamento por esta colaboradora" [                 ; Se a situação do link for "Quebrado em Fechamento por esta colaboradora", então...
            set auxiliar valor                                                           ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                                                        ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                                                     ; Chama o Roadmap da vez
                set Valor_Colab_Paga_Tec_A_Inden (auxiliar)                                    ; Coloca 100% do valor na variável Valor_Colab_Paga_Tec_A
                set Valor_Inic_Recebe_Tec_A_Inden (auxiliar)                                   ; Coloca 100% do valor na variável Valor_Inic_Recebe_Tec_A
              ]                                                                          ; Fecha o ask de três linha acima
            ]                                                                            ; Fecha o if de cinco linhas acima
            if colaboracao = "B" [                                                        ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_B_Inden (auxiliar)
                set Valor_Inic_Recebe_Tec_B_Inden (auxiliar)
              ]
            ]
            if colaboracao = "C" [                                                        ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_C_Inden (auxiliar)
                set Valor_Inic_Recebe_Tec_C_Inden (auxiliar)
              ]
            ]
            if colaboracao = "D" [                                                        ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_D_Inden (auxiliar)
                set Valor_Inic_Recebe_Tec_D_Inden (auxiliar)
              ]
            ]
            if colaboracao = "E" [                                                        ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Paga_Tec_E_Inden (auxiliar)
                set Valor_Inic_Recebe_Tec_E_Inden (auxiliar)
              ]
            ]
          ]                                                  ; Fecha o if se é "Quebrado em Fechamento por esta colaboradora"




          ;;;;; Se for "Quebrado em Fechamento por outra colaboradora", então esta colaboradora recebe 100% do valor da Iniciadora. Propriedade intelectual é repassada desta colaboradora para a iniciadora
          if situacao = "Quebrado em Fechamento por outra colaboradora" [                ; Se a situação do link for "Quebrado em Fechamento por outra colaboradora", então...
            set auxiliar valor                                                           ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                                                        ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                                                     ; Chama o Roadmap da vez
                set Valor_Colab_Recebe_Tec_A (auxiliar)                                  ; Coloca 100% do valor na variável Valor_Colab_Recebe_Tec_A
                set Valor_Inic_Paga_Tec_A (auxiliar)                                     ; Coloca 100% do valor na variável Valor_Inic_Paga_Tec_A
                set Transfer_Tec_A 1                                                     ; Coloca valor 1 em Transfer_Tec_A, significando que existe transferência de colaboracao da colaboradora para a iniciadora
              ]                                                                          ; Fecha o ask de quatro linha acima
            ]                                                                            ; Fecha o if de seis linhas acima
            if colaboracao = "B" [                                                        ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_B (auxiliar)
                set Valor_Inic_Paga_Tec_B (auxiliar)
                set Transfer_Tec_B 1
              ]
            ]
            if colaboracao = "C" [                                                        ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_C (auxiliar)
                set Valor_Inic_Paga_Tec_C (auxiliar)
                set Transfer_Tec_C 1
              ]
            ]
            if colaboracao = "D" [                                                        ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_D (auxiliar)
                set Valor_Inic_Paga_Tec_D (auxiliar)
                set Transfer_Tec_D 1
              ]
            ]
            if colaboracao = "E" [                                                        ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_E (auxiliar)
                set Valor_Inic_Paga_Tec_E (auxiliar)
                set Transfer_Tec_E 1
              ]
            ]
          ]                                                  ; Fecha o if se é "Quebrado em Fechamento por outra colaboradora"





          ;;;;; Se for "Finalizado", então esta colaboradora recebe 100% do valor da Iniciadora. Propriedade intelectual é repassada desta colaboradora para a iniciadora
          if situacao = "Finalizado" [                                                   ; Se a situação do link for "Finalizado", então...
            set auxiliar valor                                                           ; Guarda o vakor do link no auxiliar
            if colaboracao = "A" [                                                        ; Se o link for a colaboracao A, então...
              ask turtle contador2 [                                                     ; Chama o Roadmap da vez
                set Valor_Colab_Recebe_Tec_A (auxiliar)                                  ; Coloca 100% do valor na variável Valor_Colab_Recebe_Tec_A
                set Valor_Inic_Paga_Tec_A (auxiliar)                                     ; Coloca 100% do valor na variável Valor_Inic_Paga_Tec_A
                set Transfer_Tec_A 1                                                     ; Coloca valor 1 em Transfer_Tec_A, significando que existe transferência de colaboracao da colaboradora para a iniciadora
              ]                                                                          ; Fecha o ask de quatro linha acima
            ]                                                                            ; Fecha o if de seis linhas acima
            if colaboracao = "B" [                                                        ; Faz a mesma coisa para a colaboracao B
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_B (auxiliar)
                set Valor_Inic_Paga_Tec_B (auxiliar)
                set Transfer_Tec_B 1
              ]
            ]
            if colaboracao = "C" [                                                        ; Faz a mesma coisa para a colaboracao C
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_C (auxiliar)
                set Valor_Inic_Paga_Tec_C (auxiliar)
                set Transfer_Tec_C 1
              ]
            ]
            if colaboracao = "D" [                                                        ; Faz a mesma coisa para a colaboracao D
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_D (auxiliar)
                set Valor_Inic_Paga_Tec_D (auxiliar)
                set Transfer_Tec_D 1
              ]
            ]
            if colaboracao = "E" [                                                        ; Faz a mesma coisa para a colaboracao E
              ask turtle contador2 [
                set Valor_Colab_Recebe_Tec_E (auxiliar)
                set Valor_Inic_Paga_Tec_E (auxiliar)
                set Transfer_Tec_E 1
              ]
            ]
          ]                                                  ; Fecha o if se é "Finalizado"

        ]
      ]
      set contador2 contador2 + 1
    ]
    set contador contador + 1
  ]
;;;;;;;;;;;;; Aqui é terminado de passar as informações para os Roadmaps. Agora, daqui para baixo é passado para as iniciadoras e colaboradoras a soma de todos os Roadmaps


  ask colaboradoras [                        ; Zera as variáveis das colaboradoras
    set Valor_recebido_propr_intelec 0
    set Propriedade_intelectual_enviada 0
    set Valor_recebido_indenizacao 0
    set Valor_pago_indenizacao 0
  ]

  ask iniciadoras [                          ; Zera as variáveis das iniciadoras
    set Valor_pago_propr_intelec 0
    set Propriedade_intelectual_recebida 0
    set Valor_recebido_indenizacao 0
    set Valor_pago_indenizacao 0
  ]

  set contador 0
  while [contador <= who_maior] [
    set contador2 0
    while [contador2 <= who_maior] [
      if link contador contador2 != nobody [
        ask link contador contador2 [
          if kind = "Iniciadora" [                                      ; Abre para a Iniciadora do Roadmap, para transferir para auxiliares os valores que pagam ou recebem de indenização, ou por tranferência de colaboracao, e também as quantidades de colaboracaos transferidas
            ask turtle contador2 [
              set Aux_Valor_Inic_Paga_Tec_A Valor_Inic_Paga_Tec_A
              set Aux_Valor_Inic_Paga_Tec_B Valor_Inic_Paga_Tec_B
              set Aux_Valor_Inic_Paga_Tec_C Valor_Inic_Paga_Tec_C
              set Aux_Valor_Inic_Paga_Tec_D Valor_Inic_Paga_Tec_D
              set Aux_Valor_Inic_Paga_Tec_E Valor_Inic_Paga_Tec_E
              set Aux_Valor_Inic_Paga_Tec_A_Inden Valor_Inic_Paga_Tec_A_Inden
              set Aux_Valor_Inic_Paga_Tec_B_Inden Valor_Inic_Paga_Tec_B_Inden
              set Aux_Valor_Inic_Paga_Tec_C_Inden Valor_Inic_Paga_Tec_C_Inden
              set Aux_Valor_Inic_Paga_Tec_D_Inden Valor_Inic_Paga_Tec_D_Inden
              set Aux_Valor_Inic_Paga_Tec_E_Inden Valor_Inic_Paga_Tec_E_Inden
              set Aux_Valor_Inic_Recebe_Tec_A_Inden Valor_Inic_Recebe_Tec_A_Inden
              set Aux_Valor_Inic_Recebe_Tec_B_Inden Valor_Inic_Recebe_Tec_B_Inden
              set Aux_Valor_Inic_Recebe_Tec_C_Inden Valor_Inic_Recebe_Tec_C_Inden
              set Aux_Valor_Inic_Recebe_Tec_D_Inden Valor_Inic_Recebe_Tec_D_Inden
              set Aux_Valor_Inic_Recebe_Tec_E_Inden Valor_Inic_Recebe_Tec_E_Inden
              set Aux_Transfer_Tec_A Transfer_Tec_A
              set Aux_Transfer_Tec_B Transfer_Tec_B
              set Aux_Transfer_Tec_C Transfer_Tec_C
              set Aux_Transfer_Tec_D Transfer_Tec_D
              set Aux_Transfer_Tec_E Transfer_Tec_E
            ]
            ask turtle contador [
              set Valor_pago_propr_intelec (Valor_pago_propr_intelec + Aux_Valor_Inic_Paga_Tec_A + Aux_Valor_Inic_Paga_Tec_B + Aux_Valor_Inic_Paga_Tec_C + Aux_Valor_Inic_Paga_Tec_D + Aux_Valor_Inic_Paga_Tec_E)
              set Propriedade_intelectual_recebida (Propriedade_intelectual_recebida + Aux_Transfer_Tec_A + Aux_Transfer_Tec_B + Aux_Transfer_Tec_C + Aux_Transfer_Tec_D + Aux_Transfer_Tec_E)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Valor_Inic_Recebe_Tec_A_Inden + Aux_Valor_Inic_Recebe_Tec_B_Inden + Aux_Valor_Inic_Recebe_Tec_C_Inden + Aux_Valor_Inic_Recebe_Tec_D_Inden + Aux_Valor_Inic_Recebe_Tec_E_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Valor_Inic_Paga_Tec_A_Inden + Aux_Valor_Inic_Paga_Tec_B_Inden + Aux_Valor_Inic_Paga_Tec_C_Inden + Aux_Valor_Inic_Paga_Tec_D_Inden + Aux_Valor_Inic_Paga_Tec_E_Inden)
            ]
          ]

          if colaboracao = "A" [                                         ; Abre para a Colaboradora do Roadmap que tem a colaboracao do tipo "A"
            ask turtle contador2 [
              set Aux_Colab_Recebe_Tec Valor_Colab_Recebe_Tec_A
              set Aux_Colab_Recebe_Inden Valor_Colab_Recebe_Tec_A_Inden
              set Aux_Colab_Paga_Inden Valor_Colab_Paga_Tec_A_Inden
              set Aux_Transfer_Tec Transfer_Tec_A
            ]
            ask turtle contador [
              set Valor_recebido_propr_intelec (Valor_recebido_propr_intelec + Aux_Colab_Recebe_Tec)
              set Propriedade_intelectual_enviada (Propriedade_intelectual_enviada + Aux_Transfer_Tec)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Colab_Recebe_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Colab_Paga_Inden)
            ]
          ]

          if colaboracao = "B" [                                         ; Abre para a Colaboradora do Roadmap que tem a colaboracao do tipo "B"
            ask turtle contador2 [
              set Aux_Colab_Recebe_Tec Valor_Colab_Recebe_Tec_B
              set Aux_Colab_Recebe_Inden Valor_Colab_Recebe_Tec_B_Inden
              set Aux_Colab_Paga_Inden Valor_Colab_Paga_Tec_B_Inden
              set Aux_Transfer_Tec Transfer_Tec_B
            ]
            ask turtle contador [
              set Valor_recebido_propr_intelec (Valor_recebido_propr_intelec + Aux_Colab_Recebe_Tec)
              set Propriedade_intelectual_enviada (Propriedade_intelectual_enviada + Aux_Transfer_Tec)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Colab_Recebe_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Colab_Paga_Inden)
            ]
          ]

          if colaboracao = "C" [                                         ; Abre para a Colaboradora do Roadmap que tem a colaboracao do tipo "C"
            ask turtle contador2 [
              set Aux_Colab_Recebe_Tec Valor_Colab_Recebe_Tec_C
              set Aux_Colab_Recebe_Inden Valor_Colab_Recebe_Tec_C_Inden
              set Aux_Colab_Paga_Inden Valor_Colab_Paga_Tec_C_Inden
              set Aux_Transfer_Tec Transfer_Tec_C
            ]
            ask turtle contador [
              set Valor_recebido_propr_intelec (Valor_recebido_propr_intelec + Aux_Colab_Recebe_Tec)
              set Propriedade_intelectual_enviada (Propriedade_intelectual_enviada + Aux_Transfer_Tec)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Colab_Recebe_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Colab_Paga_Inden)
            ]
          ]

          if colaboracao = "D" [                                         ; Abre para a Colaboradora do Roadmap que tem a colaboracao do tipo "D"
            ask turtle contador2 [
              set Aux_Colab_Recebe_Tec Valor_Colab_Recebe_Tec_D
              set Aux_Colab_Recebe_Inden Valor_Colab_Recebe_Tec_D_Inden
              set Aux_Colab_Paga_Inden Valor_Colab_Paga_Tec_D_Inden
              set Aux_Transfer_Tec Transfer_Tec_D
            ]
            ask turtle contador [
              set Valor_recebido_propr_intelec (Valor_recebido_propr_intelec + Aux_Colab_Recebe_Tec)
              set Propriedade_intelectual_enviada (Propriedade_intelectual_enviada + Aux_Transfer_Tec)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Colab_Recebe_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Colab_Paga_Inden)
            ]
          ]

          if colaboracao = "E" [                                         ; Abre para a Colaboradora do Roadmap que tem a colaboracao do tipo "E"
            ask turtle contador2 [
              set Aux_Colab_Recebe_Tec Valor_Colab_Recebe_Tec_E
              set Aux_Colab_Recebe_Inden Valor_Colab_Recebe_Tec_E_Inden
              set Aux_Colab_Paga_Inden Valor_Colab_Paga_Tec_E_Inden
              set Aux_Transfer_Tec Transfer_Tec_E
            ]
            ask turtle contador [
              set Valor_recebido_propr_intelec (Valor_recebido_propr_intelec + Aux_Colab_Recebe_Tec)
              set Propriedade_intelectual_enviada (Propriedade_intelectual_enviada + Aux_Transfer_Tec)
              set Valor_recebido_indenizacao (Valor_recebido_indenizacao + Aux_Colab_Recebe_Inden)
              set Valor_pago_indenizacao (Valor_pago_indenizacao + Aux_Colab_Paga_Inden)
            ]
          ]


        ]
      ]
      set contador2 contador2 + 1
    ]
    set contador contador + 1
  ]

  ;;;;; Agora são calculados os indicadores gerais

  set Qtde_Colaboradoras (count colaboradoras)
  set Qtde_Iniciadoras (count iniciadoras)
  set Qtde_Roadmaps (count Roadmaps)
  set Qtde_Roadmaps_Abertos (count Roadmaps with [Finalizado = "Open"])
  set Qtde_Roadmaps_Interromp_Fase_0 (count Roadmaps with [Finalizado = "Interrupted in Phase 0"])
  set Qtde_Roadmaps_Interromp_Fase_1 (count Roadmaps with [Finalizado = "Interrupted in Phase 1"])
  set Qtde_Roadmaps_Interromp_Fase_2 (count Roadmaps with [Finalizado = "Interrupted in Phase 2"])
  set Qtde_Roadmaps_Interromp_Fase_3 (count Roadmaps with [Finalizado = "Interrupted in Phase 3"])
  set Qtde_Roadmaps_Interromp_Fase_4 (count Roadmaps with [Finalizado = "Interrupted in Phase 4"])
  set Qtde_Roadmaps_Finalizados (count Roadmaps with [Finalizado = "Yes"])



  set auxiliar (count Roadmaps with [finalizado = "Yes"])       ; Faz o cálculo do valor médio dos Roadmaps finalizados com sucesso
  set contador 0
  set Valor_total_Roadmaps 0
  while [contador <= who_maior] [
    ask turtle contador [
      if (breed = Roadmaps) and (Finalizado = "Yes") [
        set Valor_total_Roadmaps Valor_total_Roadmaps + Valor_colaboracao_A
        set Valor_total_Roadmaps Valor_total_Roadmaps + Valor_colaboracao_B
        set Valor_total_Roadmaps Valor_total_Roadmaps + Valor_colaboracao_C
        set Valor_total_Roadmaps Valor_total_Roadmaps + Valor_colaboracao_D
        set Valor_total_Roadmaps Valor_total_Roadmaps + Valor_colaboracao_E
      ]
    ]
    set contador contador + 1
  ]
  ifelse auxiliar = 0 [set Valor_medio_Roadmap 0] [set Valor_medio_Roadmap Valor_Total_Roadmaps / auxiliar]


  set contador 0                               ; Faz o cálculo da quantidade de propriedade intelectual trocada e o valor e também o cálcuo do boas experiências com a plataforma para as iniciadoras
  set auxiliar 0
  set auxiliar2 0
  set auxiliar3 0
  set auxiliar4 0
  while [contador <= who_maior] [
    if turtle contador != nobody [
      ask turtle contador [
        if breed = Iniciadoras [
          set auxiliar (auxiliar + Propriedade_intelectual_recebida)
          set auxiliar2 (auxiliar2 + Valor_pago_propr_intelec)
          set auxiliar3 (auxiliar3 + Valor_recebido_indenizacao)
          set auxiliar4 (auxiliar4 + Valor_pago_indenizacao)
        ]
      ]
    ]
    set contador contador + 1
  ]
  set Propr_intelec_trocada auxiliar
  set Pago_por_prop_intelec auxiliar2
  set Colab_pagam_inde auxiliar3
  set Inic_pagam_inde auxiliar4
end 

to Show_outputs

  clear-output
  set contador 0
  while [contador <= who_maior] [
    if turtle contador != nobody [
      ask turtle contador [
        if (breed = Iniciadoras) [
          output-type "Creator "
          output-type contador
          output-type "                                                                                             "
          output-show " "

          output-type "Entry: Period "
          output-type Entrada_no_modelo
          output-type "                                                                                             "
          output-show " "

          output-type "Willingness to share =  "
          output-type Disposicao_compartilhar
          output-type "%                                                                                             "
          output-show " "

       ;   output-type "Paid for Collaboration =  "
       ;   output-type Valor_pago_propr_intelec
       ;   output-type "                                                                                             "
       ;   output-show " "

          output-type "Collaboration Received =  "
          output-type Propriedade_intelectual_recebida
          output-type "                                                                                             "
          output-show " "

      ;    output-type "Received as indemnity =  "
      ;    output-type Valor_recebido_indenizacao
      ;    output-type "                                                                                             "
      ;    output-show " "

      ;    output-type "Paid as indemnity =  "
      ;    output-type Valor_pago_indenizacao
      ;    output-type "                                                                                             "
      ;    output-show " "


        ]

        if breed = Colaboradoras [
          output-type "Partner "
          output-type contador
          output-type "                                                                                             "
          output-show " "

          output-type "Entry: Period "
          output-type Entrada_no_modelo
          output-type "                                                                                             "
          output-show " "

          output-type "Willingness to share = "
          output-type Disposicao_compartilhar
          output-type "%                                                                                             "
          output-show " "

          output-type "Collaboration Type = "
          output-type Tipo_colaboracao
          output-type "                                                                                             "
          output-show " "

     ;     output-type "Received for Collaboration = "
     ;     output-type Valor_recebido_propr_intelec
     ;     output-type "                                                                                             "
     ;     output-show " "

          output-type "Collaboration Shared = "
          output-type Propriedade_intelectual_enviada
          output-type "                                                                                             "
          output-show " "

     ;     output-type "Received as indemnity = "
     ;     output-type Valor_recebido_indenizacao
     ;     output-type "                                                                                             "
     ;     output-show " "

     ;     output-type "Paid as indemnity = "
     ;     output-type Valor_pago_indenizacao
     ;     output-type "                                                                                             "
     ;     output-show " "


        ]

        if breed = Roadmaps [
          output-type "Roadmap "
          output-type contador
          output-type "                                                                                             "
          output-show " "

          output-type "Type: "
          output-type Roadmap_Type
          output-type "                                                                                             "
          output-show " "

          output-type "Started by: Creator "
          output-type Iniciado_por
          output-type "                                                                                             "
          output-show " "

          output-type "Started in: Period "
          output-type Iniciado_em
          output-type "                                                                                             "
          output-show " "

          output-type "Finished? "
          output-type Finalizado
          output-type "                                                                                             "
          output-show " "

    ;      if finalizado = "Yes" [
    ;        output-type " - PAID FOR Collaboration:"
    ;        output-type "                                                                                             "
    ;        output-show " "
    ;        output-type "   + Value of Collaboration A = "
    ;        output-type Valor_colaboracao_A
    ;        output-type "                                                                                             "
    ;        output-show " "

    ;        output-type "   + Value of Collaboration B = "
    ;        output-type Valor_colaboracao_B
    ;        output-type "                                                                                             "
    ;        output-show " "

    ;        output-type "   + Value of Collaboration C = "
    ;        output-type Valor_colaboracao_C
    ;        output-type "                                                                                             "
    ;        output-show " "

    ;        output-type "   + Value of Collaboration D = "
    ;        output-type Valor_colaboracao_D
    ;        output-type "                                                                                             "
    ;        output-show " "

    ;        output-type "   + Value of Collaboration E = "
    ;        output-type Valor_colaboracao_E
    ;        output-type "                                                                                             "
    ;        output-show " "

    ;        output-type "   + Total value = "
    ;        output-type (Valor_colaboracao_A + Valor_colaboracao_B + Valor_colaboracao_C + Valor_colaboracao_D + Valor_colaboracao_E)
    ;        output-type "                                                                                             "
    ;        output-show " "
    ;      ]


      ;    if finalizado = "Interrupted in Phase 2" [
      ;      output-type " - Creator PAYS AS INDEMNITY:"
      ;      output-type "                                                                                             "
      ;      output-show " "
      ;      output-type "   + Value of Collaboration A = "
      ;      output-type Valor_Inic_Paga_Tec_A_Inden
      ;      output-type "                                                                                             "
      ;      output-show " "

      ;      output-type "   + Value of Collaboration B = "
      ;      output-type Valor_Inic_Paga_Tec_B_Inden
      ;      output-type "                                                                                             "
      ;      output-show " "

      ;      output-type "   + Value of Collaboration C = "
      ;      output-type Valor_Inic_Paga_Tec_C_Inden
      ;      output-type "                                                                                             "
      ;      output-show " "

      ;      output-type "   + Value of Collaboration D = "
      ;      output-type Valor_Inic_Paga_Tec_D_Inden
      ;      output-type "                                                                                             "
      ;      output-show " "

      ;      output-type "   + Value of Collaboration E = "
      ;      output-type Valor_Inic_Paga_Tec_E_Inden
      ;      output-type "                                                                                             "
      ;      output-show " "

      ;      output-type "   + Total value = "
      ;      output-type (Valor_Inic_Paga_Tec_A_Inden + Valor_Inic_Paga_Tec_B_Inden + Valor_Inic_Paga_Tec_C_Inden + Valor_Inic_Paga_Tec_D_Inden + Valor_Inic_Paga_Tec_E_Inden)
      ;      output-type "                                                                                             "
      ;      output-show " "
      ;    ]

   ;       if finalizado = "Interrupted in Phase 3" [
   ;         set auxiliar 0
   ;         set auxiliar2 0
   ;         set auxiliar3 0
   ;         set auxiliar4 0
   ;         set auxiliar5 0
   ;         output-type " - Creator PAYS AS INDEMNITY:"
   ;         output-type "                                                                                             "
   ;         output-show " "

   ;         if Valor_Inic_Paga_Tec_A_Inden != 0 [
   ;           set auxiliar Valor_Inic_Paga_Tec_A_Inden
   ;           output-type "   + Value of Collaboration A = "
   ;           output-type Valor_Inic_Paga_Tec_A_Inden
   ;           output-type "                                                                                             "
   ;           output-show " "
   ;         ]

   ;         if Valor_Inic_Paga_Tec_B_Inden != 0 [
   ;           set auxiliar2 Valor_Inic_Paga_Tec_B_Inden
   ;           output-type "   + Value of Collaboration B = "
   ;           output-type Valor_Inic_Paga_Tec_B_Inden
   ;           output-type "                                                                                             "
   ;           output-show " "
   ;         ]

   ;         if Valor_Inic_Paga_Tec_C_Inden != 0 [
   ;           set auxiliar3 Valor_Inic_Paga_Tec_C_Inden
   ;           output-type "   + Value of Collaboration C = "
   ;           output-type Valor_Inic_Paga_Tec_C_Inden
   ;           output-type "                                                                                             "
   ;           output-show " "
   ;         ]

   ;         if Valor_Inic_Paga_Tec_D_Inden != 0 [
   ;           set auxiliar4 Valor_Inic_Paga_Tec_D_Inden
   ;           output-type "   + Value of Collaboration D = "
   ;           output-type Valor_Inic_Paga_Tec_D_Inden
   ;           output-type "                                                                                             "
   ;           output-show " "
   ;         ]

   ;        if Valor_Inic_Paga_Tec_E_Inden != 0 [
   ;          set auxiliar5 Valor_Inic_Paga_Tec_E_Inden
   ;           output-type "   + Value of Collaboration E = "
   ;           output-type Valor_Inic_Paga_Tec_E_Inden
   ;           output-type "                                                                                             "
   ;           output-show " "
   ;         ]

  ;          output-type "   + Total value = "
  ;          output-type (auxiliar + auxiliar2 + auxiliar3 + auxiliar4 + auxiliar5)
  ;          output-type "                                                                                             "
  ;          output-show " "

  ;          set auxiliar 0
  ;          set auxiliar2 0
  ;          set auxiliar3 0
  ;          set auxiliar4 0
  ;          set auxiliar5 0
  ;          output-type " - Partner PAYS AS INDEMNITY:"
  ;          output-type "                                                                                             "
  ;          output-show " "

  ;          if Valor_Colab_Paga_Tec_A_Inden != 0 [
  ;            set auxiliar Valor_Colab_Paga_Tec_A_Inden
  ;            output-type "   + Value of Collaboration A = "
  ;            output-type Valor_Colab_Paga_Tec_A_Inden
  ;            output-type "                                                                                             "
  ;            output-show " "
  ;          ]

  ;          if Valor_Colab_Paga_Tec_B_Inden != 0 [
  ;            set auxiliar2 Valor_Colab_Paga_Tec_B_Inden
  ;            output-type "   + Value of Collaboration B = "
  ;            output-type Valor_Colab_Paga_Tec_B_Inden
  ;            output-type "                                                                                             "
  ;            output-show " "
  ;          ]

  ;          if Valor_Colab_Paga_Tec_C_Inden != 0 [
  ;            set auxiliar3 Valor_Colab_Paga_Tec_C_Inden
  ;            output-type "   + Value of Collaboration C = "
  ;            output-type Valor_Colab_Paga_Tec_C_Inden
  ;            output-type "                                                                                             "
  ;            output-show " "
  ;          ]

  ;          if Valor_Colab_Paga_Tec_D_Inden != 0 [
  ;            set auxiliar4 Valor_Colab_Paga_Tec_D_Inden
  ;            output-type "   + Value of Collaboration D = "
  ;            output-type Valor_Colab_Paga_Tec_D_Inden
  ;            output-type "                                                                                             "
  ;            output-show " "
  ;          ]

  ;          if Valor_Colab_Paga_Tec_E_Inden != 0 [
  ;            set auxiliar5 Valor_Colab_Paga_Tec_E_Inden
  ;            output-type "   + Value of Collaboration E = "
  ;            output-type Valor_Colab_Paga_Tec_E_Inden
  ;            output-type "                                                                                             "
  ;            output-show " "
  ;          ]

  ;          output-type "   + Total value = "
  ;          output-type (auxiliar + auxiliar2 + auxiliar3 + auxiliar4 + auxiliar5)
  ;          output-type "                                                                                             "
  ;          output-show " "
  ;        ]


;          if finalizado = "Interrupted in Phase 4" [
;            set auxiliar 0
;            set auxiliar2 0
;            set auxiliar3 0
;            set auxiliar4 0
;            set auxiliar5 0
;            output-type " - PAID FOR Collaboration:"
;            output-type "                                                                                             "
;            output-show " "

;            if Valor_Inic_Paga_Tec_A != 0 [
;              set auxiliar Valor_Inic_Paga_Tec_A
;              output-type "   + Value of Collaboration A = "
;              output-type Valor_Inic_Paga_Tec_A
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Inic_Paga_Tec_B != 0 [
;              set auxiliar2 Valor_Inic_Paga_Tec_B
;              output-type "   + Value of Collaboration B = "
;              output-type Valor_Inic_Paga_Tec_B
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Inic_Paga_Tec_C != 0 [
;              set auxiliar3 Valor_Inic_Paga_Tec_C
;              output-type "   + Value of Collaboration C = "
;              output-type Valor_Inic_Paga_Tec_C
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Inic_Paga_Tec_D != 0 [
;              set auxiliar4 Valor_Inic_Paga_Tec_D
;              output-type "   + Value of Collaboration D = "
;              output-type Valor_Inic_Paga_Tec_D
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Inic_Paga_Tec_E != 0 [
;              set auxiliar5 Valor_Inic_Paga_Tec_E
;              output-type "   + Value of Collaboration E = "
;              output-type Valor_Inic_Paga_Tec_E
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            output-type "   + Total value = "
;            output-type (auxiliar + auxiliar2 + auxiliar3 + auxiliar4 + auxiliar5)
;            output-type "                                                                                             "
;            output-show " "

;            set auxiliar 0
;            set auxiliar2 0
;            set auxiliar3 0
;            set auxiliar4 0
;            set auxiliar5 0
;            output-type " - Partner PAYS AS INDEMNITY:"
;            output-type "                                                                                             "
;            output-show " "

;            if Valor_Colab_Paga_Tec_A_Inden != 0 [
;              set auxiliar Valor_Colab_Paga_Tec_A_Inden
;              output-type "   + Value of Collaboration A = "
;              output-type Valor_Colab_Paga_Tec_A_Inden
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Colab_Paga_Tec_B_Inden != 0 [
;              set auxiliar2 Valor_Colab_Paga_Tec_B_Inden
;              output-type "   + Value of Collaboration B = "
;              output-type Valor_Colab_Paga_Tec_B_Inden
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Colab_Paga_Tec_C_Inden != 0 [
;              set auxiliar3 Valor_Colab_Paga_Tec_C_Inden
;              output-type "   + Value of Collaboration C = "
;              output-type Valor_Colab_Paga_Tec_C_Inden
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Colab_Paga_Tec_D_Inden != 0 [
;              set auxiliar4 Valor_Colab_Paga_Tec_D_Inden
;              output-type "   + Value of Collaboration D = "
;              output-type Valor_Colab_Paga_Tec_D_Inden
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            if Valor_Colab_Paga_Tec_E_Inden != 0 [
;              set auxiliar5 Valor_Colab_Paga_Tec_E_Inden
;              output-type "   + Value of Collaboration E = "
;              output-type Valor_Colab_Paga_Tec_E_Inden
;              output-type "                                                                                             "
;              output-show " "
;            ]

;            output-type "   + Total value = "
;            output-type (auxiliar + auxiliar2 + auxiliar3 + auxiliar4 + auxiliar5)
;            output-type "                                                                                             "
;            output-show " "
;          ]







          ]

        output-type "-------------------------------------------------------------------------------------------"
        output-show " "
        output-type "-------------------------------------------------------------------------------------------"
        output-show " "




        ]

      ]
    set contador contador + 1
  ]

  update-plots ; Atualiza os gráficos

  if export = true [                                        ; exporta o mundo netlogo e os textos
    export-interface (word "Interface Period " periodo ".png")
    export-output (word "Output Period " periodo ".csv")
  ]
end 

to Atualizar_empresas                         ; Atualiza também os Roadmaps, que podem sofrer alteração das probabilidades de passagem de fase, já que esses valores dependem de um dado de entrada
  ask Colaboradoras [
    set Information_reliability_aux Information_reliability
    set Autonomy_-Less_intermediaries-_aux Autonomy_-Less_intermediaries-
    set Traceability_aux Traceability
    set IP_security_aux IP_security
    set Accuracy_and_precision_aux Accuracy_and_precision
    set Speed_of_processes_and_operations_aux Speed_of_processes_and_operations
    set Disposicao_compartilhar ((Information_reliability_aux + Autonomy_-Less_intermediaries-_aux + Traceability_aux + IP_security_aux +        ; Puldei de linha apenas para deixar alinhado
      Accuracy_and_precision_aux + Speed_of_processes_and_operations_aux + Boas_experiencias_com_a_plataforma_aux) / 0.49)                      ; 0.49 é usado para trazer para base de 100
  ]

  ask Iniciadoras [
    set Information_reliability_aux Information_reliability
    set Autonomy_-Less_intermediaries-_aux Autonomy_-Less_intermediaries-
    set Traceability_aux Traceability
    set IP_security_aux IP_security
    set Accuracy_and_precision_aux Accuracy_and_precision
    set Speed_of_processes_and_operations_aux Speed_of_processes_and_operations
    set Disposicao_compartilhar ((Information_reliability_aux + Autonomy_-Less_intermediaries-_aux + Traceability_aux + IP_security_aux +        ; Puldei de linha apenas para deixar alinhado
      Accuracy_and_precision_aux + Speed_of_processes_and_operations_aux + Boas_experiencias_com_a_plataforma_aux) / 0.49)                      ; 0.49 é usado para trazer para base de 100
  ]

  ; Este bloco é para calcular o quanto que a plataforma influencia em porcentagem para a passagem de fase

  set Auxiliar mean [Boas_experiencias_com_a_plataforma_aux] of Turtles with [breed != Roadmaps]

  if Roadmap_formation_influence_in_phase_transition? = "Yes (Up to 15%)" [set Platform_influence (Information_reliability + Autonomy_-Less_intermediaries- + Traceability +
    IP_security + Accuracy_and_precision + Speed_of_processes_and_operations + Auxiliar) * 0.15 / 0.49]

  if Roadmap_formation_influence_in_phase_transition? = "No (0%)" [set Platform_influence 0]


  ; Este bloco calcula os valores de passagem de fase de cada Tipo de Roadmap individualmente

  ask Roadmaps [
    if Roadmap_Type = "Shaper" [
      set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
      if End_Phase4-Probability > 100 [set End_Phase4-Probability 100]
      set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
      if Phase3_to_Phase4-Probability > 100 [set Phase3_to_Phase4-Probability 100]
      set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 37.5
      if Phase2_to_Phase3-Probability > 100 [set Phase2_to_Phase3-Probability 100]
      set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 12.5
      if Phase1_to_Phase2-Probability > 100 [set Phase1_to_Phase2-Probability 100]
    ]

    if Roadmap_Type = "Adapter" [
      set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
      if End_Phase4-Probability > 100 [set End_Phase4-Probability 100]
      set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
      if Phase3_to_Phase4-Probability > 100 [set Phase3_to_Phase4-Probability 100]
      set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 37.5
      if Phase2_to_Phase3-Probability > 100 [set Phase2_to_Phase3-Probability 100]
      set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 12.5
      if Phase1_to_Phase2-Probability > 100 [set Phase1_to_Phase2-Probability 100]
    ]

    if Roadmap_Type = "Integrator" [
      set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
      if End_Phase4-Probability > 100 [set End_Phase4-Probability 100]
      set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 75
      if Phase3_to_Phase4-Probability > 100 [set Phase3_to_Phase4-Probability 100]
      set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 50
      if Phase2_to_Phase3-Probability > 100 [set Phase2_to_Phase3-Probability 100]
      set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
      if Phase1_to_Phase2-Probability > 100 [set Phase1_to_Phase2-Probability 100]
    ]

    if Roadmap_Type = "Explorer" [
      set End_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
      if End_Phase4-Probability > 100 [set End_Phase4-Probability 100]
      set Phase3_to_Phase4-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 25
      if Phase3_to_Phase4-Probability > 100 [set Phase3_to_Phase4-Probability 100]
      set Phase2_to_Phase3-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 0
      if Phase2_to_Phase3-Probability > 100 [set Phase2_to_Phase3-Probability 100]
      set Phase1_to_Phase2-Probability Threshold_Probability_-Phase_transition- +  Platform_influence + 0
      if Phase1_to_Phase2-Probability > 100 [set Phase1_to_Phase2-Probability 100]
    ]
  ]
end 

to go
  set periodo periodo + 1
  Atualizar_empresas            ; Tem no começo pois os dados de entrada podem ser mudados, então o modelo deve verificar isso.
  Passar_fase
  Iniciar_um_Roadmap_colaborativo
  Iniciar_Colaboracao_no_Roadmap
  Definir_Roadmap_Fase_1
  Calculo_indicadores
  Atualizar_empresas            ; Tem no final pois as empresas podem ter mudado a variável de Boa Experiências com a plataforma" neste período, então o modelo deve verificar isso
  Show_outputs
end 

There is only one version of this model, created about 1 year ago by Gabriel Couto Mantese.

Attached files

File Type Description Last updated
Tech ventures and roadmapping - Simulation model.png preview Preview about 1 year ago, by Gabriel Couto Mantese Download

This model does not have any ancestors.

This model does not have any descendants.