¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Criação do Cenário

Eduardo Almeida Portugués

Contenido del mapa

Criação do Cenário

  1. Simulator Domain

    • Seleção dos campos da base de cenário utilizada
    • SimulateItem
      • Analyze
        • Consumo
        • Lead Time
      • Processo
        • Fonte de informação de consumo
        • Fonte de informação de Lead Time
        • Organiza Nível de serviço
        • Checa o tipo de simulação a usar
        • Execução dos métodos de Simulação
          • Caso simulationModel = SimulationTypeModel.Poisson
            • -Inputs: lifeCycle, lots, leadTimes, leadTimeAverage, leadTimeDeviation, minimumBuyLot, multipleBuyLot, consumptionLot, orderCost, stockCost, unitaryPrice.
            • Output: Warning, Minimum, Maximum, BuyLot (lotsRestriction), LotCoverage(Int(lotsRestriction / demandAverage)), P1, P2, SafetyStock (securityStock), AvgStock,AvgValueInStock (averageStock * unitaryPrice) e AmountOfResupply
            • Validar esse uso do ConsumptionLot. Ao meu ver não faz sentido
            • Define as variáveis
              • Todas as variáveis criadas: -lots = itemsinOperation/ConsumptionLot-demandAverage = lots / lifeCycle-annualDemand = demandAverage * 12-lotsRestriction = Lot(annualDemand, orderCost, stockCost, minimumBuyLot, multipleBuyLot, minimumCoverage, maximumCoverage, demandAverage);-leadTimeAvg = leadTimeAverage-leadTimeStandardDeviation = leadTimeDeviation-leadTimeDemandAverage = leadTimeAvg * demandAverage
            • Cálculo do ponto do pedido
              • Iteração entre o requestPoint e os níveis de serviço : expectedServiceLevel1 e expectedServiceLevel2
              • Explicação: Como na modelagem de poisson não há a padronização do modelo estatístico não é possível definir k usado na fórmula s = udL + k*stdevL, por esse motivo, é feito a iteração para definir o request point que atende o nível de serviço desejado.
            • Resultados
            • Validações e variações finais
          • Caso simulationModel = SimulationTypeModel.Bernoulli
          • Caso simulationModel = SimulationTypeModel.GeneralizedCompound
          • Caso simulationModel = SimulationTypeModel.GeneralizedCompound2
            • consumptions[],minimalLimit, averageConsumption,consumptionDeviation, consumptionRate, consumptionType, leadTimes[][], leadTimeAverage, leadTimeDeviation, minimumBuyLot, multipleBuyLot, consumptionLot, orderCost, stockCost,unitaryPrice, -wantedP1,wantedP2, minimumCoverage, maximumCoverage = 0;
            • Define as variáveis
              • leadTimeLength = leadTimes[1].Length
                • Qntd eventos Lead time
              • Variáveis zeradas(0)
                • consumptionLength, nonConsumptionProbability, demandAverage, calculatedDemandAvg, demandStandardDeviation, leadTimeNonConsumptionProb
              • Cálculo Média/Desvpad
                • Cálculo da média e desvpad muda dependendo se foi setado fonte de informação histórica
            • Cálculo do pedido
              • Input inicial
                • 1)calculatedLeadTimeAvg = leadTimeAverage; 2)leadTimeStandardDeviation = leadTimeDeviation; 3)leadTimeDemandDeviation = Math.Sqrt((calculatedLeadTimeAvg * Math.Pow(demandStandardDeviation(*s), 2)) + (Math.Pow(demandAverage, 2) * Math.Pow(leadTimeStandardDeviation, 2))); 4)leadTimeDemandAverage = demandAverage * calculatedLeadTimeAvg; 5)leadTimeDemandAverage = demandAverage * calculatedLeadTimeAvg; 6)annualDemand = demandAverage * 12;
                • aux = requestmark
                • requestMark = leadTimeDemandAverage + 1
                • expectedServiceLevel1= GeneralizedCompound2LeadTimeNonStockoutProbability
                  • GeneralizedCompound2LeadTimeNonStockoutProbability (calculatedDemandAvg, calculatedDemandDev, leadTimes, nonConsumptionProbability, requestMark);
                • expectedServiceLevel2 = GeneralizedCompound2AttendedDemandPercentage
                  • GeneralizedCompound2AttendedDemandPercentage(calculatedDemandAvg, calculatedDemandDev, leadTimes, nonConsumptionProbability, requestMark, lotsRestriction, expectedServiceLevel1);
                  • GeneralizedCompound2AttendedDemandPercentage
                    • -Inputs: average,deviation, leadTimes[][], nonConsumptionProbability, requestMark
                    • Variáveis iniciais
                      • leadTimeLength = leadTimes[1].Length
                      • result = 0.0
                    • Preenche o valor do desvio padrão em cada indice do vetor
                      • for (var l = 0; l < leadTimeLength; l++)
                      • aux = 0.0 & lt = leadTimes[0][l];
                      • for (var i = 1; i <= lt; i++)
                        • aux = aux + C(lt,i) * (1- nonConsumptionProbability)^i * nonConsumptionProbability^(lt - i) * deviation * Math.Sqrt(i) * normalLostValue
                        • standardDeviationsQty = (requestPoint - average * i) / (deviation * Sqrt(i));
                        • normalLostValue = MathHelpers.NormDist(standardDeviationsQty, 0, 1, false) + standardDeviationsQty * MathHelpers.NormSDist(standardDeviationsQty) - standardDeviationsQty;
                      • result += leadTimes[1][l] * aux;
                      • if (result < expectedServiceLevel1); result = expectedServiceLevel1;
              • Iterações para definir o requestMark otimizado
                • Ciclos de repetição igual a sequência do input inicial, contudo com loops de iteração onde altera por cada iteração o requestMark até atingir algum critério da iteração
                • Iteração 1: requestMark = requestMark/ 2
                  • while (expectedServiceLevel1 &gt; wantedP1 &amp;&amp; expectedServiceLevel2 &gt; wantedP2 &amp;&amp; requestMark &gt; 0)
                • Iteração Condicional 1: requestMark = requestMark + 1
                  • -if (requestMark.Equal(0)) while (expectedServiceLevel1 &lt; wantedP1 || expectedServiceLevel2 &lt; wantedP2)
                  • -Iteração condicional finaliza o processo caso chamada
                  • Finaliza
                • Iteração 2: requestMark = 2 * requestMark
                • Redefinição de variáveis
                  • requestMark= (requestMark/ 2) + 1);
                  • multiplier = 1
                  • expectedServiceLevel[1,2] = 0
                • Iteração 3: requestMark + (multiplier * aux)
                  • while (expectedServiceLevel1 &lt; wantedP1 || expectedServiceLevel2 &lt; wantedP2)
                • Condicional 2: Redefine variáveis e Iteração condicional
                  • Redefine variáveis
                    • requestMark = requestMark - (multiplier * aux)
                    • multiplier = multiplier / 2;
                    • expectedServiceLevel[1,2] = 0
                  • Iteração condicional 3: requestMark = requestMark + 1
                    • -if (multiplier * aux &lt; 1) while (expectedServiceLevel1 &lt; wantedP1 || expectedServiceLevel2 &lt; wantedP2)
            • Definição dos níveis
              • Cálculo do mínimo
                • min = requestMark + consumptionLot
                • Minimal limit
                  • -if (calculatedLeadTimeAvg &gt; 12)&nbsp; minimalLimit = (calculatedLeadTimeAvg / 12) * minimalLimit;&nbsp;
                • min = minimalLimit
                • Redefine LOS
                  • 1)expectedServiceLevel1 = GC2LNSO(**) a)if (expectedServiceLevel1 &lt; wantedP1) -expectedServiceLevel1 = wantedP1; 2)expectedServiceLevel2 = GC2ADP(**) a)if (expectedServiceLevel2 &lt; wantedP1)-expectedServiceLevel2 = wantedP2;
              • Cálculo do máximo
                • max = requestMark + lotsRestriction
                  • if (max &lt; min); max = min;
                • securityStock = min - consumptionLot - leadTimeDemandAverage;
                • averageStock = ((max - min + consumptionLot) / 2) + securityStock;
                • if (securityStock < 0) ; securityStock = 0; if (averageStock < 0) ; averageStock = 0;
              • resuppliesNumber = demandAverage * 12 / (max - min + consumptionLot);
            • Resultados finais e avaliações
        • Análise de resultados

Información

Descripción
Mapa Mental sobre Criação do Cenário, creado por Eduardo Almeida el 03/09/2018.
Creado por
Eduardo Almeida
Visitas
0
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?