コード例 #1
0
        internal GNA(GVA.TipoGenerador Tipo, uint semilla)
        {
            _tipo = Tipo;
            switch (_tipo)
            {
            case GVA.TipoGenerador.MarsagliaMWC:
            {
                _mwc     = new SimpleRNG();
                _semilla = semilla;
                break;
            }

            case GVA.TipoGenerador.RandomCS:
            {
                _r = new Random();
                break;
            }
            }
        }
コード例 #2
0
ファイル: SimPYME2.cs プロジェクト: grivadera/DynamoCGit
        private static void Inicializar()
        {
            Modelo.Crear("Simulador de Mediana Empresa", 1);
            ExpInf.Usotabla = Tabla.UsoTabla.Reloj;
            double[]          param = { ProductividadMedia, VariacionProdMedia };
            GVA.Distribucion  d     = GVA.Distribucion.Normal;
            GVA.TipoGenerador t     = GVA.TipoGenerador.MarsagliaMWC;
            GVA VAProductividad     = new GVA(d, param, t, 1);

            Inventario.EstablecerValorInicial(InventarioInicial);
            Inventario.UpdateFn       = () => Funciones.MAX(0, (Inventario.j + (Produccion.k - UnidadesVendidas.k) * Reloj.DT));
            Produccion.UpdateFn       = () => (VAProductividad.Generar());
            Demanda.UpdateFn          = () => (PromedioVtasMensuales * (PorcIncVend * CantVendedores) - (ExpInf.k) / 100f * FactorAfecInf * PromedioVtasMensuales);
            UnidadesVendidas.UpdateFn = () => Funciones.MIN(Demanda.k, Inventario.k);                                  //Unidades
            Ventas.UpdateFn           = () => (Precio * UnidadesVendidas.k);                                           //$
            CostoSalarios.UpdateFn    = () => (CantVendedores * SalarioPromedio);                                      //$
            GananciasNetas.UpdateFn   = () => (Ventas.k - (Ventas.k * PorcImpuestos));                                 //$
            CostosInventario.UpdateFn = () => (CostoInvPorUnidadAlmacenada * Inventario.k);                            //$
            CostosTotales.UpdateFn    = () => (CostoSalarios.k + CostosInventario.k);                                  //$
            Dinero.EstablecerValorInicial(DineroInicial);
            Dinero.UpdateFn = () => (Dinero.j + (GananciasNetas.k - CostoSalarios.k - CostosInventario.k) * Reloj.DT); //$
        }