Ejemplo n.º 1
0
        protected void Krok3(int nrBad, int V)
        {
            sigmaPrzyjmZgl sigmy = new sigmaPrzyjmZgl(aWiazka);

            sigmy.obliczSigmy();
            rAsSa3[] Q = new rAsSa3[aWiazka.m];
            for (int i = 0; i < aWiazka.m; i++)
            {
                Q[i] = new rAsSa3(P_minusI[i]);
                Q[i].Agreguj(p[i], sigmy, i);
                //Q[i].normalizacja();
                Q[i].przemnoz(aWiazka.ListaKlasRuchu[i].atProp);
            }
            Rozklad P = new Rozklad(Q[0]);

            for (int i = 1; i < aWiazka.m; i++)
            {
                P.dodaj(Q[i]);
            }
            P.normalizacja();
            foreach (trClass klasa in aWiazka.ListaKlasRuchu)
            {
                int    nrKlasy = aWiazka.ListaKlasRuchu.IndexOf(klasa);
                double E       = 0;
                //for (int n = aWiazka.V - klasa.t + 1; n <= aWiazka.V; n++)
                //    E += P[n];
                for (int n = 0; n <= aWiazka.V; n++)
                {
                    E += ((1 - sigmy[aWiazka.ListaKlasRuchu.IndexOf(klasa), n]) * P[n]);
                }
                wynikiAlg.UstawE(nrBad, klasa, E);
            }
        }
Ejemplo n.º 2
0
        protected override void Krok3(int nrBad)
        {
            rAsSa3[] Q = new rAsSa3[aWiazka.m];
            for (int i = 0; i < aWiazka.m; i++)
            {
                Q[i] = new rAsSa3(P_minusI[i]);
                Q[i].AgregujR(p[i]);
                Q[i].przemnoz(aWiazka.ListaKlasRuchu[i].at);
            }
            Rozklad P = new Rozklad(Q[0]);

            for (int i = 1; i < aWiazka.m; i++)
            {
                P.dodaj(Q[i]);
            }
            P.normalizacja();
            foreach (trClass klasa in aWiazka.ListaKlasRuchu)
            {
                double E         = 0;
                int    grBlokady = aWiazka.V - klasa.t + 1;
                if (aWiazka.AlgorytmRezerwacji != reservationAlgorithm.none)
                {
                    grBlokady = aWiazka.q + 1;
                }
                for (int n = grBlokady; n <= aWiazka.V; n++)
                {
                    E += P[n];
                }
                wynikiAlg.UstawE(nrBad, klasa, E);
            }
        }