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); } }
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); } }