Exemplo n.º 1
0
 def report(self):
     if self.valid_confidence_interval():
         print "Intervalos de confiança estimados válidos!, exibindo os resultados:"
         print "E[N1]: ", est.mean(self.results['m_s_N1'], self.samples)
         print "IC - E[N1]", est.confidence_interval(self.results['m_s_N1'], self.results['m_s_s_N1'], self.samples)
         print "E[N2]: ", est.mean(self.results['m_s_N2'], self.samples)
         print "IC - E[N2]", est.confidence_interval(self.results['m_s_N2'], self.results['m_s_s_N2'], self.samples)
         print "E[T1]: ", est.mean(self.results['m_s_T1'], self.samples)
         print "IC - E[T1]", est.confidence_interval(self.results['m_s_T1'], self.results['m_s_s_T1'], self.samples)
         print "E[T2]: ", est.mean(self.results['m_s_T2'], self.samples)
         print "IC - E[T2]", est.confidence_interval(self.results['m_s_T2'], self.results['m_s_s_T2'], self.samples)
         print "E[Nq1]: ", est.mean(self.results['m_s_Nq1'], self.samples)
         print "IC - E[Nq1]", est.confidence_interval(self.results['m_s_Nq1'], self.results['m_s_s_Nq1'], self.samples)
         print "E[Nq2]: ", est.mean(self.results['m_s_Nq2'], self.samples)
         print "IC - E[Nq2]", est.confidence_interval(self.results['m_s_Nq2'], self.results['m_s_s_Nq2'], self.samples)
         print "E[W1]: ", est.mean(self.results['m_s_W1'], self.samples)
         print "IC - E[W1]", est.confidence_interval(self.results['m_s_W1'], self.results['m_s_s_W1'], self.samples)
         print "E[W2]: ", est.mean(self.results['m_s_W2'], self.samples)
         print "IC - E[W2]", est.confidence_interval(self.results['m_s_W2'], self.results['m_s_s_W2'], self.samples)
         print "V(W1): ", est.mean(self.results['v_s_W1'], self.samples)
         print "IC - V(W1)", est.confidence_interval(self.results['v_s_W1'], self.results['v_s_s_W1'], self.samples)
         print "V(W2): ", est.mean(self.results['v_s_W2'], self.samples)
         print "IC - V(W2)", est.confidence_interval(self.results['v_s_W2'], self.results['v_s_s_W2'], self.samples)
     else:
         print "Intervalos de confiança estimados inválidos. Aumente o numero de amostras ou de clientes por amostra"
