Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Потоки в мережах

Реферат Потоки в мережах





проміжку [2; 200]): raquo ;;

while (n lt; 2 || n gt; 200)

{= Check (n);

if (n lt; 2) lt; lt; endl lt; lt; tНеправільно задано кількість вершин! Введене число менше 2! Raquo;

lt; lt; n t t t tПопробуйте ще раз! 2 n n raquo ;; (n gt; 200) lt; lt; endl lt; lt; tНеправільно задано кількість вершин! Введене число більше 200! Raquo;

lt; lt; n t t t tПопробуйте ще раз! 2 n n raquo ;;

} lt; int gt; vertex (n);=Valency (vertex); lt; vector lt; int gt; gt; graph (n); indexMax=FindMax (vertex, 1);=0; ( vertex (indexMax) gt; 0)

{ lt; int gt; temp=vertex; [indexMax]=0; (int i=0; i lt; graph (indexMax) .size (); i ++) {(int j= 0; j lt; temp.size (); j ++)

{(j == graph [indexMax] [i] || j == -graph [indexMax] [i])

{[j]=0 ;;

}

}

} tS=0;

for (int i=0; i lt; temp.size (); i ++)//перевірка, не порожній Чи темп

{(temp [i] == 0) ++;

} (tS == temp.size ())//якщо порожній то робимо кратні зв'язки

{= vertex; [indexMax]=0;

} indexDn=FindMax (temp, 0); (indexMax gt; indexDn) (indexMax, indexDn);(indexMax).push_back(indexDn);graph(indexDn).push_back(-indexMax);(indexMax)--;(indexDn)--;= FindMax (vertex, 1);} lt; vector lt; int gt; gt; graphMatr (n, vector lt; int gt; (n));

for (int i=0; i lt; graph.size (); i ++)//легко переробити в матрицю суміжності

{(int j=0; j lt; graph (i) .size (); j ++)

{l=rand ()% 2; (graph [i] [j] gt; 0) [i] [graph [i] [j]]=1;

} h=0; (int e=0; e lt; i; e ++) (graphMatr [e] [i])

{= 1 ;;

}

(i gt; 0 amp; amp;! h)

{= rand ()% i; [h] [i]=rand ()% 19 - 8;

}

} graphMatr;

}


Алгоритм пошуку потоку мінімальної вартості


Для знаходження мінімальної вартості заданого потоку слід скористатися наступним алгоритмом:

Знаходимо максимально можливий потік по теоремі Фалкерсона, за вихідний потік беремо 2/3 максимального потоку;

Знаходимо мінімальний шлях з витоку в сток мережі в матриці вартостей за допомогою алгоритму Беллмана-Форда, залежно від чисел в матриці ваг;

Пропускаємо по знайденому шляху максимальний можливий потік для цього шляху;

З ребер матриці пропускних спроможностей віднімаємо величину потоку, тобто встановлюємо залишкову пропускну спроможність цих ребер;

Для кожного обнуленням ребра в матриці пропускних спроможностей обнуляем ребро в матриці вартостей;

Якщо поточний пропущений потік менше заданого переходимо до кроку 1.

Реалізація алгоритму:

void pot_min_st (vector lt; vector lt; int gt; gt; propSpos, vector lt; vector lt; int gt; gt; price, vector lt; int gt; s, vector lt; int gt; t, int max)

{n=propSpos.size (), maxB=max ;; minPath, ti, tj, temp; temps, tempt; lt; vector lt; int gt; gt; rezult (n, vector lt; int gt; (n)); lt; vector lt; int gt; gt; priceEtalon (price); lt; int gt; minP; (max)

{= Deykstra (price, s [0], t [0]);=0;=0; (int i=0; i lt; s.size (); i ++) (int j=0; j lt; t.size (); j ++) (min (minPath, Deykstra (price, s [i], t [j]))!=minPath)

{= Deykstra (price, s [i], t [j]);=i;=j;

}=MakePath (price, minPath, s [ti], t [tj]);=propSpos [* minP.begin ()] [* ++ minP.begin ()]; (list lt ; int gt; :: iterator it=minP.begin (), jt=minP.begin (); it!=--minP.end (); it ++, jt=it)

{++; (min (propSpos [* it] [* jt], temp)!=temp)=propSpos [* it] [* jt];

} (temp gt; max) temp=max;

cout lt; lt; endl lt; lt; Пускаємо потік ( lt; lt; temp lt; lt; ) lt; lt; по шляху raquo ;;

ti=0; lt; int gt; :: iterator it; (it=minP.begin (); it!=minP.end (); it ++, ti ++)

{ lt; lt; * it + 1; (ti lt; minP.size () - 1)

cout lt; lt; - raquo ;;

}=0; lt; lt; laquo ;. Вартість даного потоку raquo ;;

for (list lt; int gt; :: iterator it=minP.begin (), jt=minP.begin (); it!=--minP.end (); ...


Назад | сторінка 3 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Просування бутіка розміру plus size на прикладі ТОВ &Атлант&, бутік &Elena ...
  • Реферат на тему: Модуль Graph в програмі Turbo Pascal
  • Реферат на тему: Системи, керовані потоком даних. Мова "Dataflow Graph Language" ...
  • Реферат на тему: Creation of control system by a personnel how to begin with a zero
  • Реферат на тему: Non-price Competition