Проблем протока са минималном ценом
Проблем протока са минималном ценом је оптимизациони проблем и проблем одлучивања како би се нашло најефтинији могући начин слања протока кроз транспортну мрежу. Решавање овог проблема је корисно за животне ситуације које садрже мреже са ценама (нпр. телекомуникационе мреже), као и за друге ситуације где аналогија није толико очигледна, на пример, где наћи стовариште.
Дефиниција
[уреди | уреди извор]Транспортна мрежа је оријентисани граф са изворном тачком и завршно тачком , где свака ивица има попусност , проток и цену (већина алгоритама минималне цене протока подржавају гране са негативним ценама). Цена слања оваквог протока је . Потребно је послати протока од до .
Дефиниција проблема је минимизирати укупну цену протока:
са овим ограничењима
Ограничење попусности: | |
Коса симетрија: | |
Чување тока: | |
Потребан проток: |
Релације са дргим проблемима
[уреди | уреди извор]Једна варијација овог проблема је да се нађе проток који је максималан, али има најмању цену међу максималним. Овај проблем би се могао назвати поблем максималног потока минималне цене. Ово је корисно за налажење минималне цене максималног упаривања.
Са неким решењима, налажење минималне цене максималног протока је дирекно. Ако није, може се урадити бинарна претрага по д.
Повезан проблем је проблем минимална цене циркулације, који може да се користи за решавање минималне цене протока. Ово се ради тако што се доња граница на свим гранама стави на нулу, а онда се додаје нова грана од чвора до чвора , са пропушношћу , Присиљавајући укупан проток од до да такође буде .
Проблем може бити специјализован у друга два проблема:
- Ако је ограничење пропустности избачено, проблем се своди на проблем најкраће путање.
- Ако се све цене поставе на нуле, проблем се своди на проблем максималног протока.
Решења
[уреди | уреди извор]Проблем минималне цене протока може бити решен коришћењем линеарног програмирања, пошто можемо да оптимизујемо линеарну функцију и сва ограничења су линеарна.
Осим тога постоји много комбинаторних алгоритама за опширнији.[1] Неки од њих су генерализације алгоритама максималног протока, други користе у потпуности другачије приступе решавању проблема.
Добро познати фундементални алгоритми (имају много варијација):
- Избацивање циклуса, генерално основни метод.[2]
- Избацивање минималних циклуса, једноставан строго полиномијални алгоритам. и Роберт Е. Тарјан (1989). Налажење циклуса минималне цене поништавањем негативних циклуса</ref>
- Узастопни најкраћи путеви, пропорционисање пропустности: дуалне методе, које се могу посматрати као генерализације Форд-фулкерсоновог алгоритма.[3]
- Пропорционисање цена, Основни дуални приступ који може бити посматран као генерализаија алгоритма push-relabel. Андерс В. Голдбург и Роберт Е. Тарјан (1990) Налажење циклуса минималне цене постепеном апроксимацијом</ref>
- Симплекс мреже: Специјализована верзија линеарног програмирања симплекс методе, која се извршава у полиномијалном времену.[4]
Референце
[уреди | уреди извор]- ^ Равиндра К. Ахуја,Томас Л. Магнанти, и Џејмс Б. Орлин(1993). Транспортне мреже:Теорија, Алгоритми и употребе.
- ^ Мортон Клеин (1967) основни алгоритам за минимлну цену протока са употребама за проблеме задатака и проблеме транспортације.
- ^ Џек Емондс и Ричард М. Карп (1972)Теоритичка побољшања у ефикасности алгоритама за транспортне мреже.
- ^ Џејмс Б. Орлин (1997). Симплекс алгоритам полиномијалног времена извршавања основне мреже за протоке минималне цене