Exemplo n.º 2
0
 def calc_results(self):
     self.results = {
         'E[N1]'  : { 'value' : est.mean(self.sums['m_s_N1'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_N1'], self.sums['m_s_s_N1'], self.samples) },
         'E[N2]'  : { 'value' : est.mean(self.sums['m_s_N2'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_N2'], self.sums['m_s_s_N2'], self.samples) },
         'E[T1]'  : { 'value' : est.mean(self.sums['m_s_T1'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_T1'], self.sums['m_s_s_T1'], self.samples) },
         'E[T2]'  : { 'value' : est.mean(self.sums['m_s_T2'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_T2'], self.sums['m_s_s_T2'], self.samples) },
         'E[Nq1]' : { 'value' : est.mean(self.sums['m_s_Nq1'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_Nq1'], self.sums['m_s_s_Nq1'], self.samples) },
         'E[Nq2]' : { 'value' : est.mean(self.sums['m_s_Nq2'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_Nq2'], self.sums['m_s_s_Nq2'], self.samples) },
         'E[W1]'  : { 'value' : est.mean(self.sums['m_s_W1'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_W1'], self.sums['m_s_s_W1'], self.samples) },
         'E[W2]'  : { 'value' : est.mean(self.sums['m_s_W2'], self.samples), 'c_i' : est.confidence_interval(self.sums['m_s_W2'], self.sums['m_s_s_W2'], self.samples) },
         'V(W1)'  : { 'value' : est.mean(self.sums['v_s_W1'], self.samples), 'c_i' : est.confidence_interval(self.sums['v_s_W1'], self.sums['v_s_s_W1'], self.samples) },
         'V(W2)'  : { 'value' : est.mean(self.sums['v_s_W2'], self.samples), 'c_i' : est.confidence_interval(self.sums['v_s_W2'], self.sums['v_s_s_W2'], self.samples) }
     }
Exemplo n.º 3
0
    def process_sample(self):
        s_wait_1 = 0; s_s_wait_1 = 0
        s_wait_2 = 0; s_s_wait_2 = 0
        s_server_1 = 0; s_server_2 = 0

        # Loop que faz a soma e a soma dos quadrados dos tempos de espera e a soma dos tempos em servidor
        # Dos clientes na fila 1 e na fila 2.
        for client in self.clients:
            s_wait_1 += client.wait(1)
            s_s_wait_1 += client.wait(1)**2
            s_server_1 += client.server[1]
            s_wait_2 += client.wait(2)
            s_s_wait_2 += client.wait(2)**2
            s_server_2 += client.server[2]
            
        # Adiciona à soma e à soma dos quadrados dos estimadores os valores estimados na rodada.
        self.sums['m_s_W1'] += est.mean(s_wait_1, len(self.clients))
        self.sums['m_s_s_W1'] += est.mean(s_wait_1, len(self.clients))**2
        self.sums['v_s_W1'] += est.variance(s_wait_1, s_s_wait_1, len(self.clients))
        self.sums['v_s_s_W1'] += est.variance(s_wait_1, s_s_wait_1, len(self.clients))**2
        self.sums['m_s_N1'] += est.mean(self.N_samples['N_1'], self.t)
        self.sums['m_s_s_N1'] += est.mean(self.N_samples['N_1'], self.t)**2
        self.sums['m_s_Nq1'] += est.mean(self.N_samples['Nq_1'], self.t)
        self.sums['m_s_s_Nq1'] += est.mean(self.N_samples['Nq_1'], self.t)**2
        self.sums['m_s_T1'] += est.mean(s_wait_1, len(self.clients)) + est.mean(s_server_1, len(self.clients))
        self.sums['m_s_s_T1'] += (est.mean(s_wait_1, len(self.clients)) + est.mean(s_server_1, len(self.clients)))**2
        self.sums['m_s_W2'] += est.mean(s_wait_2, len(self.clients))
        self.sums['m_s_s_W2'] += est.mean(s_wait_2, len(self.clients))**2
        self.sums['v_s_W2'] += est.variance(s_wait_2, s_s_wait_2, len(self.clients))
        self.sums['v_s_s_W2'] += est.variance(s_wait_2, s_s_wait_2, len(self.clients))**2
        self.sums['m_s_N2'] += est.mean(self.N_samples['N_2'], self.t)
        self.sums['m_s_s_N2'] += est.mean(self.N_samples['N_2'], self.t)**2
        self.sums['m_s_Nq2'] += est.mean(self.N_samples['Nq_2'], self.t)
        self.sums['m_s_s_Nq2'] += est.mean(self.N_samples['Nq_2'], self.t)**2
        self.sums['m_s_T2'] += est.mean(s_wait_2, len(self.clients)) + est.mean(s_server_2, len(self.clients))
        self.sums['m_s_s_T2'] += (est.mean(s_wait_2, len(self.clients)) + est.mean(s_server_2, len(self.clients)))**2
        # Inicializa as estruturas de dados para a próxima rodada.
        self.init_sample()
Exemplo n.º 4
0
 def valid_confidence_interval(self):
     return (2.0*est.confidence_interval(self.results['m_s_N1'], self.results['m_s_s_N1'], self.samples) <= 0.1*est.mean(self.results['m_s_N1'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_N2'], self.results['m_s_s_N2'], self.samples) <= 0.1*est.mean(self.results['m_s_N2'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_T1'], self.results['m_s_s_T1'], self.samples) <= 0.1*est.mean(self.results['m_s_T1'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_T2'], self.results['m_s_s_T2'], self.samples) <= 0.1*est.mean(self.results['m_s_T2'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_Nq1'], self.results['m_s_s_Nq1'], self.samples) <= 0.1*est.mean(self.results['m_s_Nq1'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_Nq2'], self.results['m_s_s_Nq2'], self.samples) <= 0.1*est.mean(self.results['m_s_Nq2'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_W1'], self.results['m_s_s_W1'], self.samples) <= 0.1*est.mean(self.results['m_s_W1'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['m_s_W2'], self.results['m_s_s_W2'], self.samples) <= 0.1*est.mean(self.results['m_s_W2'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['v_s_W1'], self.results['v_s_s_W1'], self.samples) <= 0.1*est.mean(self.results['v_s_W1'], self.samples)) and \
            (2.0*est.confidence_interval(self.results['v_s_W2'], self.results['v_s_s_W2'], self.samples) <= 0.1*est.mean(self.results['v_s_W2'], self.samples))
Exemplo n.º 5
0
    def process_sample():
        s_wait_1 = 0; s_s_wait_1 = 0
        s_wait_2 = 0; s_s_wait_2 = 0
        s_server_1 = 0; s_server_2 = 0

        for client in self.clients:
            s_wait_1 += client.wait(1)
            s_s_wait_1 += client.wait(1)**2
            s_server_1 += client.server[1]
            s_wait_2 += client.wait(2)
            s_s_wait_2 += client.wait(2)**2
            s_server_2 += client.server[2]
            
        self.results['m_s_W1'] += est.mean(s_wait_1, len(self.clients))
        self.results['m_s_s_W1'] += est.mean(s_wait_1, len(self.clients))**2
        self.results['v_s_W1'] += est.variance(s_wait_1, s_s_wait_1, len(self.clients))
        self.results['v_s_s_W1'] += est.variance(s_wait_1, s_s_wait_1, len(self.clients))**2
        self.results['m_s_N1'] += est.mean(self.N_samples['N_1'], self.t)
        self.results['m_s_s_N1'] += est.mean(self.N_samples['N_1'], self.t)**2
        self.results['m_s_Nq1'] += est.mean(self.N_samples['Nq_1'], self.t)
        self.results['m_s_s_Nq1'] += est.mean(self.N_samples['Nq_1'], self.t)**2
        self.results['m_s_T1'] += est.mean(s_wait_1, len(self.clients)) + est.mean(s_server_1, len(self.clients))
        self.results['m_s_s_T1'] += (est.mean(s_wait_1, len(self.clients)) + est.mean(s_server_1, len(self.clients)))**2
        self.results['m_s_W2'] += est.mean(s_wait_2, len(self.clients))
        self.results['m_s_s_W2'] += est.mean(s_wait_2, len(self.clients))**2
        self.results['v_s_W2'] += est.variance(s_wait_2, s_s_wait_2, len(self.clients))
        self.results['v_s_s_W2'] += est.variance(s_wait_2, s_s_wait_2, len(self.clients))**2
        self.results['m_s_N2'] += est.mean(self.N_samples['N_2'], self.t)
        self.results['m_s_s_N2'] += est.mean(self.N_samples['N_2'], self.t)**2
        self.results['m_s_Nq2'] += est.mean(self.N_samples['Nq_2'], self.t)
        self.results['m_s_s_Nq2'] += est.mean(self.N_samples['Nq_2'], self.t)**2
        self.results['m_s_T2'] += est.mean(s_wait_2, len(self.clients)) + est.mean(s_server_2, len(self.clients))
        self.results['m_s_s_T2'] += (est.mean(s_wait_2, len(self.clients)) + est.mean(s_server_2, len(self.clients)))**2
        self.init_sample()